Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   56 ?? push esi
   57 ?? push edi
   8b 7d 0c ?? mov edi, dword ss:[ebp + 12]
   85 c0 ?? test eax, eax
   74 71 ?? je basic block L16
  
  L2: 8b 30 ?? mov esi, dword ds:[eax]
   85 f6 ?? test esi, esi
   74 6b ?? je basic block L16
  
  L3: 81 3e 63 73 6d e0 ?? cmp dword ds:[esi], 0xe06d7363
   75 2f ?? jne basic block L11
  
  L4: 83 7e 10 03 ?? cmp dword ds:[esi + 0x10<16>], 3
   75 29 ?? jne basic block L11
  
  L5: 8b 46 14 ?? mov eax, dword ds:[esi + 0x14<20>]
   3d 20 05 93 19 ?? cmp eax, 0x19930520
   74 0e ?? je basic block L8
  
  L6: 3d 21 05 93 19 ?? cmp eax, 0x19930521
   74 07 ?? je basic block L8
  
  L7: 3d 22 05 93 19 ?? cmp eax, 0x19930522
   75 11 ?? jne basic block L11
  
  L8: 83 7e 1c 00 ?? cmp dword ds:[esi + 0x1c<28>], 0
   75 0b ?? jne basic block L11
  
  L9: e8 0e 12 00 00 ?? call function 0x0040376d
  
  L10: 8b b0 88 00 00 00 ?? mov esi, dword ds:[eax + 0x00000088<136>]
  
  L11: ff 76 18 ?? push dword ds:[esi + 0x18<24>]
   57 ?? push edi
   e8 bb f1 ff ff ?? call function 0x00401729
  
  L12: 59 ?? pop ecx
   59 ?? pop ecx
   e8 f8 11 00 00 ?? call function 0x0040376d
  
  L13: 8b 80 88 00 00 00 ?? mov eax, dword ds:[eax + 0x00000088<136>]
   89 47 08 ?? mov dword ds:[edi + 8], eax
   e8 ea 11 00 00 ?? call function 0x0040376d
  
  L14: 8b 80 8c 00 00 00 ?? mov eax, dword ds:[eax + 0x0000008c<140>]
   89 47 0c ?? mov dword ds:[edi + 12], eax
   e8 dc 11 00 00 ?? call function 0x0040376d
  
  L15: 89 b0 88 00 00 00 ?? mov dword ds:[eax + 0x00000088<136>], esi
   eb 08 ?? jmp basic block L17
  
  L16: 83 4f 08 ff ?? or dword ds:[edi + 8], 0xff<255,-1>
   83 4f 0c ff ?? or dword ds:[edi + 12], 0xff<255,-1>
  
  L17: e8 c7 11 00 00 ?? call function 0x0040376d
  
  L18: 05 90 00 00 00 ?? add eax, 0x00000090<144>
   ff 08 ?? dec dword ds:[eax]
   e8 bb 11 00 00 ?? call function 0x0040376d
  
  L19: 83 b8 90 00 00 00 00 ?? cmp dword ds:[eax + 0x00000090<144>], 0
   5f ?? pop edi
   5e ?? pop esi
   7d 0c ?? jge basic block L22
  
  L20: e8 ab 11 00 00 ?? call function 0x0040376d
  
  L21: 83 a0 90 00 00 00 00 ?? and dword ds:[eax + 0x00000090<144>], 0
  
  L22: 33 c0 ?? xor eax, eax
   40 ?? inc eax
   5d ?? pop ebp
   c3 ?? ret
  
  