
L1: 8b ff ?? mov edi, edi
 55 ?? push ebp
 8b ec ?? mov ebp, esp
 83 ec 14 ?? sub esp, 0x14<20>
 a1 7c 9c 42 00 ?? mov eax, dword ds:[0x00429c7c]
 8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
 6b c0 14 ?? imul eax, eax, 0x14<20>
 03 05 80 9c 42 00 ?? add eax, dword ds:[0x00429c80]
 83 c1 17 ?? add ecx, 0x17<23>
 83 e1 f0 ?? and ecx, 0xf0<240,-16>
 89 4d f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], ecx
 c1 f9 04 ?? sar ecx, 4
 53 ?? push ebx
 49 ?? dec ecx
 83 f9 20 ?? cmp ecx, 0x20<32>
 56 ?? push esi
 57 ?? push edi
 7d 0b ?? jge basic block L3

L2: 83 ce ff ?? or esi, 0xff<255,-1>
 d3 ee ?? shr esi, cl
 83 4d f8 ff ?? or dword ss:[ebp + 0xf8<248,-8>], 0xff<255,-1>
 eb 0d ?? jmp basic block L4

L3: 83 c1 e0 ?? add ecx, 0xe0<224,-32>
 83 ca ff ?? or edx, 0xff<255,-1>
 33 f6 ?? xor esi, esi
 d3 ea ?? shr edx, cl
 89 55 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], edx

L4: 8b 0d 88 9c 42 00 ?? mov ecx, dword ds:[0x00429c88]
 8b d9 ?? mov ebx, ecx
 eb 11 ?? jmp basic block L7

L5: 8b 53 04 ?? mov edx, dword ds:[ebx + 4]
 8b 3b ?? mov edi, dword ds:[ebx]
 23 55 f8 ?? and edx, dword ss:[ebp + 0xf8<248,-8>]
 23 fe ?? and edi, esi
 0b d7 ?? or edx, edi
 75 0a ?? jne basic block L8

L6: 83 c3 14 ?? add ebx, 0x14<20>

L7: 89 5d 08 ?? mov dword ss:[ebp + 8], ebx
 3b d8 ?? cmp ebx, eax
 72 e8 ?? jb basic block L5

L8: 3b d8 ?? cmp ebx, eax
 75 7f ?? jne basic block L29

L9: 8b 1d 80 9c 42 00 ?? mov ebx, dword ds:[0x00429c80]
 eb 11 ?? jmp basic block L12

L10: 8b 53 04 ?? mov edx, dword ds:[ebx + 4]
 8b 3b ?? mov edi, dword ds:[ebx]
 23 55 f8 ?? and edx, dword ss:[ebp + 0xf8<248,-8>]
 23 fe ?? and edi, esi
 0b d7 ?? or edx, edi
 75 0a ?? jne basic block L13

L11: 83 c3 14 ?? add ebx, 0x14<20>

L12: 89 5d 08 ?? mov dword ss:[ebp + 8], ebx
 3b d9 ?? cmp ebx, ecx
 72 e8 ?? jb basic block L10

L13: 3b d9 ?? cmp ebx, ecx
 75 5b ?? jne basic block L29

L14: eb 0c ?? jmp basic block L17

L15: 83 7b 08 00 ?? cmp dword ds:[ebx + 8], 0
 75 0a ?? jne basic block L18

L16: 83 c3 14 ?? add ebx, 0x14<20>
 89 5d 08 ?? mov dword ss:[ebp + 8], ebx

L17: 3b d8 ?? cmp ebx, eax
 72 f0 ?? jb basic block L15

L18: 3b d8 ?? cmp ebx, eax
 75 31 ?? jne basic block L27

L19: 8b 1d 80 9c 42 00 ?? mov ebx, dword ds:[0x00429c80]
 eb 09 ?? jmp basic block L22

L20: 83 7b 08 00 ?? cmp dword ds:[ebx + 8], 0
 75 0a ?? jne basic block L23

L21: 83 c3 14 ?? add ebx, 0x14<20>

L22: 89 5d 08 ?? mov dword ss:[ebp + 8], ebx
 3b d9 ?? cmp ebx, ecx
 72 f0 ?? jb basic block L20

L23: 3b d9 ?? cmp ebx, ecx
 75 15 ?? jne basic block L27

L24: e8 40 f6 ff ff ?? call function 0x00405ae5

L25: 8b d8 ?? mov ebx, eax
 89 5d 08 ?? mov dword ss:[ebp + 8], ebx
 85 db ?? test ebx, ebx
 75 07 ?? jne basic block L27

L26: 33 c0 ?? xor eax, eax
 e9 09 02 00 00 ?? jmp basic block L67

L27: 53 ?? push ebx
 e8 da f6 ff ff ?? call function 0x00405b95

L28: 59 ?? pop ecx
 8b 4b 10 ?? mov ecx, dword ds:[ebx + 0x10<16>]
 89 01 ?? mov dword ds:[ecx], eax
 8b 43 10 ?? mov eax, dword ds:[ebx + 0x10<16>]
 83 38 ff ?? cmp dword ds:[eax], 0xff<255,-1>
 74 e5 ?? je basic block L26

L29: 89 1d 88 9c 42 00 ?? mov dword ds:[0x00429c88], ebx
 8b 43 10 ?? mov eax, dword ds:[ebx + 0x10<16>]
 8b 10 ?? mov edx, dword ds:[eax]
 89 55 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edx
 83 fa ff ?? cmp edx, 0xff<255,-1>
 74 14 ?? je basic block L31

L30: 8b 8c 90 c4 00 00 00 ?? mov ecx, dword ds:[eax + edx * 4 + 0x000000c4<196>]
 8b 7c 90 44 ?? mov edi, dword ds:[eax + edx * 4 + 0x44<68>]
 23 4d f8 ?? and ecx, dword ss:[ebp + 0xf8<248,-8>]
 23 fe ?? and edi, esi
 0b cf ?? or ecx, edi
 75 29 ?? jne basic block L35

L31: 83 65 fc 00 ?? and dword ss:[ebp + 0xfc<252,-4>], 0
 8b 90 c4 00 00 00 ?? mov edx, dword ds:[eax + 0x000000c4<196>]
 8d 48 44 ?? lea ecx, ds:[eax + 0x44<68>]

L32: 8b 39 ?? mov edi, dword ds:[ecx]
 23 55 f8 ?? and edx, dword ss:[ebp + 0xf8<248,-8>]
 23 fe ?? and edi, esi
 0b d7 ?? or edx, edi
 75 0e ?? jne basic block L34

L33: ff 45 fc ?? inc dword ss:[ebp + 0xfc<252,-4>]
 8b 91 84 00 00 00 ?? mov edx, dword ds:[ecx + 0x00000084<132>]
 83 c1 04 ?? add ecx, 4
 eb e7 ?? jmp basic block L32

L34: 8b 55 fc ?? mov edx, dword ss:[ebp + 0xfc<252,-4>]

L35: 8b ca ?? mov ecx, edx
 69 c9 04 02 00 00 ?? imul ecx, ecx, 0x00000204<516>
 8d 8c 01 44 01 00 00 ?? lea ecx, ds:[ecx + eax + 0x00000144<324>]
 89 4d f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], ecx
 8b 4c 90 44 ?? mov ecx, dword ds:[eax + edx * 4 + 0x44<68>]
 33 ff ?? xor edi, edi
 23 ce ?? and ecx, esi
 75 12 ?? jne basic block L38

L36: 8b 8c 90 c4 00 00 00 ?? mov ecx, dword ds:[eax + edx * 4 + 0x000000c4<196>]
 23 4d f8 ?? and ecx, dword ss:[ebp + 0xf8<248,-8>]
 6a 20 ?? push 0x20<32>
 5f ?? pop edi
 eb 03 ?? jmp basic block L38

L37: 03 c9 ?? add ecx, ecx
 47 ?? inc edi

L38: 85 c9 ?? test ecx, ecx
 7d f9 ?? jge basic block L37

L39: 8b 4d f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12>]
 8b 54 f9 04 ?? mov edx, dword ds:[ecx + edi * 8 + 4]
 8b 0a ?? mov ecx, dword ds:[edx]
 2b 4d f0 ?? sub ecx, dword ss:[ebp + 0xf0<240,-16>]
 8b f1 ?? mov esi, ecx
 c1 fe 04 ?? sar esi, 4
 4e ?? dec esi
 83 fe 3f ?? cmp esi, 0x3f<63>
 89 4d f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], ecx
 7e 03 ?? jle basic block L41

L40: 6a 3f ?? push 0x3f<63>
 5e ?? pop esi

L41: 3b f7 ?? cmp esi, edi
 0f 84 01 01 00 00 ?? je basic block L59

L42: 8b 4a 04 ?? mov ecx, dword ds:[edx + 4]
 3b 4a 08 ?? cmp ecx, dword ds:[edx + 8]
 75 5c ?? jne basic block L49

L43: 83 ff 20 ?? cmp edi, 0x20<32>
 bb 00 00 00 80 ?? mov ebx, 0x80000000
 7d 26 ?? jge basic block L46

L44: 8b cf ?? mov ecx, edi
 d3 eb ?? shr ebx, cl
 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
 8d 7c 38 04 ?? lea edi, ds:[eax + edi + 4]
 f7 d3 ?? not ebx
 89 5d ec ?? mov dword ss:[ebp + 0xec<236,-20>], ebx
 23 5c 88 44 ?? and ebx, dword ds:[eax + ecx * 4 + 0x44<68>]
 89 5c 88 44 ?? mov dword ds:[eax + ecx * 4 + 0x44<68>], ebx
 fe 0f ?? dec byte ds:[edi]
 75 33 ?? jne basic block L48

L45: 8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
 8b 5d 08 ?? mov ebx, dword ss:[ebp + 8]
 21 0b ?? and dword ds:[ebx], ecx
 eb 2c ?? jmp basic block L49

L46: 8d 4f e0 ?? lea ecx, ds:[edi + 0xe0<224,-32>]
 d3 eb ?? shr ebx, cl
 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
 8d 8c 88 c4 00 00 00 ?? lea ecx, ds:[eax + ecx * 4 + 0x000000c4<196>]
 8d 7c 38 04 ?? lea edi, ds:[eax + edi + 4]
 f7 d3 ?? not ebx
 21 19 ?? and dword ds:[ecx], ebx
 fe 0f ?? dec byte ds:[edi]
 89 5d ec ?? mov dword ss:[ebp + 0xec<236,-20>], ebx
 75 0b ?? jne basic block L48

L47: 8b 5d 08 ?? mov ebx, dword ss:[ebp + 8]
 8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
 21 4b 04 ?? and dword ds:[ebx + 4], ecx
 eb 03 ?? jmp basic block L49

L48: 8b 5d 08 ?? mov ebx, dword ss:[ebp + 8]

L49: 83 7d f8 00 ?? cmp dword ss:[ebp + 0xf8<248,-8>], 0
 8b 4a 08 ?? mov ecx, dword ds:[edx + 8]
 8b 7a 04 ?? mov edi, dword ds:[edx + 4]
 89 79 04 ?? mov dword ds:[ecx + 4], edi
 8b 4a 04 ?? mov ecx, dword ds:[edx + 4]
 8b 7a 08 ?? mov edi, dword ds:[edx + 8]
 89 79 08 ?? mov dword ds:[ecx + 8], edi
 0f 84 8d 00 00 00 ?? je basic block L61

L50: 8b 4d f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12>]
 8d 0c f1 ?? lea ecx, ds:[ecx + esi * 8]
 8b 79 04 ?? mov edi, dword ds:[ecx + 4]
 89 4a 08 ?? mov dword ds:[edx + 8], ecx
 89 7a 04 ?? mov dword ds:[edx + 4], edi
 89 51 04 ?? mov dword ds:[ecx + 4], edx
 8b 4a 04 ?? mov ecx, dword ds:[edx + 4]
 89 51 08 ?? mov dword ds:[ecx + 8], edx
 8b 4a 04 ?? mov ecx, dword ds:[edx + 4]
 3b 4a 08 ?? cmp ecx, dword ds:[edx + 8]
 75 5e ?? jne basic block L58

L51: 8a 4c 06 04 ?? mov cl, byte ds:[esi + eax + 4]
 88 4d 0b ?? mov byte ss:[ebp + 11], cl
 fe c1 ?? inc cl
 83 fe 20 ?? cmp esi, 0x20<32>
 88 4c 06 04 ?? mov byte ds:[esi + eax + 4], cl
 7d 23 ?? jge basic block L55

L52: 80 7d 0b 00 ?? cmp byte ss:[ebp + 11], 0
 75 0b ?? jne basic block L54

L53: bf 00 00 00 80 ?? mov edi, 0x80000000
 8b ce ?? mov ecx, esi
 d3 ef ?? shr edi, cl
 09 3b ?? or dword ds:[ebx], edi

L54: 8b ce ?? mov ecx, esi
 bf 00 00 00 80 ?? mov edi, 0x80000000
 d3 ef ?? shr edi, cl
 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
 09 7c 88 44 ?? or dword ds:[eax + ecx * 4 + 0x44<68>], edi
 eb 29 ?? jmp basic block L58

L55: 80 7d 0b 00 ?? cmp byte ss:[ebp + 11], 0
 75 0d ?? jne basic block L57

L56: 8d 4e e0 ?? lea ecx, ds:[esi + 0xe0<224,-32>]
 bf 00 00 00 80 ?? mov edi, 0x80000000
 d3 ef ?? shr edi, cl
 09 7b 04 ?? or dword ds:[ebx + 4], edi

L57: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
 8d bc 88 c4 00 00 00 ?? lea edi, ds:[eax + ecx * 4 + 0x000000c4<196>]
 8d 4e e0 ?? lea ecx, ds:[esi + 0xe0<224,-32>]
 be 00 00 00 80 ?? mov esi, 0x80000000
 d3 ee ?? shr esi, cl
 09 37 ?? or dword ds:[edi], esi

L58: 8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]

L59: 85 c9 ?? test ecx, ecx
 74 0b ?? je basic block L62

L60: 89 0a ?? mov dword ds:[edx], ecx
 89 4c 11 fc ?? mov dword ds:[ecx + edx + 0xfc<252,-4>], ecx
 eb 03 ?? jmp basic block L62

L61: 8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]

L62: 8b 75 f0 ?? mov esi, dword ss:[ebp + 0xf0<240,-16>]
 03 d1 ?? add edx, ecx
 8d 4e 01 ?? lea ecx, ds:[esi + 1]
 89 0a ?? mov dword ds:[edx], ecx
 89 4c 32 fc ?? mov dword ds:[edx + esi + 0xfc<252,-4>], ecx
 8b 75 f4 ?? mov esi, dword ss:[ebp + 0xf4<244,-12>]
 8b 0e ?? mov ecx, dword ds:[esi]
 8d 79 01 ?? lea edi, ds:[ecx + 1]
 89 3e ?? mov dword ds:[esi], edi
 85 c9 ?? test ecx, ecx
 75 1a ?? jne basic block L66

L63: 3b 1d 70 9a 42 00 ?? cmp ebx, dword ds:[0x00429a70]
 75 12 ?? jne basic block L66

L64: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
 3b 0d 90 9c 42 00 ?? cmp ecx, dword ds:[0x00429c90]
 75 07 ?? jne basic block L66

L65: 83 25 70 9a 42 00 00 ?? and dword ds:[0x00429a70], 0

L66: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
 89 08 ?? mov dword ds:[eax], ecx
 8d 42 04 ?? lea eax, ds:[edx + 4]

L67: 5f ?? pop edi
 5e ?? pop esi
 5b ?? pop ebx
 c9 ?? leave
 c3 ?? ret

