
L1: 8b ff ?? mov edi, edi
 55 ?? push ebp
 8b ec ?? mov ebp, esp
 83 ec 14 ?? sub esp, 0x14<20>
 56 ?? push esi
 57 ?? push edi
 ff 75 08 ?? push dword ss:[ebp + 8]
 8d 4d ec ?? lea ecx, ss:[ebp + 0xec<236,-20>]
 e8 d3 5c ff ff ?? call function 0x0040a1c9

L2: 8b 45 10 ?? mov eax, dword ss:[ebp + 0x10<16>]
 8b 75 0c ?? mov esi, dword ss:[ebp + 12]
 33 ff ?? xor edi, edi
 3b c7 ?? cmp eax, edi
 74 02 ?? je basic block L4

L3: 89 30 ?? mov dword ds:[eax], esi

L4: 3b f7 ?? cmp esi, edi
 75 2c ?? jne basic block L10

L5: e8 4d 49 ff ff ?? call function 0x00408e5a

L6: 57 ?? push edi
 57 ?? push edi
 57 ?? push edi
 57 ?? push edi
 57 ?? push edi
 c7 00 16 00 00 00 ?? mov dword ds:[eax], 0x00000016<22>
 e8 7b ee fe ff ?? call function 0x00403398

L7: 83 c4 14 ?? add esp, 0x14<20>
 80 7d f8 00 ?? cmp byte ss:[ebp + 0xf8<248,-8>], 0
 74 07 ?? je basic block L9

L8: 8b 45 f4 ?? mov eax, dword ss:[ebp + 0xf4<244,-12>]
 83 60 70 fd ?? and dword ds:[eax + 0x70<112>], 0xfd<253,-3>

L9: 33 c0 ?? xor eax, eax
 e9 d8 01 00 00 ?? jmp basic block L80

L10: 39 7d 14 ?? cmp dword ss:[ebp + 0x14<20>], edi
 74 0c ?? je basic block L13

L11: 83 7d 14 02 ?? cmp dword ss:[ebp + 0x14<20>], 2
 7c c9 ?? jl basic block L5

L12: 83 7d 14 24 ?? cmp dword ss:[ebp + 0x14<20>], 0x24<36>
 7f c3 ?? jg basic block L5

L13: 8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
 53 ?? push ebx
 8a 1e ?? mov bl, byte ds:[esi]
 89 7d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edi
 8d 7e 01 ?? lea edi, ds:[esi + 1]

L14: 83 b9 ac 00 00 00 01 ?? cmp dword ds:[ecx + 0x000000ac<172>], 1
 7e 17 ?? jle basic block L17

L15: 8d 45 ec ?? lea eax, ss:[ebp + 0xec<236,-20>]
 50 ?? push eax
 0f b6 c3 ?? movzx eax, bl
 6a 08 ?? push 8
 50 ?? push eax
 e8 60 05 00 00 ?? call function 0x00414ac9

L16: 8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
 83 c4 0c ?? add esp, 12
 eb 10 ?? jmp basic block L18

L17: 8b 91 c8 00 00 00 ?? mov edx, dword ds:[ecx + 0x000000c8<200>]
 0f b6 c3 ?? movzx eax, bl
 0f b7 04 42 ?? movzx eax, word ds:[edx + eax * 2]
 83 e0 08 ?? and eax, 8

L18: 85 c0 ?? test eax, eax
 74 05 ?? je basic block L20

L19: 8a 1f ?? mov bl, byte ds:[edi]
 47 ?? inc edi
 eb c7 ?? jmp basic block L14

L20: 80 fb 2d ?? cmp bl, 0x2d<45>
 75 06 ?? jne basic block L22

L21: 83 4d 18 02 ?? or dword ss:[ebp + 0x18<24>], 2
 eb 05 ?? jmp basic block L23

L22: 80 fb 2b ?? cmp bl, 0x2b<43>
 75 03 ?? jne basic block L24

L23: 8a 1f ?? mov bl, byte ds:[edi]
 47 ?? inc edi

L24: 8b 45 14 ?? mov eax, dword ss:[ebp + 0x14<20>]
 85 c0 ?? test eax, eax
 0f 8c 4b 01 00 00 ?? jl basic block L74

L25: 83 f8 01 ?? cmp eax, 1
 0f 84 42 01 00 00 ?? je basic block L74

L26: 83 f8 24 ?? cmp eax, 0x24<36>
 0f 8f 39 01 00 00 ?? jg basic block L74

L27: 85 c0 ?? test eax, eax
 75 2a ?? jne basic block L34

L28: 80 fb 30 ?? cmp bl, 0x30<48>
 74 09 ?? je basic block L30

L29: c7 45 14 0a 00 00 00 ?? mov dword ss:[ebp + 0x14<20>], 10
 eb 34 ?? jmp basic block L39

L30: 8a 07 ?? mov al, byte ds:[edi]
 3c 78 ?? cmp al, 0x78<120>
 74 0d ?? je basic block L33

L31: 3c 58 ?? cmp al, 0x58<88>
 74 09 ?? je basic block L33

L32: c7 45 14 08 00 00 00 ?? mov dword ss:[ebp + 0x14<20>], 8
 eb 21 ?? jmp basic block L39

L33: c7 45 14 10 00 00 00 ?? mov dword ss:[ebp + 0x14<20>], 0x00000010<16>
 eb 0a ?? jmp basic block L36

L34: 83 f8 10 ?? cmp eax, 0x10<16>
 75 13 ?? jne basic block L39

L35: 80 fb 30 ?? cmp bl, 0x30<48>
 75 0e ?? jne basic block L39

L36: 8a 07 ?? mov al, byte ds:[edi]
 3c 78 ?? cmp al, 0x78<120>
 74 04 ?? je basic block L38

L37: 3c 58 ?? cmp al, 0x58<88>
 75 04 ?? jne basic block L39

L38: 47 ?? inc edi
 8a 1f ?? mov bl, byte ds:[edi]
 47 ?? inc edi

L39: 8b b1 c8 00 00 00 ?? mov esi, dword ds:[ecx + 0x000000c8<200>]
 b8 ff ff ff ff ?? mov eax, 0xffffffff<4294967295,-1>
 33 d2 ?? xor edx, edx
 f7 75 14 ?? div dword ss:[ebp + 0x14<20>]

L40: 0f b6 cb ?? movzx ecx, bl
 0f b7 0c 4e ?? movzx ecx, word ds:[esi + ecx * 2]
 f6 c1 04 ?? test cl, 4
 74 08 ?? je basic block L42

L41: 0f be cb ?? movsx ecx, bl
 83 e9 30 ?? sub ecx, 0x30<48>
 eb 1b ?? jmp basic block L46

L42: f7 c1 03 01 00 00 ?? test ecx, 0x00000103<259>
 74 31 ?? je basic block L51

L43: 8a cb ?? mov cl, bl
 80 e9 61 ?? sub cl, 0x61<97>
 80 f9 19 ?? cmp cl, 0x19<25>
 0f be cb ?? movsx ecx, bl
 77 03 ?? ja basic block L45

L44: 83 e9 20 ?? sub ecx, 0x20<32>

L45: 83 c1 c9 ?? add ecx, 0xc9<201,-55>

L46: 3b 4d 14 ?? cmp ecx, dword ss:[ebp + 0x14<20>]
 73 19 ?? jae basic block L51

L47: 83 4d 18 08 ?? or dword ss:[ebp + 0x18<24>], 8
 39 45 fc ?? cmp dword ss:[ebp + 0xfc<252,-4>], eax
 72 27 ?? jb basic block L55

L48: 75 04 ?? jne basic block L50

L49: 3b ca ?? cmp ecx, edx
 76 21 ?? jbe basic block L55

L50: 83 4d 18 04 ?? or dword ss:[ebp + 0x18<24>], 4
 83 7d 10 00 ?? cmp dword ss:[ebp + 0x10<16>], 0
 75 23 ?? jne basic block L56

L51: 8b 45 18 ?? mov eax, dword ss:[ebp + 0x18<24>]
 4f ?? dec edi
 a8 08 ?? test al, 8
 75 20 ?? jne basic block L57

L52: 83 7d 10 00 ?? cmp dword ss:[ebp + 0x10<16>], 0
 74 03 ?? je basic block L54

L53: 8b 7d 0c ?? mov edi, dword ss:[ebp + 12]

L54: 83 65 fc 00 ?? and dword ss:[ebp + 0xfc<252,-4>], 0
 eb 5b ?? jmp basic block L67

L55: 8b 5d fc ?? mov ebx, dword ss:[ebp + 0xfc<252,-4>]
 0f af 5d 14 ?? imul ebx, dword ss:[ebp + 0x14<20>]
 03 d9 ?? add ebx, ecx
 89 5d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], ebx

L56: 8a 1f ?? mov bl, byte ds:[edi]
 47 ?? inc edi
 eb 8b ?? jmp basic block L40

L57: be ff ff ff 7f ?? mov esi, 0x7fffffff
 a8 04 ?? test al, 4
 75 1b ?? jne basic block L63

L58: a8 01 ?? test al, 1
 75 3d ?? jne basic block L67

L59: 83 e0 02 ?? and eax, 2
 74 09 ?? je basic block L61

L60: 81 7d fc 00 00 00 80 ?? cmp dword ss:[ebp + 0xfc<252,-4>], 0x80000000
 77 09 ?? ja basic block L63

L61: 85 c0 ?? test eax, eax
 75 2b ?? jne basic block L67

L62: 39 75 fc ?? cmp dword ss:[ebp + 0xfc<252,-4>], esi
 76 26 ?? jbe basic block L67

L63: e8 ac 47 ff ff ?? call function 0x00408e5a

L64: f6 45 18 01 ?? test byte ss:[ebp + 0x18<24>], 1
 c7 00 22 00 00 00 ?? mov dword ds:[eax], 0x00000022<34>
 74 06 ?? je basic block L66

L65: 83 4d fc ff ?? or dword ss:[ebp + 0xfc<252,-4>], 0xff<255,-1>
 eb 0f ?? jmp basic block L67

L66: f6 45 18 02 ?? test byte ss:[ebp + 0x18<24>], 2
 6a 00 ?? push 0
 58 ?? pop eax
 0f 95 c0 ?? setne al
 03 c6 ?? add eax, esi
 89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax

L67: 8b 45 10 ?? mov eax, dword ss:[ebp + 0x10<16>]
 85 c0 ?? test eax, eax
 74 02 ?? je basic block L69

L68: 89 38 ?? mov dword ds:[eax], edi

L69: f6 45 18 02 ?? test byte ss:[ebp + 0x18<24>], 2
 74 03 ?? je basic block L71

L70: f7 5d fc ?? neg dword ss:[ebp + 0xfc<252,-4>]

L71: 80 7d f8 00 ?? cmp byte ss:[ebp + 0xf8<248,-8>], 0
 74 07 ?? je basic block L73

L72: 8b 45 f4 ?? mov eax, dword ss:[ebp + 0xf4<244,-12>]
 83 60 70 fd ?? and dword ds:[eax + 0x70<112>], 0xfd<253,-3>

L73: 8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
 eb 18 ?? jmp basic block L79

L74: 8b 45 10 ?? mov eax, dword ss:[ebp + 0x10<16>]
 85 c0 ?? test eax, eax
 74 02 ?? je basic block L76

L75: 89 30 ?? mov dword ds:[eax], esi

L76: 80 7d f8 00 ?? cmp byte ss:[ebp + 0xf8<248,-8>], 0
 74 07 ?? je basic block L78

L77: 8b 45 f4 ?? mov eax, dword ss:[ebp + 0xf4<244,-12>]
 83 60 70 fd ?? and dword ds:[eax + 0x70<112>], 0xfd<253,-3>

L78: 33 c0 ?? xor eax, eax

L79: 5b ?? pop ebx

L80: 5f ?? pop edi
 5e ?? pop esi
 c9 ?? leave
 c3 ?? ret

