Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 10 ?? sub esp, 0x10<16>
   0f b7 48 42 ?? movzx ecx, word ds:[eax + 0x42<66>]
   0f b7 50 44 ?? movzx edx, word ds:[eax + 0x44<68>]
   89 4d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], ecx
   89 55 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], edx
   85 f6 ?? test esi, esi
   75 05 ?? jne basic block L3
  
  L2: 83 c8 ff ?? or eax, 0xff<255,-1>
   c9 ?? leave
   c3 ?? ret
  
  L3: 83 65 f4 00 ?? and dword ss:[ebp + 0xf4<244,-12>], 0
   53 ?? push ebx
   57 ?? push edi
   89 45 f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], eax
   8d 46 04 ?? lea eax, ds:[esi + 4]
   50 ?? push eax
   6a 31 ?? push 0x31<49>
   51 ?? push ecx
   33 db ?? xor ebx, ebx
   43 ?? inc ebx
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 85 ae ff ff ?? call function 0x00409810
  
  L4: 8b f8 ?? mov edi, eax
   8d 46 08 ?? lea eax, ds:[esi + 8]
   50 ?? push eax
   6a 32 ?? push 0x32<50>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 70 ae ff ff ?? call function 0x00409810
  
  L5: 0b f8 ?? or edi, eax
   8d 46 0c ?? lea eax, ds:[esi + 12]
   50 ?? push eax
   6a 33 ?? push 0x33<51>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 5b ae ff ff ?? call function 0x00409810
  
  L6: 0b f8 ?? or edi, eax
   8d 46 10 ?? lea eax, ds:[esi + 0x10<16>]
   50 ?? push eax
   6a 34 ?? push 0x34<52>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 46 ae ff ff ?? call function 0x00409810
  
  L7: 83 c4 50 ?? add esp, 0x50<80>
   0b f8 ?? or edi, eax
   8d 46 14 ?? lea eax, ds:[esi + 0x14<20>]
   50 ?? push eax
   6a 35 ?? push 0x35<53>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 2e ae ff ff ?? call function 0x00409810
  
  L8: 0b f8 ?? or edi, eax
   8d 46 18 ?? lea eax, ds:[esi + 0x18<24>]
   50 ?? push eax
   6a 36 ?? push 0x36<54>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 19 ae ff ff ?? call function 0x00409810
  
  L9: 56 ?? push esi
   6a 37 ?? push 0x37<55>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   0b f8 ?? or edi, eax
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 07 ae ff ff ?? call function 0x00409810
  
  L10: 0b f8 ?? or edi, eax
   8d 46 20 ?? lea eax, ds:[esi + 0x20<32>]
   50 ?? push eax
   6a 2a ?? push 0x2a<42>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 f2 ad ff ff ?? call function 0x00409810
  
  L11: 83 c4 50 ?? add esp, 0x50<80>
   0b f8 ?? or edi, eax
   8d 46 24 ?? lea eax, ds:[esi + 0x24<36>]
   50 ?? push eax
   6a 2b ?? push 0x2b<43>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 da ad ff ff ?? call function 0x00409810
  
  L12: 0b f8 ?? or edi, eax
   8d 46 28 ?? lea eax, ds:[esi + 0x28<40>]
   50 ?? push eax
   6a 2c ?? push 0x2c<44>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 c5 ad ff ff ?? call function 0x00409810
  
  L13: 0b f8 ?? or edi, eax
   8d 46 2c ?? lea eax, ds:[esi + 0x2c<44>]
   50 ?? push eax
   6a 2d ?? push 0x2d<45>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 b0 ad ff ff ?? call function 0x00409810
  
  L14: 0b f8 ?? or edi, eax
   8d 46 30 ?? lea eax, ds:[esi + 0x30<48>]
   50 ?? push eax
   6a 2e ?? push 0x2e<46>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 9b ad ff ff ?? call function 0x00409810
  
  L15: 83 c4 50 ?? add esp, 0x50<80>
   0b f8 ?? or edi, eax
   8d 46 34 ?? lea eax, ds:[esi + 0x34<52>]
   50 ?? push eax
   6a 2f ?? push 0x2f<47>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 83 ad ff ff ?? call function 0x00409810
  
  L16: 0b f8 ?? or edi, eax
   8d 46 1c ?? lea eax, ds:[esi + 0x1c<28>]
   50 ?? push eax
   6a 30 ?? push 0x30<48>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 6e ad ff ff ?? call function 0x00409810
  
  L17: 0b f8 ?? or edi, eax
   8d 46 38 ?? lea eax, ds:[esi + 0x38<56>]
   50 ?? push eax
   6a 44 ?? push 0x44<68>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 59 ad ff ff ?? call function 0x00409810
  
  L18: 0b f8 ?? or edi, eax
   8d 46 3c ?? lea eax, ds:[esi + 0x3c<60>]
   50 ?? push eax
   6a 45 ?? push 0x45<69>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 44 ad ff ff ?? call function 0x00409810
  
  L19: 83 c4 50 ?? add esp, 0x50<80>
   0b f8 ?? or edi, eax
   8d 46 40 ?? lea eax, ds:[esi + 0x40<64>]
   50 ?? push eax
   6a 46 ?? push 0x46<70>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 2c ad ff ff ?? call function 0x00409810
  
  L20: 0b f8 ?? or edi, eax
   8d 46 44 ?? lea eax, ds:[esi + 0x44<68>]
   50 ?? push eax
   6a 47 ?? push 0x47<71>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 17 ad ff ff ?? call function 0x00409810
  
  L21: 0b f8 ?? or edi, eax
   8d 46 48 ?? lea eax, ds:[esi + 0x48<72>]
   50 ?? push eax
   6a 48 ?? push 0x48<72>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 02 ad ff ff ?? call function 0x00409810
  
  L22: 0b f8 ?? or edi, eax
   8d 46 4c ?? lea eax, ds:[esi + 0x4c<76>]
   50 ?? push eax
   6a 49 ?? push 0x49<73>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 ed ac ff ff ?? call function 0x00409810
  
  L23: 83 c4 50 ?? add esp, 0x50<80>
   0b f8 ?? or edi, eax
   8d 46 50 ?? lea eax, ds:[esi + 0x50<80>]
   50 ?? push eax
   6a 4a ?? push 0x4a<74>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 d5 ac ff ff ?? call function 0x00409810
  
  L24: 0b f8 ?? or edi, eax
   8d 46 54 ?? lea eax, ds:[esi + 0x54<84>]
   50 ?? push eax
   6a 4b ?? push 0x4b<75>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 c0 ac ff ff ?? call function 0x00409810
  
  L25: 0b f8 ?? or edi, eax
   8d 46 58 ?? lea eax, ds:[esi + 0x58<88>]
   50 ?? push eax
   6a 4c ?? push 0x4c<76>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 ab ac ff ff ?? call function 0x00409810
  
  L26: 0b f8 ?? or edi, eax
   8d 46 5c ?? lea eax, ds:[esi + 0x5c<92>]
   50 ?? push eax
   6a 4d ?? push 0x4d<77>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 96 ac ff ff ?? call function 0x00409810
  
  L27: 83 c4 50 ?? add esp, 0x50<80>
   0b f8 ?? or edi, eax
   8d 46 60 ?? lea eax, ds:[esi + 0x60<96>]
   50 ?? push eax
   6a 4e ?? push 0x4e<78>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 7e ac ff ff ?? call function 0x00409810
  
  L28: 0b f8 ?? or edi, eax
   8d 46 64 ?? lea eax, ds:[esi + 0x64<100>]
   50 ?? push eax
   6a 4f ?? push 0x4f<79>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 69 ac ff ff ?? call function 0x00409810
  
  L29: 0b f8 ?? or edi, eax
   8d 46 68 ?? lea eax, ds:[esi + 0x68<104>]
   50 ?? push eax
   6a 38 ?? push 0x38<56>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 54 ac ff ff ?? call function 0x00409810
  
  L30: 0b f8 ?? or edi, eax
   8d 46 6c ?? lea eax, ds:[esi + 0x6c<108>]
   50 ?? push eax
   6a 39 ?? push 0x39<57>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 3f ac ff ff ?? call function 0x00409810
  
  L31: 83 c4 50 ?? add esp, 0x50<80>
   0b f8 ?? or edi, eax
   8d 46 70 ?? lea eax, ds:[esi + 0x70<112>]
   50 ?? push eax
   6a 3a ?? push 0x3a<58>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 27 ac ff ff ?? call function 0x00409810
  
  L32: 0b f8 ?? or edi, eax
   8d 46 74 ?? lea eax, ds:[esi + 0x74<116>]
   50 ?? push eax
   6a 3b ?? push 0x3b<59>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 12 ac ff ff ?? call function 0x00409810
  
  L33: 0b f8 ?? or edi, eax
   8d 46 78 ?? lea eax, ds:[esi + 0x78<120>]
   50 ?? push eax
   6a 3c ?? push 0x3c<60>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 fd ab ff ff ?? call function 0x00409810
  
  L34: 0b f8 ?? or edi, eax
   8d 46 7c ?? lea eax, ds:[esi + 0x7c<124>]
   50 ?? push eax
   6a 3d ?? push 0x3d<61>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 e8 ab ff ff ?? call function 0x00409810
  
  L35: 83 c4 50 ?? add esp, 0x50<80>
   0b f8 ?? or edi, eax
   8d 86 80 00 00 00 ?? lea eax, ds:[esi + 0x00000080<128>]
   50 ?? push eax
   6a 3e ?? push 0x3e<62>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 cd ab ff ff ?? call function 0x00409810
  
  L36: 0b f8 ?? or edi, eax
   8d 86 84 00 00 00 ?? lea eax, ds:[esi + 0x00000084<132>]
   50 ?? push eax
   6a 3f ?? push 0x3f<63>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 b5 ab ff ff ?? call function 0x00409810
  
  L37: 0b f8 ?? or edi, eax
   8d 86 88 00 00 00 ?? lea eax, ds:[esi + 0x00000088<136>]
   50 ?? push eax
   6a 40 ?? push 0x40<64>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   53 ?? push ebx
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   50 ?? push eax
   e8 9d ab ff ff ?? call function 0x00409810
  
  L38: 0b f8 ?? or edi, eax
   8d 86 8c 00 00 00 ?? lea eax, ds:[esi + 0x0000008c<140>]
   50 ?? push eax
   6a 41 ?? push 0x41<65>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 85 ab ff ff ?? call function 0x00409810
  
  L39: 83 c4 50 ?? add esp, 0x50<80>
   0b f8 ?? or edi, eax
   8d 86 90 00 00 00 ?? lea eax, ds:[esi + 0x00000090<144>]
   50 ?? push eax
   6a 42 ?? push 0x42<66>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 6a ab ff ff ?? call function 0x00409810
  
  L40: 0b f8 ?? or edi, eax
   8d 86 94 00 00 00 ?? lea eax, ds:[esi + 0x00000094<148>]
   50 ?? push eax
   6a 43 ?? push 0x43<67>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 52 ab ff ff ?? call function 0x00409810
  
  L41: 0b f8 ?? or edi, eax
   8d 86 98 00 00 00 ?? lea eax, ds:[esi + 0x00000098<152>]
   50 ?? push eax
   6a 28 ?? push 0x28<40>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 3a ab ff ff ?? call function 0x00409810
  
  L42: 0b f8 ?? or edi, eax
   8d 86 9c 00 00 00 ?? lea eax, ds:[esi + 0x0000009c<156>]
   50 ?? push eax
   6a 29 ?? push 0x29<41>
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 22 ab ff ff ?? call function 0x00409810
  
  L43: 83 c4 50 ?? add esp, 0x50<80>
   0b f8 ?? or edi, eax
   8d 86 a0 00 00 00 ?? lea eax, ds:[esi + 0x000000a0<160>]
   50 ?? push eax
   6a 1f ?? push 0x1f<31>
   ff 75 f8 ?? push dword ss:[ebp + 0xf8<248,-8>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 07 ab ff ff ?? call function 0x00409810
  
  L44: 0b f8 ?? or edi, eax
   8d 86 a4 00 00 00 ?? lea eax, ds:[esi + 0x000000a4<164>]
   50 ?? push eax
   6a 20 ?? push 0x20<32>
   ff 75 f8 ?? push dword ss:[ebp + 0xf8<248,-8>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 ef aa ff ff ?? call function 0x00409810
  
  L45: 0b f8 ?? or edi, eax
   8d 86 a8 00 00 00 ?? lea eax, ds:[esi + 0x000000a8<168>]
   50 ?? push eax
   68 03 10 00 00 ?? push 0x00001003<4099>
   ff 75 f8 ?? push dword ss:[ebp + 0xf8<248,-8>]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   53 ?? push ebx
   50 ?? push eax
   e8 d4 aa ff ff ?? call function 0x00409810
  
  L46: 0b f8 ?? or edi, eax
   8d 86 b0 00 00 00 ?? lea eax, ds:[esi + 0x000000b0<176>]
   50 ?? push eax
   68 09 10 00 00 ?? push 0x00001009<4105>
   8b 5d f8 ?? mov ebx, dword ss:[ebp + 0xf8<248,-8>]
   53 ?? push ebx
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   6a 00 ?? push 0
   50 ?? push eax
   e8 b7 aa ff ff ?? call function 0x00409810
  
  L47: 83 c4 50 ?? add esp, 0x50<80>
   0b f8 ?? or edi, eax
   8b c7 ?? mov eax, edi
   5f ?? pop edi
   89 9e ac 00 00 00 ?? mov dword ds:[esi + 0x000000ac<172>], ebx
   5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  