Function at 0x565e10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2b8]
cmp eax, dword [ecx + 8]
jbe 0x56888d
sub esp, 0x338
mov eax, dword [esp + 0x33c]
mov dword [esp], eax
mov ecx, dword [esp + 0x340]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x344]
mov dword [esp + 8], edx
call fcn.004b0af0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x34c]
mov edi, dword [esp + 0x354]
cmp esi, edi
jne 0x565f24
mov eax, dword [esp + 0x33c]
mov dword [esp], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 8], eax
lea edi, [esp + 0xc]
lea esi, [esp + 0x358]
call fcn.0045f094
call fcn.005688a0
movzx eax, byte [esp + 0x24]
test al, al
je 0x565ec6
xor eax, eax
xor ecx, ecx
jmp 0x565f01
lea eax, [0x646f2f]
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1e0], 0x12
mov eax, dword [esp + 0x1dc]
mov dword [esp], eax
mov dword [esp + 4], 0x12
call fcn.00408df0
mov eax, dword [esp + 8]
mov ecx, eax
lea eax, [0x6a5004]
mov edx, dword [esp + 0x354]
mov dword [esp + 0x370], edx
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], ecx
add esp, 0x338
ret
mov dword [esp + 0x120], eax
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x11c], ebp
mov dword [esp + 0xe4], ebx
mov dword [esp + 0x68], edx
mov eax, dword [edx + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 0x14
je 0x565f57
xor eax, eax
jmp 0x565f73
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x6c]
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
sete al
test al, al
je 0x5666de
mov eax, dword [esp + 0x348]
mov dword [esp], eax
mov ecx, dword [esp + 0x34c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x350]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x354]
mov dword [esp + 0xc], ebx
call fcn.005653b0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
movzx ebp, byte [esp + 0x1c]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x120], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ecx
xchg ebp, eax
mov byte [esp + 0xc0], al
xchg ebp, eax
test esi, esi
jne 0x5666bb
mov dword [esp + 0x54], eax
mov dword [esp + 0xa8], esi
lea esi, [ecx + eax]
cmp eax, esi
jg 0x566662
mov dword [esp + 0xa4], ebx
mov ebx, dword [esp + 0x34c]
cmp ebx, esi
jl 0x566662
mov dword [esp + 0xa0], esi
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x566652
mov ebx, dword [esp + 0xa4]
test ebx, ebx
jne 0x566652
mov ebx, dword [esp + 0x350]
cmp ebx, esi
jb 0x568883
cmp eax, esi
ja 0x56887c
mov dword [esp + 0x58], ecx
sub ebx, eax
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
mov dword [esp + 0xa4], ebx
mov eax, esi
mov esi, dword [esp + 0x348]
add ebx, esi
cmp edx, 0x12
jg 0x5663d4
cmp edx, 4
jle 0x5661cf
cmp edx, 6
je 0x566167
cmp edx, 0xc
je 0x5660ad
cmp edx, 0x12
jne 0x5664ae
xor edx, edx
jmp 0x5687c4
mov dword [esp + 0xe0], ebx
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00487ab0
movzx eax, byte [esp + 0xc]
test al, al
je 0x5660fa
mov dword [esp], 0
mov eax, dword [esp + 0xe0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
call fcn.0044b5e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
xor ebx, ebx
jmp 0x566127
lea eax, [0x615260]
mov dword [esp], eax
call fcn.0040b380
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x64b9e7]
mov dword [eax], ecx
xor ecx, ecx
lea edx, [0x6a4c44]
mov ebx, eax
xor eax, eax
mov dword [esp + 0x100], ebx
mov dword [esp + 0x84], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408df0
mov eax, dword [esp + 8]
lea ecx, [0x60c800]
mov edx, dword [esp + 0x84]
mov ebx, eax
mov edi, dword [esp + 0x100]
mov eax, dword [esp + 0xa0]
jmp 0x56870b
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.005646c0
mov eax, dword [esp + 0x18]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x120], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.00408e70
mov eax, dword [esp + 0xc]
lea ecx, [0x618480]
mov edx, dword [esp + 0xa8]
mov ebx, eax
mov edi, dword [esp + 0x120]
mov eax, dword [esp + 0xa0]
jmp 0x56870b
cmp edx, 2
je 0x566374
cmp edx, 3
jne 0x56632e
test ecx, ecx
je 0x566284
mov edx, dword [esp + 0xa4]
movzx edx, byte [edx + esi]
movzx esi, dl
cmp esi, 7
jg 0x56621c
cmp ecx, 1
jne 0x566205
test esi, esi
jne 0x56621c
movzx edi, byte [ecx + ebx - 1]
mov ecx, edx
mov eax, 1
shl eax, cl
dec eax
xchg edi, ebx
test al, bl
xchg edi, ebx
je 0x56625f
lea eax, [0x64f47c]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], 0x22
mov eax, dword [esp + 0x1b4]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.00408df0
mov eax, dword [esp + 8]
xor esi, esi
xor edx, edx
xor ecx, ecx
lea ebx, [0x6a5004]
xor ebp, ebp
jmp 0x5662c5
mov ecx, dword [esp + 0x58]
dec ecx
mov edx, ecx
shl ecx, 3
sub ecx, esi
dec ebp
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add ebx, ebp
mov ebp, ebx
xor eax, eax
xor ebx, ebx
jmp 0x5662c5
lea eax, [0x64994a]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], 0x16
mov eax, dword [esp + 0x1bc]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.00408df0
mov eax, dword [esp + 8]
xor esi, esi
xor edx, edx
xor ecx, ecx
lea ebx, [0x6a5004]
xor ebp, ebp
mov dword [esp + 0xfc], eax
mov dword [esp + 0x80], ebx
mov dword [esp + 0x1ec], ebp
mov dword [esp + 0x1f0], edx
mov dword [esp + 0x1f4], esi
mov dword [esp + 0x1f8], ecx
lea ecx, [0x626940]
mov dword [esp], ecx
lea edx, [esp + 0x1ec]
mov dword [esp + 4], edx
call fcn.00408ba0
mov eax, dword [esp + 8]
lea ecx, [0x626940]
mov edx, dword [esp + 0x80]
mov ebx, eax
mov edi, dword [esp + 0xfc]
mov eax, dword [esp + 0xa0]
jmp 0x56870b
cmp edx, 4
jne 0x5664ae
mov dword [esp + 0x118], edi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00408e70
mov eax, dword [esp + 0xc]
lea ecx, [0x604e20]
mov edx, dword [esp + 0xa8]
mov ebx, eax
mov edi, dword [esp + 0x118]
mov eax, dword [esp + 0xa0]
jmp 0x56870b
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00563e10
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x120], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.00408d40
mov eax, dword [esp + 8]
lea ecx, [0x60c100]
mov edx, dword [esp + 0xa8]
mov ebx, eax
mov edi, dword [esp + 0x120]
mov eax, dword [esp + 0xa0]
jmp 0x56870b
cmp edx, 0x16
jg 0x56649b
cmp edx, 0x13
je 0x56643b
cmp edx, 0x14
je 0x5663f7
cmp edx, 0x16
jne 0x5664ae
xor edx, edx
jmp 0x568717
mov dword [esp], 0
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.0044b5e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408df0
mov eax, dword [esp + 8]
lea ecx, [0x60c800]
xor edx, edx
mov ebx, eax
xor edi, edi
mov eax, dword [esp + 0xa0]
jmp 0x56870b
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.005650b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0xa8], edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x120], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408df0
mov eax, dword [esp + 8]
lea ecx, [0x60c800]
mov edx, dword [esp + 0xa8]
mov ebx, eax
mov edi, dword [esp + 0x120]
mov eax, dword [esp + 0xa0]
jmp 0x56870b
cmp edx, 0x17
je 0x5665b8
cmp edx, 0x18
je 0x56651e
cmp edx, 0x1e
je 0x5664be
xor ecx, ecx
mov edx, dword [esp + 0xa8]
xor ebx, ebx
jmp 0x56870b
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.005651c0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x120], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.00408df0
mov eax, dword [esp + 8]
lea ecx, [0x60c800]
mov edx, dword [esp + 0xa8]
mov ebx, eax
mov edi, dword [esp + 0x120]
mov eax, dword [esp + 0xa0]
jmp 0x56870b
lea edi, [esp + 0x224]
xor eax, eax
call fcn.0045ebbb
mov dword [esp], ebx
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00564e70
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xa8], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x120], edx
lea edi, [esp + 0x224]
lea esi, [esp + 0xc]
call fcn.0045f09e
lea edi, [esp + 0x1fc]
lea esi, [esp + 0x224]
call fcn.0045f09e
lea ecx, [0x639000]
mov dword [esp], ecx
lea ecx, [esp + 0x1fc]
mov dword [esp + 4], ecx
call fcn.00408ba0
mov eax, dword [esp + 8]
lea ecx, [0x639000]
mov edx, dword [esp + 0xa8]
mov ebx, eax
mov edi, dword [esp + 0x120]
mov eax, dword [esp + 0xa0]
jmp 0x56870b
lea edi, [esp + 0x224]
xor eax, eax
call fcn.0045ebbb
mov dword [esp], ebx
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00564b20
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xa8], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x120], edx
lea edi, [esp + 0x224]
lea esi, [esp + 0xc]
call fcn.0045f09e
lea edi, [esp + 0x210]
lea esi, [esp + 0x224]
call fcn.0045f09e
lea ecx, [0x639000]
mov dword [esp], ecx
lea ecx, [esp + 0x210]
mov dword [esp + 4], ecx
call fcn.00408ba0
mov eax, dword [esp + 8]
lea ecx, [0x639000]
mov edx, dword [esp + 0xa8]
mov ebx, eax
mov edi, dword [esp + 0x120]
mov eax, dword [esp + 0xa0]
jmp 0x56870b
mov eax, dword [esp + 0xa8]
xor ecx, ecx
xor edx, edx
jmp 0x5685fe
lea eax, [0x6441d4]
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], 0xe
mov eax, dword [esp + 0x1d4]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.00408df0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x370], ecx
lea ecx, [0x6a5004]
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], eax
add esp, 0x338
ret
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], edi
add esp, 0x338
ret
mov eax, dword [esp + 0x348]
mov dword [esp], eax
mov ecx, dword [esp + 0x34c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x350]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x354]
mov dword [esp + 0xc], ebx
call fcn.005653b0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x118], edx
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x18]
movzx esi, byte [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ebp
xchg esi, eax
mov byte [esp + 0xc0], al
xchg esi, eax
test ecx, ecx
jne 0x567f77
mov dword [esp + 0xa4], eax
movzx eax, byte [esp + 0x359]
test al, al
je 0x566b09
movzx eax, byte [esp + 0x35a]
test al, al
je 0x566786
mov eax, 1
jmp 0x56678b
mov eax, 2
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x114], ebx
mov ecx, dword [esp + 0x34c]
mov ebx, dword [esp + 0xa4]
cmp ecx, ebx
je 0x566aad
cmp eax, edi
jne 0x5669fc
mov eax, dword [esp + 0x360]
cmp dword [eax], edx
jne 0x5669fc
test ebp, ebp
je 0x5667d4
xchg esi, eax
test al, al
xchg esi, eax
je 0x5669fc
mov eax, dword [0x8254f4]
mov ecx, dword [esp + 0x11c]
cmp dword [0x8254f0], ecx
jne 0x566875
mov dword [esp + 0xa0], edi
mov dword [esp + 0x9c], edx
xchg esi, eax
mov byte [esp + 0x43], al
xchg esi, eax
mov dword [esp + 0x98], ebp
mov dword [esp], ecx
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004033f0
movzx eax, byte [esp + 0xc]
test al, al
je 0x56685c
mov ebp, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa0]
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0xa8]
movzx esi, byte [esp + 0x43]
mov edi, dword [esp + 0x114]
jmp 0x566b2a
mov eax, dword [esp + 0x98]
test eax, eax
mov ecx, dword [esp + 0x11c]
mov ebx, dword [esp + 0xa4]
jmp 0x566877
test ebp, ebp
jg 0x566962
mov eax, dword [0x8254dc]
cmp dword [0x8254d8], ecx
jne 0x5668ab
mov dword [esp], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004033f0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x566907
lea eax, [0x652829]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], 0x2d
mov eax, dword [esp + 0x1a4]
mov dword [esp], eax
mov dword [esp + 4], 0x2d
call fcn.00408df0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x370], ecx
lea ecx, [0x6a4ff0]
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], eax
add esp, 0x338
ret
mov eax, dword [esp + 0x33c]
mov dword [esp], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004b02a0
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0x378], eax
add esp, 0x338
ret
mov eax, dword [esp + 0x348]
mov dword [esp], eax
mov ecx, dword [esp + 0x34c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x350]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.005653b0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
movzx esi, byte [esp + 0x1c]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x118], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], ebp
xchg esi, eax
mov byte [esp + 0xc0], al
xchg esi, eax
test edx, edx
je 0x566b2a
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], edi
add esp, 0x338
ret
mov eax, dword [esp + 0x33c]
mov dword [esp], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 8], eax
lea edi, [esp + 0xc]
lea esi, [esp + 0x358]
call fcn.0045f094
call fcn.005688a0
movzx eax, byte [esp + 0x24]
test al, al
je 0x566a51
mov eax, dword [esp + 0x354]
mov ecx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x114]
jmp 0x566a91
lea eax, [0x650489]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], 0x25
mov eax, dword [esp + 0x19c]
mov dword [esp], eax
mov dword [esp + 4], 0x25
call fcn.00408df0
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0xa4]
lea ecx, [0x6a4ff0]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], ebx
add esp, 0x338
ret
lea eax, [0x64b1bd]
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1b0], 0x19
mov eax, dword [esp + 0x1ac]
mov dword [esp], eax
mov dword [esp + 4], 0x19
call fcn.00408df0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x370], ecx
lea ecx, [0x6a4ff0]
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], eax
add esp, 0x338
ret
mov eax, dword [esp + 0xa4]
mov eax, ecx
mov ecx, edx
mov edx, eax
mov eax, dword [esp + 0xa4]
mov eax, ebx
mov ebx, edi
mov edi, eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x118], edi
mov dword [esp + 0xa8], edx
xchg esi, eax
mov byte [esp + 0x41], al
xchg esi, eax
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], ecx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0x120]
mov dword [esp], edx
mov edx, dword [esp + 0xe8]
mov dword [esp + 4], edx
call fcn.005691e0
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 8]
movzx edx, byte [esp + 0x11]
movzx ebx, byte [esp + 0x10]
test dl, dl
je 0x567eb6
cmp eax, 0x13
jne 0x566bdc
mov ebp, dword [esp + 0x4c]
test ebp, ebp
jne 0x566bc7
mov edx, ebx
mov ebx, dword [esp + 0x44]
cmp ebx, 0x14
jg 0x566bac
cmp ebx, 0xc
je 0x566bbb
cmp ebx, 0x12
je 0x566bbb
cmp ebx, 0x14
je 0x566bbb
jmp 0x566bbf
cmp ebx, 0x16
je 0x566bbb
cmp ebx, 0x1b
je 0x566bbb
cmp ebx, 0x1e
jne 0x566bbf
mov eax, ebx
jmp 0x566be8
mov ebx, eax
mov eax, dword [esp + 0x44]
jmp 0x566be8
mov edx, ebx
mov ebx, dword [esp + 0x364]
test ebx, ebx
jne 0x566bd6
mov ebx, eax
mov eax, dword [esp + 0x44]
jmp 0x566be8
mov edx, ebx
mov ebp, dword [esp + 0x4c]
mov ebx, eax
mov eax, dword [esp + 0x44]
cmp ebx, 0x17
jne 0x566bfb
cmp eax, 0x18
jne 0x566bfb
test ebp, ebp
jne 0x566bfb
mov ebx, 0x18
mov esi, ebp
movzx ebp, byte [esp + 0x36c]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x566c10
mov ebx, 0x11
mov byte [esp + 0x42], cl
movzx ebp, byte [esp + 0x359]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x566c59
mov edi, ebx
mov ebx, dword [esp + 0x360]
test ebx, ebx
je 0x566c53
mov ebx, dword [ebx]
xchg ebp, eax
test al, al
xchg ebp, eax
mov dword [esp + 0xac], eax
mov eax, 2
mov dword [esp + 0x70], eax
mov ecx, 0
mov eax, dword [esp + 0xac]
jmp 0x566c66
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebx, edi
mov edi, ebx
mov ebx, 0
mov dword [esp + 0x70], ebx
mov ebx, edi
jne 0x566ca7
mov dword [esp + 0x6c], ebx
movzx ebx, byte [esp + 0x35a]
test bl, bl
je 0x566c9f
mov ebx, dword [esp + 0x360]
test ebx, ebx
je 0x566c95
mov ebx, dword [ebx]
xchg ebp, eax
test al, al
xchg ebp, eax
mov ecx, 1
mov ebp, 0
jmp 0x566cad
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebx, dword [esp + 0x6c]
jmp 0x566ca7
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebx, dword [esp + 0x6c]
mov ebp, ecx
mov ecx, dword [esp + 0x70]
jne 0x566ce8
mov dword [esp + 0x94], ebx
movzx ebx, byte [esp + 0x35b]
test bl, bl
je 0x566ce1
mov ebx, dword [esp + 0x360]
test ebx, ebx
je 0x566cd8
mov ebx, dword [ebx]
xor ebp, ebp
mov ecx, 3
jmp 0x566ce8
mov ebx, dword [esp + 0x94]
jmp 0x566ce8
mov ebx, dword [esp + 0x94]
mov dword [esp + 0x6c], ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x566d02
cmp ecx, esi
jne 0x567c87
cmp ebx, eax
jne 0x567c87
movzx ebp, byte [esp + 0x42]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x566d14
movzx ebp, byte [esp + 0x41]
jmp 0x566d23
movzx ebp, byte [esp + 0x41]
xchg ebp, eax
cmp al, dl
xchg ebp, eax
jne 0x567c87
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x50]
lea esi, [ebp + ebx]
cmp ebp, esi
jg 0x567c2e
mov ebx, dword [esp + 0x34c]
cmp ebx, esi
jl 0x567c2e
mov ebx, dword [esp + 0x350]
cmp ebx, esi
jb 0x5685f5
cmp ebp, esi
ja 0x5685ec
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa0], edi
mov eax, dword [esp + 0x33c]
mov dword [esp], eax
mov ecx, dword [esp + 0x340]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x344]
mov dword [esp + 8], edx
call fcn.004ada60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004af2d0
mov eax, dword [esp + 0x350]
mov ecx, dword [esp + 0x50]
mov edx, eax
sub eax, ecx
mov ebx, eax
neg eax
sar eax, 0x1f
and eax, ecx
mov dword [esp + 0x9c], eax
mov ecx, dword [esp + 0x348]
lea ebp, [eax + ecx]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov dword [esp + 0xd8], edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0xd4], edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0xd0], edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0xcc], edi
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
test esi, esi
je 0x56741c
mov edx, dword [esi + 8]
cmp edx, 0x4c618499
ja 0x5670bf
cmp edx, 0x1c87085b
jne 0x566ea2
lea eax, [0x5fba20]
cmp edi, eax
jne 0x567415
mov dword [esp], ebp
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00564080
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test ecx, ecx
jne 0x566e7f
mov ecx, dword [esp + 0xc8]
mov dword [ecx], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], edx
mov dword [esp + 0x378], ebx
add esp, 0x338
ret
cmp edx, 0x26ca392d
jne 0x56703a
lea ecx, [0x639fe0]
cmp edi, ecx
jne 0x567415
mov ecx, dword [esp + 0xa0]
cmp ecx, 0x17
jne 0x566f83
lea edi, [esp + 0x224]
xor eax, eax
call fcn.0045ebbb
mov dword [esp], ebp
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00564b20
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x120], ecx
mov edx, dword [esp + 0x24]
lea edi, [esp + 0x224]
lea esi, [esp + 0xc]
call fcn.0045f09e
mov edi, dword [esp + 0xcc]
test byte [edi], al
mov ecx, dword [0x84c5a0]
test ecx, ecx
jne 0x566f2e
lea esi, [esp + 0x224]
call fcn.0045f09e
jmp 0x566f59
mov dword [esp + 0x118], edx
lea eax, [0x639000]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x224]
mov dword [esp + 8], eax
call fcn.00410410
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], edx
add esp, 0x338
ret
lea edi, [esp + 0x224]
xor eax, eax
call fcn.0045ebbb
mov dword [esp], ebp
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00564e70
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x120], ecx
mov edx, dword [esp + 0x24]
lea edi, [esp + 0x224]
lea esi, [esp + 0xc]
call fcn.0045f09e
mov edi, dword [esp + 0xcc]
test byte [edi], al
mov ecx, dword [0x84c5a0]
test ecx, ecx
jne 0x566fe5
lea esi, [esp + 0x224]
call fcn.0045f09e
jmp 0x567010
mov dword [esp + 0x118], edx
lea eax, [0x639000]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x224]
mov dword [esp + 8], eax
call fcn.00410410
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], edx
add esp, 0x338
ret
cmp edx, 0x4c618499
jne 0x567415
lea eax, [0x616e00]
cmp edi, eax
jne 0x567415
mov dword [esp], ebp
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.005646c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0xd4]
mov dword [edi + 4], ecx
mov dword [edi + 8], edx
mov ecx, dword [0x84c5a0]
test ecx, ecx
jne 0x567097
mov dword [edi], eax
jmp 0x56709c
call fcn.0045e940
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], ebx
mov dword [esp + 0x378], ebp
add esp, 0x338
ret
cmp edx, 0x7418f6b4
ja 0x56719d
cmp edx, 0x4d10f6f9
jne 0x567115
lea ecx, [0x5fba60]
cmp edi, ecx
jne 0x567415
mov byte [eax], 1
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x378], eax
add esp, 0x338
ret
cmp edx, 0x7418f6b4
jne 0x567415
lea eax, [0x5fada0]
cmp edi, eax
jne 0x567415
mov dword [esp + 0xc4], ecx
mov dword [esp], ebp
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00564230
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test ecx, ecx
jne 0x56717a
mov edi, dword [esp + 0xc4]
test byte [edi], al
mov ecx, dword [0x84c5a0]
test ecx, ecx
jne 0x567175
mov dword [edi], eax
jmp 0x56717a
call fcn.0045e940
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], edx
mov dword [esp + 0x378], ebx
add esp, 0x338
ret
cmp edx, 0x8faab972
jne 0x5672c2
lea edx, [0x5fbae0]
cmp edi, edx
jne 0x567415
mov eax, dword [esp + 0x354]
mov ecx, dword [esp + 0xa4]
cmp eax, ecx
ja 0x5685e7
lea edi, [esp + 0x250]
mov edx, eax
xor eax, eax
call fcn.0045ebb7
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x250], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x254], ecx
movzx ecx, byte [esp + 0x41]
mov byte [esp + 0x258], cl
mov dword [esp + 0x25c], ebp
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], ebx
mov ecx, dword [esp + 0x350]
sub ecx, edx
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, edx
mov ebp, dword [esp + 0x348]
add ecx, ebp
mov dword [esp + 0x268], ecx
mov ecx, dword [esp + 0xa4]
mov ebp, ecx
sub ecx, edx
mov dword [esp + 0x26c], ecx
mov dword [esp + 0x270], ebx
mov edi, dword [esp + 0xd8]
test byte [edi], al
mov ecx, dword [0x84c5a0]
test ecx, ecx
jne 0x567274
lea esi, [esp + 0x250]
call fcn.0045f076
jmp 0x567298
lea eax, [0x627040]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x250]
mov dword [esp + 8], eax
call fcn.00410410
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x370], ebp
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x378], eax
add esp, 0x338
ret
cmp edx, 0xeb2625b9
jne 0x567415
lea edx, [0x616da0]
cmp edi, edx
jne 0x567415
mov edx, dword [esp + 0x48]
test edx, edx
je 0x567388
mov esi, dword [esp + 0x348]
mov eax, ebx
mov ebx, dword [esp + 0x9c]
movzx ecx, byte [ebx + esi]
movzx ebx, cl
cmp ebx, 7
jg 0x567326
cmp edx, 1
jne 0x56730d
test ebx, ebx
jne 0x567326
movzx esi, byte [edx + ebp - 1]
mov edi, ebp
mov ebp, 1
shl ebp, cl
dec ebp
xchg esi, eax
xchg ebp, ebx
test bl, al
xchg ebp, ebx
xchg esi, eax
je 0x567369
lea eax, [0x64f47c]
mov dword [esp + 0x174], eax
mov dword [esp + 0x178], 0x22
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.00408df0
mov eax, dword [esp + 8]
xor ebx, ebx
xor ebp, ebp
xor edx, edx
xor ecx, ecx
lea esi, [0x6a5004]
jmp 0x5673c9
lea ecx, [edx - 1]
mov edx, ecx
shl ecx, 3
sub ecx, ebx
lea ebx, [eax - 1]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add ebx, edi
xor esi, esi
xor eax, eax
jmp 0x5673c9
lea eax, [0x64994a]
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], 0x16
mov eax, dword [esp + 0x17c]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.00408df0
mov eax, dword [esp + 8]
xor ebx, ebx
xor ebp, ebp
xor edx, edx
xor ecx, ecx
lea esi, [0x6a5004]
mov edi, dword [esp + 0xd0]
mov dword [edi + 4], edx
mov dword [edi + 8], ebp
mov dword [edi + 0xc], ecx
mov ecx, dword [0x84c5a0]
test ecx, ecx
jne 0x5673e7
mov dword [edi], ebx
jmp 0x5673f2
mov ecx, eax
mov eax, ebx
call fcn.0045e940
mov eax, ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x370], ecx
mov dword [esp + 0x374], esi
mov dword [esp + 0x378], eax
add esp, 0x338
ret
mov edx, dword [esp + 0x350]
mov dword [esp + 0x98], ebx
mov dword [esp + 0xdc], ebp
nop
mov eax, dword [esp + 0x344]
mov ecx, eax
and eax, 0x1f
cmp eax, 6
jbe 0x5678f5
cmp eax, 0x17
je 0x567682
cmp eax, 0x18
jne 0x567672
mov eax, dword [esp + 0xa0]
cmp eax, 0x13
jg 0x567528
cmp eax, 0xc
je 0x5674a9
cmp eax, 0x12
jne 0x567477
mov eax, dword [esp + 0x48]
xor edx, edx
jmp 0x568564
cmp eax, 0x13
jne 0x56757d
mov dword [esp], ebp
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.005650b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
jmp 0x56847a
mov dword [esp], ebp
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00487ab0
movzx eax, byte [esp + 0xc]
test al, al
je 0x5674f6
mov dword [esp], 0
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
call fcn.0044b5e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
xor ebx, ebx
jmp 0x56847a
lea eax, [0x615260]
mov dword [esp], eax
call fcn.0040b380
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x64b9e7]
mov dword [eax], ecx
xor ecx, ecx
lea edx, [0x6a4c44]
mov ebx, eax
xor eax, eax
jmp 0x56847a
cmp eax, 0x16
jg 0x56756b
cmp eax, 0x14
je 0x567542
cmp eax, 0x16
jne 0x56757d
mov eax, dword [esp + 0x48]
xor edx, edx
jmp 0x5684eb
mov dword [esp], 0
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
call fcn.0044b5e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
xor ebx, ebx
jmp 0x56847a
cmp eax, 0x1b
je 0x567649
cmp eax, 0x1e
je 0x567620
mov dword [esp + 0x1e4], 0
mov dword [esp + 0x1e8], 0
mov dword [esp], eax
call fcn.00408ce0
mov eax, dword [esp + 4]
lea ecx, [0x60c040]
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x1e8], eax
lea eax, [0x650981]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0x1e4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004bd7e0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], eax
mov ecx, dword [esp + 0x144]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00408df0
mov ebx, dword [esp + 8]
lea edx, [0x6a5004]
xor ecx, ecx
xor eax, eax
jmp 0x56847a
mov dword [esp], ebp
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.005651c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
jmp 0x56847a
mov dword [esp], 0
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
call fcn.0044b5e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
xor ebx, ebx
jmp 0x56847a
cmp eax, 0x19
jne 0x567b79
xor eax, eax
jmp 0x567fa1
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
jne 0x56780e
mov eax, dword [esp + 0x120]
mov dword [esp], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.004b1230
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x33c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x340]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x344]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004b0190
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 8], eax
call fcn.00408e70
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0x825e48]
test cl, cl
je 0x567770
lea ecx, [0x604e20]
mov dword [0x825e4c], ecx
mov edx, dword [0x84c5a0]
test edx, edx
jne 0x567763
mov dword [0x825e50], eax
jmp 0x567776
lea edi, [0x825e50]
call fcn.0045e940
jmp 0x567776
lea ecx, [0x604e20]
mov dword [esp + 0x124], ecx
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x124]
test ecx, ecx
je 0x5677a6
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x5677ac
or edx, 0x80
jmp 0x5677ac
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0x33c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x340]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x344]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004b0f10
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x378], eax
add esp, 0x338
ret
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xe8]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.005659c0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
test ebx, ebx
jne 0x5678d2
mov dword [esp + 0x120], ebp
mov dword [esp + 0xec], esi
mov ebx, dword [esp + 0x33c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x340]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x344]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004b0190
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0xec]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], ebp
mov dword [esp + 0x378], esi
add esp, 0x338
ret
cmp eax, 1
jne 0x567a22
mov eax, dword [esp + 0x48]
cmp eax, 1
jne 0x567981
mov eax, dword [esp + 0x348]
mov edx, dword [esp + 0x9c]
movzx eax, byte [edx + eax]
test al, al
jne 0x567928
xor eax, eax
xor edx, edx
xor ebx, ebx
jmp 0x5679c3
cmp al, 0xff
jne 0x56793b
mov eax, 1
xor edx, edx
xor ebx, ebx
jmp 0x5679c3
lea eax, [0x644d1f]
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], 0xf
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.00408df0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x344]
lea edx, [0x6a5004]
mov ebx, eax
xor eax, eax
jmp 0x5679c3
lea eax, [0x644d1f]
mov dword [esp + 0x16c], eax
mov dword [esp + 0x170], 0xf
mov eax, dword [esp + 0x16c]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.00408df0
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x344]
lea edx, [0x6a5004]
xor eax, eax
test edx, edx
jne 0x5679ff
mov dword [esp + 0xf8], ebx
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x33c]
mov dword [esp], edx
mov edx, dword [esp + 0x340]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov byte [esp + 0xc], al
call fcn.004b02a0
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0xf8]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], edx
mov dword [esp + 0x378], ebx
add esp, 0x338
ret
cmp eax, 2
je 0x567a30
cmp eax, 5
jb 0x567b79
mov eax, dword [esp + 0x33c]
mov dword [esp], eax
mov edx, dword [esp + 0x340]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004b0af0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x7c]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 4
jne 0x567ae9
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 8], eax
call fcn.00564080
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test ecx, ecx
jne 0x567b56
mov dword [esp + 0xf4], edx
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x33c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x340]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x344]
mov dword [esp + 8], ecx
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
call fcn.004b04f0
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0xf4]
jmp 0x567b56
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 8], eax
call fcn.00563e10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
jne 0x567b52
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x33c]
mov dword [esp], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 8], eax
call fcn.004b04f0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0xf0]
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], edx
add esp, 0x338
ret
mov eax, dword [esp + 0x33c]
mov dword [esp], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004b0af0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x6438f2]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0044b330
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x140], eax
mov ecx, dword [esp + 0x13c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00408df0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x370], ecx
lea ecx, [0x6a4ff0]
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], eax
add esp, 0x338
ret
lea eax, [0x6441d4]
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], 0xe
mov eax, dword [esp + 0x184]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.00408df0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x370], ecx
lea ecx, [0x6a5004]
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], eax
add esp, 0x338
ret
mov eax, dword [esp + 0x33c]
mov dword [esp], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 8], eax
lea edi, [esp + 0xc]
lea esi, [esp + 0x358]
call fcn.0045f094
call fcn.005688a0
movzx eax, byte [esp + 0x24]
test al, al
je 0x567cdf
mov eax, dword [esp + 0x354]
mov ecx, dword [esp + 0xa8]
mov edi, dword [esp + 0x118]
jmp 0x567e9a
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xbc], eax
movzx eax, byte [esp + 0x41]
mov byte [esp + 0xc0], al
lea edi, [esp + 0x238]
lea esi, [esp + 0x358]
call fcn.0045f094
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x60]
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xa4], ecx
lea edi, [esp + 0x274]
xor eax, eax
call fcn.0045ebb6
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.00408ce0
mov eax, dword [esp + 4]
lea ecx, [0x60c040]
mov dword [esp + 0x274], ecx
mov dword [esp + 0x278], eax
lea eax, [0x623bc0]
mov dword [esp], eax
lea edx, [esp + 0xb4]
mov dword [esp + 4], edx
call fcn.00408c00
mov eax, dword [esp + 8]
lea ecx, [0x623bc0]
mov dword [esp + 0x27c], ecx
mov dword [esp + 0x280], eax
lea eax, [0x62efe0]
mov dword [esp], eax
lea ecx, [esp + 0x238]
mov dword [esp + 4], ecx
call fcn.00408ba0
mov eax, dword [esp + 8]
lea ecx, [0x62efe0]
mov dword [esp + 0x284], ecx
mov dword [esp + 0x288], eax
mov eax, dword [esp + 0x120]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
call fcn.00408df0
mov eax, dword [esp + 8]
lea ecx, [0x60c800]
mov dword [esp + 0x28c], ecx
mov dword [esp + 0x290], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.00408ce0
mov eax, dword [esp + 4]
lea ecx, [0x60c040]
mov dword [esp + 0x294], ecx
mov dword [esp + 0x298], eax
lea eax, [0x650e78]
mov dword [esp], eax
mov dword [esp + 4], 0x27
lea eax, [esp + 0x274]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
mov dword [esp + 0x10], 5
call fcn.004bd7e0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
mov ecx, dword [esp + 0x18c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00408df0
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x50]
lea ecx, [0x6a4ff0]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], edi
add esp, 0x338
ret
mov dword [esp + 0x1e4], 0
mov dword [esp + 0x1e8], 0
mov eax, dword [esp + 0x11c]
test eax, eax
je 0x567edc
mov ebp, dword [eax + 4]
jmp 0x567ede
mov ebp, eax
mov dword [esp + 0x1e4], ebp
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x1e8], eax
lea eax, [0x647b8b]
mov dword [esp], eax
mov dword [esp + 4], 0x13
lea eax, [esp + 0x1e4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004bd7e0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
mov ecx, dword [esp + 0x194]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00408df0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x370], ecx
lea ecx, [0x6a4ff0]
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], eax
add esp, 0x338
ret
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], ebx
add esp, 0x338
ret
mov ecx, dword [esp + 0x64]
lea eax, [ecx + 1]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 0x64]
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
call edx
mov eax, dword [esp + 0x64]
cmp dword [esp + 4], eax
jle 0x568067
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
lea edi, [esp + 0x304]
lea esi, [esp + 8]
call fcn.0045f04e
lea edi, [esp + 0x2d0]
lea esi, [esp + 0x304]
call fcn.0045f04e
mov eax, dword [esp + 0x2dc]
test eax, eax
je 0x567f9a
lea eax, [0x64f049]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], 0x21
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.00408df0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x370], ecx
lea ecx, [0x6a4ff0]
mov dword [esp + 0x374], ecx
mov dword [esp + 0x378], eax
add esp, 0x338
ret
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x64]
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
jg 0x568086
xor eax, eax
jmp 0x5680e6
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
mov dword [esp + 4], 0
call ecx
lea edi, [esp + 0x304]
lea esi, [esp + 8]
call fcn.0045f04e
mov eax, dword [esp + 0x314]
mov ecx, dword [esp + 0x318]
mov edx, dword [0x8254ec]
cmp dword [0x8254e8], eax
je 0x5680d1
xor eax, eax
jmp 0x5680e6
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004033f0
movzx eax, byte [esp + 0xc]
test al, al
je 0x568235
mov eax, dword [esp + 0x354]
mov ecx, dword [esp + 0xa4]
cmp eax, ecx
ja 0x568475
mov eax, dword [esp + 0x33c]
mov dword [esp], eax
mov ecx, dword [esp + 0x340]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x344]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.004aebd0
mov eax, dword [esp + 0x350]
mov ecx, dword [esp + 0x354]
sub eax, ecx
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ecx
mov ebx, dword [esp + 0x348]
add eax, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x110], ebx
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x10c], ebp
mov esi, dword [esp + 0x18]
mov dword [esp + 0x90], esi
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
sub eax, ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00408e70
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0x825e48]
test cl, cl
je 0x5681c8
lea ecx, [0x60d120]
mov dword [0x825e4c], ecx
mov edx, dword [0x84c5a0]
test edx, edx
jne 0x5681bb
mov dword [0x825e50], eax
jmp 0x5681ce
lea edi, [0x825e50]
call fcn.0045e940
jmp 0x5681ce
lea ecx, [0x60d120]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x130], eax
mov ecx, dword [esp + 0x12c]
test ecx, ecx
je 0x5681fe
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x568204
or edx, 0x80
jmp 0x568204
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0x110]
mov dword [esp], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004b0190
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x118]
jmp 0x568254
mov ebp, dword [esp + 0x60]
inc ebp
mov edx, ecx
mov ecx, eax
mov eax, ebp
mov dword [esp + 0x120], ebx
mov dword [esp + 0xa8], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], ecx
mov ebp, dword [esp + 0x68]
mov esi, dword [ebp + 0x64]
mov edi, dword [esp + 0xe8]
mov dword [esp], edi
call esi
mov eax, dword [esp + 0x60]
cmp dword [esp + 4], eax
jle 0x568444
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
lea edi, [esp + 0x29c]
lea esi, [esp + 8]
call fcn.0045f04e
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x5682f7
mov ecx, dword [esp + 0x2ac]
mov edx, dword [esp + 0x2b0]
mov ebx, dword [0x8254ec]
cmp dword [0x8254e8], ecx
je 0x5682da
xor ecx, ecx
jmp 0x5682f9
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004033f0
movzx eax, byte [esp + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x60]
jmp 0x5682f9
xor ecx, ecx
test cl, cl
je 0x568314
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x120]
jmp 0x568249
mov ecx, dword [esp + 0x33c]
mov dword [esp], ecx
mov edx, dword [esp + 0x340]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x344]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.004aebd0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x110], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10c], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x90], edx
mov ebx, dword [esp + 0x2b4]
mov ebp, dword [esp + 0x2b8]
mov dword [esp], ebx
mov dword [esp + 4], ebp
lea ebx, [0x63c89b]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
call fcn.004aa720
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00568d20
lea edi, [esp + 0x238]
lea esi, [esp + 8]
call fcn.0045f094
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x18], ebx
lea edi, [esp + 0x1c]
lea esi, [esp + 0x238]
call fcn.0045f094
call fcn.00565e10
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
test ecx, ecx
je 0x568249
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], edx
mov dword [esp + 0x378], ebx
add esp, 0x338
ret
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x378], eax
add esp, 0x338
ret
call fcn.0045ea20
test edx, edx
jne 0x5684c7
mov dword [esp + 0x120], ebx
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0x33c]
mov dword [esp], edx
mov edx, dword [esp + 0x340]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x344]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004b06e0
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x120]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], edx
mov dword [esp + 0x378], ebx
add esp, 0x338
ret
inc edx
cmp edx, eax
jge 0x568536
lea ebx, [edx + ebp]
cmp byte [ebx], 0x80
jb 0x5684ea
lea eax, [0x64fd72]
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], 0x24
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
mov dword [esp + 4], 0x24
call fcn.00408df0
mov eax, dword [esp + 8]
xor ecx, ecx
lea edx, [0x6a5004]
xor ebx, ebx
jmp 0x568558
mov dword [esp], 0
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0044b5e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
mov ebx, eax
xor eax, eax
mov ebp, eax
mov eax, ebx
mov ebx, ebp
jmp 0x56847a
inc edx
cmp edx, eax
jge 0x5685ba
movzx ebx, byte [edx + ebp]
lea esi, [ebx - 0x30]
xchg esi, eax
cmp al, 9
xchg esi, eax
jbe 0x568563
cmp bl, 0x20
je 0x568563
lea eax, [0x65102a]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], 0x28
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov dword [esp + 4], 0x28
call fcn.00408df0
mov eax, dword [esp + 8]
xor ecx, ecx
lea edx, [0x6a5004]
xor ebx, ebx
jmp 0x5685dc
mov dword [esp], 0
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0044b5e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
mov ebx, eax
xor eax, eax
mov ebp, eax
mov eax, ebx
mov ebx, ebp
jmp 0x56847a
call fcn.0045ea20
mov eax, ebp
mov ecx, esi
call fcn.0045ea20
mov ecx, esi
mov edx, ebx
call fcn.0045ea00
test eax, eax
jne 0x5686ef
test ecx, ecx
je 0x5686d3
nop
movzx ebx, byte [0x825e48]
test bl, bl
je 0x568647
mov dword [0x825e4c], ecx
mov ebx, dword [0x84c5a0]
test ebx, ebx
jne 0x568632
mov dword [0x825e50], edx
jmp 0x568647
mov ebx, edi
lea edi, [0x825e50]
mov ebp, eax
mov eax, edx
call fcn.0045e940
mov eax, ebp
mov edi, ebx
mov dword [esp + 0xa8], eax
mov dword [esp + 0x120], edi
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], edx
mov ecx, dword [esp + 0x134]
test ecx, ecx
je 0x568687
nop
movzx ebx, byte [ecx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x56868d
or ebx, 0x80
jmp 0x56868d
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov eax, dword [esp + 0x33c]
mov dword [esp], eax
mov eax, dword [esp + 0x340]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x344]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
call fcn.004b0190
mov eax, dword [esp + 0xa8]
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0x120]
mov dword [esp + 0x370], esi
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], edi
add esp, 0x338
ret
mov dword [esp + 0x370], esi
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], edi
add esp, 0x338
ret
mov esi, eax
mov eax, edx
mov edx, ebx
jmp 0x5685fe
inc edx
cmp edx, ecx
jge 0x568763
lea ebp, [edx + ebx]
cmp byte [ebp], 0x80
jb 0x568716
lea eax, [0x64fd72]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], 0x24
mov eax, dword [esp + 0x1c4]
mov dword [esp], eax
mov dword [esp + 4], 0x24
call fcn.00408df0
mov eax, dword [esp + 8]
xor ecx, ecx
lea edx, [0x6a5004]
xor ebx, ebx
jmp 0x568785
mov dword [esp], 0
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.0044b5e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
mov ebx, eax
xor eax, eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x88], edx
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00408df0
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0xa0]
lea ecx, [0x60c800]
mov edx, dword [esp + 0x88]
mov edi, dword [esp + 0x104]
jmp 0x56870b
inc edx
cmp edx, ecx
jge 0x56881c
movzx ebp, byte [edx + ebx]
lea esi, [ebp - 0x30]
xchg esi, eax
cmp al, 9
xchg esi, eax
jbe 0x5687c3
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x5687c3
lea eax, [0x65102a]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], 0x28
mov eax, dword [esp + 0x1cc]
mov dword [esp], eax
mov dword [esp + 4], 0x28
call fcn.00408df0
mov eax, dword [esp + 8]
xor ecx, ecx
lea edx, [0x6a5004]
xor ebx, ebx
jmp 0x56883e
mov dword [esp], 0
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.0044b5e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
mov ebx, eax
xor eax, eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x8c], edx
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00408df0
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0xa0]
lea ecx, [0x60c800]
mov edx, dword [esp + 0x8c]
mov edi, dword [esp + 0x108]
jmp 0x56870b
mov ecx, esi
call fcn.0045ea20
mov ecx, esi
mov edx, ebx
call fcn.0045ea00
nop
call fcn.0045d530
jmp fcn.00565e10