
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
 53 ?? push ebx
 56 ?? push esi
 8b 75 08 ?? mov esi, dword ss:[ebp + 8]
 c7 00 00 00 00 00 ?? mov dword ds:[eax], 0
 4e ?? dec esi
 8b 45 0c ?? mov eax, dword ss:[ebp + 12]
 57 ?? push edi
 6a 1c ?? push 0x1c<28>
 66 89 08 ?? mov word ds:[eax], cx
 8d 45 b4 ?? lea eax, ss:[ebp + 0xb4<180,-76>]
 50 ?? push eax
 56 ?? push esi
 ff 15 50 e0 40 00 ?? call dword ds:[0x0040e050]

L2: 85 c0 ?? test eax, eax
 0f 84 50 03 00 00 ?? je basic block L80

L3: 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 82 08 00 00 ?? call function 0x00407693

L4: 83 c4 0c ?? add esp, 12
 85 c0 ?? test eax, eax
 0f 84 37 03 00 00 ?? je basic block L80

L5: 8b 45 b8 ?? mov eax, dword ss:[ebp + 0xb8<184,-72>]
 b9 4d 5a 00 00 ?? mov ecx, 0x00005a4d<23117>
 66 39 08 ?? cmp word ds:[eax], cx
 0f 85 26 03 00 00 ?? jne basic block L80

L6: 8b 48 3c ?? mov ecx, dword ds:[eax + 0x3c<60>]
 85 c9 ?? test ecx, ecx
 0f 8e 1b 03 00 00 ?? jle basic block L80

L7: 03 c8 ?? add ecx, eax
 81 39 50 45 00 00 ?? cmp dword ds:[ecx], 0x00004550<17744>
 0f 85 0d 03 00 00 ?? jne basic block L80

L8: 0f b7 51 14 ?? movzx edx, word ds:[ecx + 0x14<20>]
 2b f0 ?? sub esi, eax
 0f b7 79 06 ?? movzx edi, word ds:[ecx + 6]
 83 c2 20 ?? add edx, 0x20<32>
 33 db ?? xor ebx, ebx
 33 c0 ?? xor eax, eax
 85 ff ?? test edi, edi
 74 1c ?? je basic block L13

L9: 03 ca ?? add ecx, edx
 8d 49 00 ?? lea ecx, ds:[ecx + 0]

L10: 8b 51 04 ?? mov edx, dword ds:[ecx + 4]
 3b f2 ?? cmp esi, edx
 72 08 ?? jb basic block L12

L11: 8b de ?? mov ebx, esi
 2b da ?? sub ebx, edx
 3b 31 ?? cmp esi, dword ds:[ecx]
 72 08 ?? jb basic block L13

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

L13: 3b c7 ?? cmp eax, edi
 0f 84 d4 02 00 00 ?? je basic block L80

L14: 40 ?? inc eax
 80 3d 05 d7 40 00 00 ?? cmp byte ds:[0x0040d705], 0
 89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
 75 28 ?? jne basic block L19

L15: 83 3d 00 d7 40 00 00 ?? cmp dword ds:[0x0040d700], 0
 0f 85 ba 02 00 00 ?? jne basic block L80

L16: e8 a2 f9 ff ff ?? call function 0x00406840

L17: a3 00 d7 40 00 ?? mov dword ds:[0x0040d700], eax
 85 c0 ?? test eax, eax
 0f 84 a8 02 00 00 ?? je basic block L80

L18: c6 05 05 d7 40 00 01 ?? mov byte ds:[0x0040d705], 1
 eb 05 ?? jmp basic block L20

L19: a1 00 d7 40 00 ?? mov eax, dword ds:[0x0040d700]

L20: 68 f4 b7 40 00 ?? push 0x0040b7f4<"PDBOpenValidate5">
 50 ?? push eax
 ff 15 54 e0 40 00 ?? call dword ds:[0x0040e054]

L21: 8b f0 ?? mov esi, eax
 85 f6 ?? test esi, esi
 0f 84 84 02 00 00 ?? je basic block L80

L22: 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>]
 ff 15 00 00 41 00 ?? call dword ds:[0x00410000]

L23: ff d6 ?? call esi

L24: 83 c4 20 ?? add esp, 0x20<32>
 85 c0 ?? test eax, eax
 0f 84 5a 02 00 00 ?? je basic block L80

L25: 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
 ff 15 00 00 41 00 ?? call dword ds:[0x00410000]

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

L27: 3d 41 91 32 01 ?? cmp eax, 0x01329141
 0f 85 50 01 00 00 ?? jne basic block L60

L28: 8b 7d e8 ?? mov edi, dword ss:[ebp + 0xe8<232,-24>]
 8b 07 ?? mov eax, dword ds:[edi]
 8b 70 1c ?? mov esi, dword ds:[eax + 0x1c<28>]
 8d 45 e0 ?? lea eax, ss:[ebp + 0xe0<224,-32>]
 50 ?? push eax
 68 08 b8 40 00 ?? push 0x0040b808<"r">
 6a 00 ?? push 0
 8b ce ?? mov ecx, esi
 ff 15 00 00 41 00 ?? call dword ds:[0x00410000]

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

L30: 85 c0 ?? test eax, eax
 0f 84 29 01 00 00 ?? je basic block L60

L31: 8b 7d e0 ?? mov edi, dword ss:[ebp + 0xe0<224,-32>]
 6a 00 ?? push 0
 6a 00 ?? push 0
 6a 00 ?? push 0
 8b 07 ?? mov eax, dword ds:[edi]
 8b 70 20 ?? mov esi, dword ds:[eax + 0x20<32>]
 8d 45 ec ?? lea eax, ss:[ebp + 0xec<236,-20>]
 50 ?? push eax
 53 ?? push ebx
 ff 75 f4 ?? push dword ss:[ebp + 0xf4<244,-12>]
 8b ce ?? mov ecx, esi
 ff 15 00 00 41 00 ?? call dword ds:[0x00410000]

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

L33: 85 c0 ?? test eax, eax
 0f 84 eb 00 00 00 ?? je basic block L58

L34: 8b 7d ec ?? mov edi, dword ss:[ebp + 0xec<236,-20>]
 c7 45 f8 00 00 00 00 ?? mov dword ss:[ebp + 0xf8<248,-8>], 0
 8b 07 ?? mov eax, dword ds:[edi]
 8b 70 68 ?? mov esi, dword ds:[eax + 0x68<104>]
 8d 45 f8 ?? lea eax, ss:[ebp + 0xf8<248,-8>]
 50 ?? push eax
 8b ce ?? mov ecx, esi
 ff 15 00 00 41 00 ?? call dword ds:[0x00410000]

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

L36: 84 c0 ?? test al, al
 0f 84 b0 00 00 00 ?? je basic block L56

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

L38: 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
 ff 15 00 00 41 00 ?? call dword ds:[0x00410000]

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

L40: 85 c0 ?? test eax, eax
 74 6a ?? je basic block L52

L41: 8d a4 24 00 00 00 00 ?? lea esp, ss:[esp + 0]

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

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

L44: 84 c0 ?? test al, al
 74 47 ?? je basic block L54

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

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

L47: 8b 45 d8 ?? mov eax, dword ss:[ebp + 0xd8<216,-40>]
 03 c1 ?? add eax, ecx
 3b d8 ?? cmp ebx, eax
 0f 82 83 00 00 00 ?? jb basic block L63

L48: 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
 ff 15 00 00 41 00 ?? call dword ds:[0x00410000]

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

L50: 85 c0 ?? test eax, eax
 75 9f ?? jne basic block L42

L51: 33 ff ?? xor edi, edi

L52: 57 ?? push edi
 6a 00 ?? push 0
 ff 15 4c e0 40 00 ?? call dword ds:[0x0040e04c]

L53: 50 ?? push eax
 ff 15 48 e0 40 00 ?? call dword ds:[0x0040e048]

L54: 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
 ff 15 00 00 41 00 ?? call dword ds:[0x00410000]

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

L56: 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
 ff 15 00 00 41 00 ?? call dword ds:[0x00410000]

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

L58: 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
 ff 15 00 00 41 00 ?? call dword ds:[0x00410000]

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

L60: 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
 ff 15 00 00 41 00 ?? call dword ds:[0x00410000]

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

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

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

L64: 3d ff ff ff 1f ?? cmp eax, 0x1fffffff
 73 99 ?? jae basic block L54

L65: c1 e0 03 ?? shl eax, 3
 50 ?? push eax
 6a 00 ?? push 0
 ff 15 4c e0 40 00 ?? call dword ds:[0x0040e04c]

L66: 50 ?? push eax
 ff 15 44 e0 40 00 ?? call dword ds:[0x0040e044]

L67: 89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
 85 c0 ?? test eax, eax
 0f 84 7b ff ff ff ?? je basic block L54

L68: 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 0f ?? mov ecx, 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 71 0c ?? mov esi, dword ds:[ecx + 12]
 8b ce ?? mov ecx, esi
 50 ?? push eax
 ff 15 00 00 41 00 ?? call dword ds:[0x00410000]

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

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

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

L72: 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 0d ?? jbe basic block L76

L73: 8d 49 00 ?? lea ecx, ds:[ecx + 0]

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

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

L76: 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
 8b 07 ?? mov eax, dword ds:[edi]
 6a 00 ?? push 0
 8b 70 70 ?? mov esi, dword ds:[eax + 0x70<112>]
 8d 45 10 ?? lea eax, ss:[ebp + 0x10<16>]
 50 ?? push eax
 ff 75 0c ?? push dword ss:[ebp + 12]
 8b ce ?? mov ecx, esi
 ff 75 d4 ?? push dword ss:[ebp + 0xd4<212,-44>]
 ff 15 00 00 41 00 ?? call dword ds:[0x00410000]

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

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

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

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

