
L1: 55 ?? push ebp
 8b ec ?? mov ebp, esp
 8b 45 14 ?? mov eax, dword ss:[ebp + 0x14<20>]
 83 ec 4c ?? sub esp, 0x4c<76>
 33 c9 ?? xor ecx, ecx
 c7 00 00 00 00 00 ?? mov dword ds:[eax], 0
 8b 45 0c ?? mov eax, dword ss:[ebp + 12]
 56 ?? push esi
 8b 75 08 ?? mov esi, dword ss:[ebp + 8]
 6a 1c ?? push 0x1c<28>
 66 89 08 ?? mov word ds:[eax], cx
 4e ?? dec esi
 8d 45 b4 ?? lea eax, ss:[ebp + 0xb4<180,-76>]
 50 ?? push eax
 56 ?? push esi
 ff 15 14 60 40 00 ?? call dword ds:[0x00406014]

L2: 85 c0 ?? test eax, eax
 75 07 ?? jne basic block L4

L3: 33 c0 ?? xor eax, eax
 5e ?? pop esi
 8b e5 ?? mov esp, ebp
 5d ?? pop ebp
 c3 ?? ret

L4: ff 75 1c ?? push dword ss:[ebp + 0x1c<28>]
 ff 75 18 ?? push dword ss:[ebp + 0x18<24>]
 ff 75 b8 ?? push dword ss:[ebp + 0xb8<184,-72>]
 e8 10 03 00 00 ?? call function 0x00405b22

L5: 83 c4 0c ?? add esp, 12
 85 c0 ?? test eax, eax
 74 e4 ?? je basic block L3

L6: 8b 4d b8 ?? mov ecx, dword ss:[ebp + 0xb8<184,-72>]
 b8 4d 5a 00 00 ?? mov eax, 0x00005a4d<23117>
 66 39 01 ?? cmp word ds:[ecx], ax
 75 d7 ?? jne basic block L3

L7: 8b 41 3c ?? mov eax, dword ds:[ecx + 0x3c<60>]
 85 c0 ?? test eax, eax
 7e d0 ?? jle basic block L3

L8: 81 3c 08 50 45 00 00 ?? cmp dword ds:[eax + ecx], 0x00004550<17744>
 8d 14 08 ?? lea edx, ds:[eax + ecx]
 75 c4 ?? jne basic block L3

L9: 0f b7 42 14 ?? movzx eax, word ds:[edx + 0x14<20>]
 2b f1 ?? sub esi, ecx
 53 ?? push ebx
 57 ?? push edi
 0f b7 7a 06 ?? movzx edi, word ds:[edx + 6]
 33 db ?? xor ebx, ebx
 03 d0 ?? add edx, eax
 33 c0 ?? xor eax, eax
 85 ff ?? test edi, edi
 74 1a ?? je basic block L14

L10: 8d 4a 24 ?? lea ecx, ds:[edx + 0x24<36>]

L11: 8b 11 ?? mov edx, dword ds:[ecx]
 3b f2 ?? cmp esi, edx
 72 09 ?? jb basic block L13

L12: 8b de ?? mov ebx, esi
 2b da ?? sub ebx, edx
 3b 71 fc ?? cmp esi, dword ds:[ecx + 0xfc<252,-4>]
 72 08 ?? jb basic block L14

L13: 40 ?? inc eax
 83 c1 28 ?? add ecx, 0x28<40>
 3b c7 ?? cmp eax, edi
 72 e9 ?? jb basic block L11

L14: 3b c7 ?? cmp eax, edi
 74 69 ?? je basic block L26

L15: 40 ?? inc eax
 80 3d 21 84 40 00 00 ?? cmp byte ds:[0x00408421], 0
 89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
 75 20 ?? jne basic block L20

L16: 83 3d 1c 84 40 00 00 ?? cmp dword ds:[0x0040841c], 0
 75 53 ?? jne basic block L26

L17: e8 b8 fa ff ff ?? call function 0x00405340

L18: a3 1c 84 40 00 ?? mov dword ds:[0x0040841c], eax
 85 c0 ?? test eax, eax
 74 45 ?? je basic block L26

L19: c6 05 21 84 40 00 01 ?? mov byte ds:[0x00408421], 1
 eb 05 ?? jmp basic block L21

L20: a1 1c 84 40 00 ?? mov eax, dword ds:[0x0040841c]

L21: 68 5c 6f 40 00 ?? push 0x00406f5c<"PDBOpenValidate5">
 50 ?? push eax
 ff 15 00 60 40 00 ?? call dword ds:[0x00406000]

L22: 8b f0 ?? mov esi, eax
 85 f6 ?? test esi, esi
 74 25 ?? je basic block L26

L23: 8d 45 e8 ?? lea eax, ss:[ebp + 0xe8<232,-24>]
 8b ce ?? mov ecx, esi
 50 ?? push eax
 6a 00 ?? push 0
 6a 00 ?? push 0
 8d 45 d0 ?? lea eax, ss:[ebp + 0xd0<208,-48>]
 50 ?? push eax
 6a 00 ?? push 0
 6a 00 ?? push 0
 6a 00 ?? push 0
 ff 75 18 ?? push dword ss:[ebp + 0x18<24>]
 e8 b3 d9 ff ff ?? call function 0x00403280

L24: ff d6 ?? call esi

L25: 83 c4 20 ?? add esp, 0x20<32>
 85 c0 ?? test eax, eax
 75 09 ?? jne basic block L27

L26: 5f ?? pop edi
 5b ?? pop ebx
 33 c0 ?? xor eax, eax
 5e ?? pop esi
 8b e5 ?? mov esp, ebp
 5d ?? pop ebp
 c3 ?? ret

L27: 8b 7d e8 ?? mov edi, dword ss:[ebp + 0xe8<232,-24>]
 c7 45 dc 00 00 00 00 ?? mov dword ss:[ebp + 0xdc<220,-36>], 0
 8b 07 ?? mov eax, dword ds:[edi]
 8b 30 ?? mov esi, dword ds:[eax]
 8b ce ?? mov ecx, esi
 e8 8c d9 ff ff ?? call function 0x00403280

L28: 8b cf ?? mov ecx, edi
 ff d6 ?? call esi

L29: 3d 41 91 32 01 ?? cmp eax, 0x01329141
 0f 85 42 01 00 00 ?? jne basic block L62

L30: 8b 7d e8 ?? mov edi, dword ss:[ebp + 0xe8<232,-24>]
 8d 4d e0 ?? lea ecx, ss:[ebp + 0xe0<224,-32>]
 51 ?? push ecx
 68 70 6f 40 00 ?? push 0x00406f70<"r">
 6a 00 ?? push 0
 8b 07 ?? mov eax, dword ds:[edi]
 8b 70 1c ?? mov esi, dword ds:[eax + 0x1c<28>]
 8b ce ?? mov ecx, esi
 e8 63 d9 ff ff ?? call function 0x00403280

L31: 8b cf ?? mov ecx, edi
 ff d6 ?? call esi

L32: 85 c0 ?? test eax, eax
 0f 84 1c 01 00 00 ?? je basic block L62

L33: 8b 7d e0 ?? mov edi, dword ss:[ebp + 0xe0<224,-32>]
 8d 45 ec ?? lea eax, ss:[ebp + 0xec<236,-20>]
 6a 00 ?? push 0
 6a 00 ?? push 0
 6a 00 ?? push 0
 8b 37 ?? mov esi, dword ds:[edi]
 50 ?? push eax
 53 ?? push ebx
 ff 75 f4 ?? push dword ss:[ebp + 0xf4<244,-12>]
 8b 76 20 ?? mov esi, dword ds:[esi + 0x20<32>]
 8b ce ?? mov ecx, esi
 e8 3a d9 ff ff ?? call function 0x00403280

L34: 8b cf ?? mov ecx, edi
 ff d6 ?? call esi

L35: 85 c0 ?? test eax, eax
 0f 84 e0 00 00 00 ?? je basic block L60

L36: 8b 7d ec ?? mov edi, dword ss:[ebp + 0xec<236,-20>]
 8d 4d f8 ?? lea ecx, ss:[ebp + 0xf8<248,-8>]
 c7 45 f8 00 00 00 00 ?? mov dword ss:[ebp + 0xf8<248,-8>], 0
 51 ?? push ecx
 8b 07 ?? mov eax, dword ds:[edi]
 8b 70 68 ?? mov esi, dword ds:[eax + 0x68<104>]
 8b ce ?? mov ecx, esi
 e8 14 d9 ff ff ?? call function 0x00403280

L37: 8b cf ?? mov ecx, edi
 ff d6 ?? call esi

L38: 84 c0 ?? test al, al
 0f 84 a7 00 00 00 ?? je basic block L58

L39: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
 85 c0 ?? test eax, eax
 0f 84 9c 00 00 00 ?? je basic block L58

L40: 8b 00 ?? mov eax, dword ds:[eax]
 33 ff ?? xor edi, edi
 8b 70 08 ?? mov esi, dword ds:[eax + 8]
 8b ce ?? mov ecx, esi
 e8 ef d8 ff ff ?? call function 0x00403280

L41: 8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]
 ff d6 ?? call esi

L42: 85 c0 ?? test eax, eax
 74 63 ?? je basic block L54

L43: 8d 9b 00 00 00 00 ?? lea ebx, ds:[ebx + 0]

L44: 8b 7d f8 ?? mov edi, dword ss:[ebp + 0xf8<248,-8>]
 8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
 6a 00 ?? push 0
 50 ?? push eax
 8d 45 d8 ?? lea eax, ss:[ebp + 0xd8<216,-40>]
 8b 37 ?? mov esi, dword ds:[edi]
 50 ?? push eax
 8d 45 fc ?? lea eax, ss:[ebp + 0xfc<252,-4>]
 50 ?? push eax
 8b 76 0c ?? mov esi, dword ds:[esi + 12]
 8d 45 e4 ?? lea eax, ss:[ebp + 0xe4<228,-28>]
 50 ?? push eax
 6a 00 ?? push 0
 8b ce ?? mov ecx, esi
 e8 bd d8 ff ff ?? call function 0x00403280

L45: 8b cf ?? mov ecx, edi
 ff d6 ?? call esi

L46: 84 c0 ?? test al, al
 74 42 ?? je basic block L56

L47: 0f b7 45 fc ?? movzx eax, word ss:[ebp + 0xfc<252,-4>]
 3b 45 f4 ?? cmp eax, dword ss:[ebp + 0xf4<244,-12>]
 75 10 ?? jne basic block L50

L48: 8b 4d e4 ?? mov ecx, dword ss:[ebp + 0xe4<228,-28>]
 3b cb ?? cmp ecx, ebx
 77 09 ?? ja basic block L50

L49: 8b 45 d8 ?? mov eax, dword ss:[ebp + 0xd8<216,-40>]
 03 c1 ?? add eax, ecx
 3b d8 ?? cmp ebx, eax
 72 7e ?? jb basic block L65

L50: 8b 7d f8 ?? mov edi, dword ss:[ebp + 0xf8<248,-8>]
 8b 07 ?? mov eax, dword ds:[edi]
 8b 70 08 ?? mov esi, dword ds:[eax + 8]
 8b ce ?? mov ecx, esi
 e8 8d d8 ff ff ?? call function 0x00403280

L51: 8b cf ?? mov ecx, edi
 ff d6 ?? call esi

L52: 85 c0 ?? test eax, eax
 75 a5 ?? jne basic block L44

L53: 33 ff ?? xor edi, edi

L54: 57 ?? push edi
 6a 00 ?? push 0
 ff 15 18 60 40 00 ?? call dword ds:[0x00406018]

L55: 50 ?? push eax
 ff 15 1c 60 40 00 ?? call dword ds:[0x0040601c]

L56: 8b 7d f8 ?? mov edi, dword ss:[ebp + 0xf8<248,-8>]
 8b 07 ?? mov eax, dword ds:[edi]
 8b 30 ?? mov esi, dword ds:[eax]
 8b ce ?? mov ecx, esi
 e8 65 d8 ff ff ?? call function 0x00403280

L57: 8b cf ?? mov ecx, edi
 ff d6 ?? call esi

L58: 8b 7d ec ?? mov edi, dword ss:[ebp + 0xec<236,-20>]
 8b 07 ?? mov eax, dword ds:[edi]
 8b 70 40 ?? mov esi, dword ds:[eax + 0x40<64>]
 8b ce ?? mov ecx, esi
 e8 52 d8 ff ff ?? call function 0x00403280

L59: 8b cf ?? mov ecx, edi
 ff d6 ?? call esi

L60: 8b 7d e0 ?? mov edi, dword ss:[ebp + 0xe0<224,-32>]
 8b 07 ?? mov eax, dword ds:[edi]
 8b 70 38 ?? mov esi, dword ds:[eax + 0x38<56>]
 8b ce ?? mov ecx, esi
 e8 3f d8 ff ff ?? call function 0x00403280

L61: 8b cf ?? mov ecx, edi
 ff d6 ?? call esi

L62: 8b 7d e8 ?? mov edi, dword ss:[ebp + 0xe8<232,-24>]
 8b 17 ?? mov edx, dword ds:[edi]
 8b 72 2c ?? mov esi, dword ds:[edx + 0x2c<44>]
 8b ce ?? mov ecx, esi
 e8 2c d8 ff ff ?? call function 0x00403280

L63: 8b cf ?? mov ecx, edi
 ff d6 ?? call esi

L64: 8b 45 dc ?? mov eax, dword ss:[ebp + 0xdc<220,-36>]
 5f ?? pop edi
 5b ?? pop ebx
 5e ?? pop esi
 8b e5 ?? mov esp, ebp
 5d ?? pop ebp
 c3 ?? ret

L65: 8b 45 f0 ?? mov eax, dword ss:[ebp + 0xf0<240,-16>]
 85 c0 ?? test eax, eax
 74 a4 ?? je basic block L56

L66: 3d ff ff ff 1f ?? cmp eax, 0x1fffffff
 73 9d ?? jae basic block L56

L67: c1 e0 03 ?? shl eax, 3
 50 ?? push eax
 6a 00 ?? push 0
 ff 15 18 60 40 00 ?? call dword ds:[0x00406018]

L68: 50 ?? push eax
 ff 15 20 60 40 00 ?? call dword ds:[0x00406020]

L69: 89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
 85 c0 ?? test eax, eax
 74 83 ?? je basic block L56

L70: 8b 7d f8 ?? mov edi, dword ss:[ebp + 0xf8<248,-8>]
 50 ?? push eax
 8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
 50 ?? push eax
 8b 37 ?? mov esi, dword ds:[edi]
 8d 45 d4 ?? lea eax, ss:[ebp + 0xd4<212,-44>]
 6a 00 ?? push 0
 6a 00 ?? push 0
 6a 00 ?? push 0
 8b 76 0c ?? mov esi, dword ds:[esi + 12]
 8b ce ?? mov ecx, esi
 50 ?? push eax
 e8 d8 d7 ff ff ?? call function 0x00403280

L71: 8b cf ?? mov ecx, edi
 ff d6 ?? call esi

L72: 8b 7d f4 ?? mov edi, dword ss:[ebp + 0xf4<244,-12>]
 84 c0 ?? test al, al
 0f 84 46 ff ff ff ?? je basic block L54

L73: 2b 5d e4 ?? sub ebx, dword ss:[ebp + 0xe4<228,-28>]
 3b 1f ?? cmp ebx, dword ds:[edi]
 0f 82 3b ff ff ff ?? jb basic block L54

L74: 8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
 b8 01 00 00 00 ?? mov eax, 1
 3b c8 ?? cmp ecx, eax
 76 0c ?? jbe basic block L78

L75: 8b ff ?? mov edi, edi

L76: 3b 1c c7 ?? cmp ebx, dword ds:[edi + eax * 8]
 72 05 ?? jb basic block L78

L77: 40 ?? inc eax
 3b c1 ?? cmp eax, ecx
 72 f6 ?? jb basic block L76

L78: 8b 44 c7 fc ?? mov eax, dword ds:[edi + eax * 8 + 0xfc<252,-4>]
 8b 4d 14 ?? mov ecx, dword ss:[ebp + 0x14<20>]
 25 ff ff ff 00 ?? and eax, 0x00ffffff
 8b 7d ec ?? mov edi, dword ss:[ebp + 0xec<236,-20>]
 6a 00 ?? push 0
 6a 00 ?? push 0
 89 01 ?? mov dword ds:[ecx], eax
 8d 45 10 ?? lea eax, ss:[ebp + 0x10<16>]
 8b 37 ?? mov esi, dword ds:[edi]
 6a 00 ?? push 0
 50 ?? push eax
 ff 75 0c ?? push dword ss:[ebp + 12]
 8b 76 70 ?? mov esi, dword ds:[esi + 0x70<112>]
 8b ce ?? mov ecx, esi
 ff 75 d4 ?? push dword ss:[ebp + 0xd4<212,-44>]
 e8 79 d7 ff ff ?? call function 0x00403280

L79: 8b cf ?? mov ecx, edi
 ff d6 ?? call esi

L80: 8b 7d f4 ?? mov edi, dword ss:[ebp + 0xf4<244,-12>]
 84 c0 ?? test al, al
 0f 84 e7 fe ff ff ?? je basic block L54

L81: c7 45 dc 01 00 00 00 ?? mov dword ss:[ebp + 0xdc<220,-36>], 1
 e9 db fe ff ff ?? jmp basic block L54

