Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   83 ec 10 ?? sub esp, 0x10<16>
   85 c0 ?? test eax, eax
   75 02 ?? jne basic block L3
  
  L2: c9 ?? leave
   c3 ?? ret
  
  L3: 53 ?? push ebx
   8b 5d 10 ?? mov ebx, dword ss:[ebp + 0x10<16>]
   56 ?? push esi
   8b 30 ?? mov esi, dword ds:[eax]
   57 ?? push edi
   8b 7d 0c ?? mov edi, dword ss:[ebp + 12]
   85 ff ?? test edi, edi
   74 06 ?? je basic block L5
  
  L4: 80 7f 08 00 ?? cmp byte ds:[edi + 8], 0
   75 16 ?? jne basic block L7
  
  L5: 8b 06 ?? mov eax, dword ds:[esi]
   3d 4d 4f 43 e0 ?? cmp eax, 0xe0434f4d
   0f 84 c1 00 00 00 ?? je basic block L27
  
  L6: f6 c3 40 ?? test bl, 0x40<64>
   0f 84 b8 00 00 00 ?? je basic block L27
  
  L7: 81 3e 63 73 6d e0 ?? cmp dword ds:[esi], 0xe06d7363
   0f 85 e5 00 00 00 ?? jne basic block L35
  
  L8: 83 7e 10 03 ?? cmp dword ds:[esi + 0x10<16>], 3
   0f 85 db 00 00 00 ?? jne basic block L35
  
  L9: 8b 46 14 ?? mov eax, dword ds:[esi + 0x14<20>]
   3d 20 05 93 19 ?? cmp eax, 0x19930520
   74 12 ?? je basic block L12
  
  L10: 3d 21 05 93 19 ?? cmp eax, 0x19930521
   74 0b ?? je basic block L12
  
  L11: 3d 22 05 93 19 ?? cmp eax, 0x19930522
   0f 85 bf 00 00 00 ?? jne basic block L35
  
  L12: 83 7e 1c 00 ?? cmp dword ds:[esi + 0x1c<28>], 0
   75 1d ?? jne basic block L17
  
  L13: e8 96 09 00 00 ?? call function 0x00403679
  
  L14: 83 b8 88 00 00 00 00 ?? cmp dword ds:[eax + 0x00000088<136>], 0
   0f 84 a7 00 00 00 ?? je basic block L35
  
  L15: e8 84 09 00 00 ?? call function 0x00403679
  
  L16: 8b b0 88 00 00 00 ?? mov esi, dword ds:[eax + 0x00000088<136>]
  
  L17: 8b 46 1c ?? mov eax, dword ds:[esi + 0x1c<28>]
   8b 40 0c ?? mov eax, dword ds:[eax + 12]
   81 cb 00 00 00 80 ?? or ebx, 0x80000000
   89 7d f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], edi
   8b 38 ?? mov edi, dword ds:[eax]
   89 5d f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], ebx
   8d 58 04 ?? lea ebx, ds:[eax + 4]
   eb 1d ?? jmp basic block L21
  
  L18: 8b 03 ?? mov eax, dword ds:[ebx]
   ff 76 1c ?? push dword ds:[esi + 0x1c<28>]
   89 45 08 ?? mov dword ss:[ebp + 8], eax
   50 ?? push eax
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   50 ?? push eax
   e8 9e f4 ff ff ?? call function 0x004021c4
  
  L19: 83 c4 0c ?? add esp, 12
   85 c0 ?? test eax, eax
   75 0a ?? jne basic block L23
  
  L20: 4f ?? dec edi
   83 c3 04 ?? add ebx, 4
  
  L21: 85 ff ?? test edi, edi
   7f df ?? jg basic block L18
  
  L22: eb 60 ?? jmp basic block L35
  
  L23: e8 3d 09 00 00 ?? call function 0x00403679
  
  L24: 05 90 00 00 00 ?? add eax, 0x00000090<144>
   ff 00 ?? inc dword ds:[eax]
   83 7d 14 00 ?? cmp dword ss:[ebp + 0x14<20>], 0
   74 5e ?? je basic block L38
  
  L25: ff 75 08 ?? push dword ss:[ebp + 8]
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   50 ?? push eax
   ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
   56 ?? push esi
   e8 7f fe ff ff ?? call function 0x00402bd8
  
  L26: 83 c4 10 ?? add esp, 0x10<16>
   eb 49 ?? jmp basic block L38
  
  L27: 3d 63 73 6d e0 ?? cmp eax, 0xe06d7363
   75 36 ?? jne basic block L36
  
  L28: 83 7e 10 03 ?? cmp dword ds:[esi + 0x10<16>], 3
   75 30 ?? jne basic block L36
  
  L29: 8b 46 14 ?? mov eax, dword ds:[esi + 0x14<20>]
   3d 20 05 93 19 ?? cmp eax, 0x19930520
   74 0e ?? je basic block L32
  
  L30: 3d 21 05 93 19 ?? cmp eax, 0x19930521
   74 07 ?? je basic block L32
  
  L31: 3d 22 05 93 19 ?? cmp eax, 0x19930522
   75 18 ?? jne basic block L36
  
  L32: 83 7e 1c 00 ?? cmp dword ds:[esi + 0x1c<28>], 0
   75 12 ?? jne basic block L36
  
  L33: e8 eb 08 00 00 ?? call function 0x00403679
  
  L34: 83 b8 88 00 00 00 00 ?? cmp dword ds:[eax + 0x00000088<136>], 0
   75 04 ?? jne basic block L36
  
  L35: 33 c0 ?? xor eax, eax
   eb 0f ?? jmp basic block L39
  
  L36: e8 d9 08 00 00 ?? call function 0x00403679
  
  L37: 05 90 00 00 00 ?? add eax, 0x00000090<144>
   ff 00 ?? inc dword ds:[eax]
  
  L38: 33 c0 ?? xor eax, eax
   40 ?? inc eax
  
  L39: 5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  