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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xf8]
cmp eax, dword [ecx + 8]
jbe 0x605b0f
sub esp, 0x178
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1a4], 0
mov eax, dword [esp + 0x190]
mov dword [esp], eax
mov eax, dword [esp + 0x194]
mov dword [esp + 4], eax
call fcn.00605d30
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
test edx, edx
jne 0x604ba7
mov dword [esp + 0x44], ecx
mov dword [esp + 0xe0], eax
mov dword [esp + 0x4c], esi
lea edi, [esp + 0x130]
xor eax, eax
call fcn.0045f0bb
mov ecx, dword [esp + 0x180]
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0x184]
mov dword [esp], ebx
call edx
movzx ecx, byte [esp + 0x18]
mov byte [esp + 0x27], cl
lea edi, [esp + 0x130]
lea esi, [esp + 4]
call fcn.0045f59e
lea edi, [esp + 0x11c]
lea esi, [esp + 0x130]
call fcn.0045f59e
movzx ecx, byte [esp + 0x27]
test cl, cl
je 0x604780
lea edi, [esp + 0x108]
lea esi, [esp + 0x130]
call fcn.0045f59e
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
test ecx, 0x80000000
je 0x60474e
shl ecx, 1
mov edx, eax
shr eax, 0x1f
or eax, ecx
mov ecx, edx
shl edx, 1
mov ebx, eax
shl eax, 1
shr edx, 0x1f
or edx, eax
shr ebx, 0x1f
add edx, 0xd7b17f80
adc ebx, 0xd
jmp 0x60475e
mov edx, dword [esp + 0x110]
mov ebx, dword [esp + 0x114]
mov ecx, eax
test ebx, ebx
sete al
test edx, edx
sete dl
and eax, edx
test al, al
je 0x604779
test ecx, 0x3fffffff
sete al
jmp 0x60477b
xor eax, eax
xor eax, 1
jmp 0x604782
xor eax, eax
test al, al
je 0x604842
mov eax, dword [esp + 0x188]
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x18c]
mov dword [esp], edx
lea edi, [esp + 4]
lea esi, [esp + 0x11c]
call fcn.0045f59e
mov ecx, dword [esp + 0x6c]
call ecx
mov eax, dword [esp + 0x188]
test byte [eax], al
lea edi, [esp + 0x144]
lea esi, [0xe73740]
call fcn.0045f59e
lea edi, [esp + 0x158]
xor eax, eax
call fcn.0045f0b8
lea eax, [0x605ce0]
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x188]
mov dword [esp + 0x15c], eax
mov ecx, dword [esp + 0x18c]
mov dword [esp + 0x160], ecx
lea edi, [esp + 0x164]
lea esi, [esp + 0x144]
call fcn.0045f59e
lea ecx, [esp + 0x158]
mov dword [esp + 0xb0], ecx
lea ecx, [esp + 0xa4]
mov dword [esp], ecx
call fcn.00432490
test eax, eax
jne 0x604b9b
mov eax, dword [0xe7271c]
mov ecx, dword [esp + 0x180]
lea edx, [0x6d40e8]
cmp ecx, edx
jne 0x60487d
mov dword [esp], ecx
mov ecx, dword [esp + 0x184]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00403670
movzx eax, byte [esp + 0xc]
test al, al
jne 0x604a01
lea eax, [0x638600]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00404960
mov eax, dword [esp + 8]
mov dword [esp + 0xe4], eax
lea ecx, [0x6388c0]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00404960
mov eax, dword [esp + 8]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
lea ecx, [0x605c50]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xfc], eax
lea ecx, [esp + 0x1a0]
mov dword [esp + 0x100], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x104], ecx
lea edx, [esp + 0xf8]
mov dword [esp + 0x8c], edx
lea edx, [esp + 0x80]
mov dword [esp], edx
call fcn.00432490
test eax, eax
jne 0x604b8f
lea eax, [0x656960]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
lea ecx, [0x605b20]
mov dword [eax], ecx
mov ecx, dword [esp + 0x180]
mov dword [eax + 4], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x60497a
mov ecx, dword [esp + 0x184]
mov dword [eax + 8], ecx
jmp 0x604994
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x184]
call fcn.0045efc0
mov eax, ecx
mov ecx, dword [esp + 0x184]
mov edx, dword [esp + 0x188]
mov dword [eax + 0xc], edx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x6049c8
mov edx, dword [esp + 0x18c]
mov dword [eax + 0x10], edx
mov ebx, dword [esp + 0xe4]
mov dword [eax + 0x14], ebx
mov ebx, dword [esp + 0xe8]
mov dword [eax + 0x18], ebx
jmp 0x6049f9
lea edi, [eax + 0x10]
mov edx, eax
mov eax, dword [esp + 0x18c]
call fcn.0045efc0
lea edi, [edx + 0x14]
mov eax, dword [esp + 0xe4]
call fcn.0045efc0
lea edi, [edx + 0x18]
mov eax, dword [esp + 0xe8]
call fcn.0045efc0
mov eax, edx
mov dword [esp], eax
call fcn.0043e6a0
lea eax, [0x63efa0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x4c]
lea edx, [ecx + 6]
mov dword [esp + 0x54], edx
mov dword [esp + 8], edx
call fcn.00447490
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x54]
cmp ecx, 1
jae 0x604a67
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 0
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, edx
mov byte [eax], 5
mov edx, dword [esp + 0x17c]
mov ebx, dword [edx + 0x1c]
mov ebp, dword [edx + 0x18]
test ebx, ebx
je 0x604b48
mov esi, dword [edx + 0x24]
test esi, esi
je 0x604b48
cmp ebx, 0xff
jg 0x604af1
mov dword [esp + 0xf0], ebp
mov dword [esp + 0x68], ebx
cmp ecx, 2
jae 0x604ae2
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x17c]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0xf0]
mov byte [eax + 1], bl
xor esi, esi
mov edi, 2
jmp 0x605ab0
lea eax, [0x647880]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1f
lea ecx, [0x67d2e3]
mov dword [eax], ecx
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
lea ecx, [0x6d2f90]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], eax
call fcn.00432a20
add esp, 0x178
ret
cmp ecx, 3
jae 0x604b82
mov dword [esp], eax
mov dword [esp + 4], 3
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x17c]
mov word [eax + 1], 1
mov ebx, 3
jmp 0x604bd7
call fcn.00432a20
add esp, 0x178
ret
call fcn.00432a20
add esp, 0x178
ret
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x1a4], ebp
call fcn.00432a20
add esp, 0x178
ret
mov dword [esp + 0xec], eax
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x188]
mov ebp, dword [edx + 0x2c]
mov esi, dword [esp + 0x18c]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call ebp
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
test edx, edx
jne 0x60507d
lea eax, [0x645d20]
mov dword [esp], eax
mov ecx, dword [esp + 0x188]
mov dword [esp + 4], ecx
call fcn.00408a70
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xec]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
mov edx, dword [esp + 0x54]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 2
call fcn.00467bb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
test edx, edx
jne 0x605071
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax]
cmp cl, 5
jne 0x604fb4
movzx ecx, byte [eax + 1]
cmp ecx, 0xff
je 0x604f5d
mov edx, dword [esp + 0x17c]
mov ebx, dword [edx + 0x24]
test ebx, ebx
je 0x604d53
mov dword [esp + 0x64], ecx
lea eax, [0x648d80]
mov dword [esp], eax
mov eax, dword [esp + 0x188]
mov dword [esp + 4], eax
call fcn.00408a70
mov eax, dword [esp + 0x17c]
mov edx, dword [eax + 0x24]
mov ecx, dword [edx]
mov ebx, dword [esp + 0x180]
mov dword [esp], ebx
mov ebx, dword [esp + 0x184]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x18c]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x10], ebp
call ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
test edx, edx
jne 0x604f51
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0x17c]
mov ecx, dword [edx]
mov edx, dword [esp + 0x54]
cmp edx, 3
jae 0x604d96
mov dword [esp + 0x60], ecx
mov dword [esp], eax
mov dword [esp + 4], 3
mov dword [esp + 8], edx
mov dword [esp + 0xc], 3
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0xec], eax
mov dword [esp + 0x54], edx
mov byte [eax], 5
mov byte [eax + 1], cl
mov byte [eax + 2], 0
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 4], ebx
call fcn.00568390
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test eax, eax
je 0x604dec
cmp ecx, 4
je 0x604de3
cmp ecx, 0x10
jne 0x605a68
xor edx, edx
jmp 0x605a76
mov edx, ecx
mov ebx, eax
jmp 0x6057a1
mov eax, dword [esp + 0x4c]
cmp eax, 0xff
jg 0x604efa
mov ecx, dword [esp + 0x54]
cmp ecx, 4
jb 0x604e0d
mov edx, dword [esp + 0xec]
jmp 0x604e4a
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, edx
mov edx, eax
mov eax, dword [esp + 0x4c]
mov byte [edx + 3], 3
cmp ecx, 5
jae 0x604e85
mov dword [esp], edx
mov dword [esp + 4], 5
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov byte [edx + 4], al
lea ebx, [eax + 5]
cmp ecx, ebx
jae 0x604ebd
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
lea ecx, [0x63efa0]
mov dword [esp + 0x10], ecx
call fcn.00447550
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0xec], edx
lea ebp, [edx + 5]
mov dword [esp], ebp
mov ebp, dword [esp + 0xe0]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0045f7b0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0x50]
jmp 0x605089
lea eax, [0x647880]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xd
lea ecx, [0x6752fd]
mov dword [eax], ecx
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
lea ecx, [0x6d2f90]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], eax
call fcn.00432a20
add esp, 0x178
ret
call fcn.00432a20
add esp, 0x178
ret
lea eax, [0x647880]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x24
lea ecx, [0x67f27c]
mov dword [eax], ecx
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
lea ecx, [0x6d2f90]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], eax
call fcn.00432a20
add esp, 0x178
ret
movzx eax, cl
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.00470a50
mov dword [esp], 0
lea eax, [0x67bea6]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1c
call fcn.0044ad20
mov eax, dword [esp + 0x14]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x40], ecx
lea edx, [0x647880]
mov dword [esp], edx
call fcn.0040af90
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x40]
mov dword [edi + 4], eax
mov eax, dword [0xe996c0]
test eax, eax
jne 0x60502f
mov eax, dword [esp + 0xdc]
mov dword [edi], eax
jmp 0x60503b
mov eax, dword [esp + 0xdc]
call fcn.0045efc0
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
lea eax, [0x6d2f90]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], edi
call fcn.00432a20
add esp, 0x178
ret
call fcn.00432a20
add esp, 0x178
ret
call fcn.00432a20
add esp, 0x178
ret
add edx, 2
cmp eax, edx
jae 0x6050be
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xec], ecx
mov dword [esp + 0x54], eax
mov ebx, dword [esp + 0x44]
mov ebp, ebx
sar ebx, 8
mov byte [edx + ecx - 2], bl
xchg ebp, eax
mov byte [edx + ecx - 1], al
xchg ebp, eax
mov ebx, dword [esp + 0x188]
mov ebx, dword [ebx + 0x2c]
mov ebp, dword [esp + 0x18c]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
test edx, edx
jne 0x605795
lea eax, [0x645d20]
mov dword [esp], eax
mov ecx, dword [esp + 0x188]
mov dword [esp + 4], ecx
call fcn.00408a70
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xec]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 4
mov edx, dword [esp + 0x54]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 4
call fcn.00467bb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
test edx, edx
jne 0x605789
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax]
cmp cl, 5
jne 0x6056cc
movzx ecx, byte [eax + 1]
test ecx, ecx
jne 0x605613
movzx ecx, byte [eax + 2]
test cl, cl
jne 0x6055bc
lea eax, [0x654740]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [esp + 0xf4], eax
mov ecx, dword [esp + 0xec]
movzx edx, byte [ecx + 3]
cmp dl, 1
je 0x6053be
cmp dl, 3
je 0x605310
cmp dl, 4
jne 0x605253
lea eax, [0x63efa0]
mov dword [esp], eax
mov dword [esp + 4], 0x10
mov dword [esp + 8], 0x10
call fcn.00447490
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xf4]
mov dword [ecx + 0xc], 0x10
mov dword [ecx + 0x10], 0x10
mov edx, dword [0xe996c0]
test edx, edx
jne 0x605241
mov dword [ecx + 8], eax
jmp 0x605249
lea edi, [ecx + 8]
call fcn.0045efc0
mov eax, 0x12
jmp 0x605411
movzx eax, dl
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.00470a50
mov dword [esp], 0
lea eax, [0x6789ca]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x15
call fcn.0044ad20
mov eax, dword [esp + 0x14]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x34], ecx
lea edx, [0x647880]
mov dword [esp], edx
call fcn.0040af90
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x34]
mov dword [edi + 4], eax
mov eax, dword [0xe996c0]
test eax, eax
jne 0x6052ce
mov eax, dword [esp + 0xd0]
mov dword [edi], eax
jmp 0x6052da
mov eax, dword [esp + 0xd0]
call fcn.0045efc0
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
lea eax, [0x6d2f90]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], edi
call fcn.00432a20
add esp, 0x178
ret
lea eax, [0x645d20]
mov dword [esp], eax
mov ecx, dword [esp + 0x188]
mov dword [esp + 4], ecx
call fcn.00408a70
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xec]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov edx, dword [esp + 0x54]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 1
call fcn.00467bb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x60538e
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax]
add ecx, 2
mov eax, ecx
mov ecx, dword [esp + 0xf4]
jmp 0x605411
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], edx
call fcn.00432a20
add esp, 0x178
ret
lea eax, [0x63efa0]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.00447490
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xf4]
mov dword [ecx + 0xc], 4
mov dword [ecx + 0x10], 4
mov edx, dword [0xe996c0]
test edx, edx
jne 0x605404
mov dword [ecx + 8], eax
jmp 0x60540c
lea edi, [ecx + 8]
call fcn.0045efc0
mov eax, 6
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0x54]
cmp eax, edx
jg 0x605426
mov ebx, dword [esp + 0xec]
jmp 0x605446
lea ecx, [0x63efa0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00447490
mov ecx, dword [esp + 0xc]
mov ebx, ecx
mov edx, dword [esp + 0x48]
mov dword [esp + 0xec], ebx
mov dword [esp + 0x54], edx
lea eax, [0x645d20]
mov dword [esp], eax
mov eax, dword [esp + 0x188]
mov dword [esp + 4], eax
call fcn.00408a70
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call fcn.00467bb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
test edx, edx
jne 0x6055b0
mov eax, dword [esp + 0xf4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
test ecx, ecx
je 0x605514
mov ebx, dword [esp + 0x48]
cmp ebx, edx
jge 0x6054df
mov edx, ebx
jmp 0x6054e5
mov ebx, edx
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0xec]
cmp ebp, ecx
je 0x605568
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.0045f7b0
mov eax, dword [esp + 0xf4]
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0xec]
jmp 0x605568
mov dword [esp], 0
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x48]
lea edx, [ecx - 2]
mov dword [esp + 8], edx
call fcn.0044afd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0xf4]
mov dword [edi + 4], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x605556
mov dword [edi], eax
jmp 0x60555b
call fcn.0045efc0
mov eax, edi
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0xec]
movzx ecx, byte [edx + ebp - 2]
shl ecx, 8
movzx edx, byte [edx + ebp - 1]
or ecx, edx
mov dword [eax + 0x14], ecx
lea ecx, [0x6d3d00]
mov dword [esp + 0x198], ecx
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1a4], 0
call fcn.00432a20
add esp, 0x178
ret
call fcn.00432a20
add esp, 0x178
ret
lea eax, [0x647880]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x17
lea ecx, [0x679869]
mov dword [eax], ecx
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
lea ecx, [0x6d2f90]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], eax
call fcn.00432a20
add esp, 0x178
ret
mov dword [esp], ecx
call fcn.00605ee0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x675bc2]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xe
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0044ad20
mov eax, dword [esp + 0x14]
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
lea edx, [0x647880]
mov dword [esp], edx
call fcn.0040af90
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x38]
mov dword [edi + 4], eax
mov eax, dword [0xe996c0]
test eax, eax
jne 0x60568a
mov eax, dword [esp + 0xd4]
mov dword [edi], eax
jmp 0x605696
mov eax, dword [esp + 0xd4]
call fcn.0045efc0
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
lea eax, [0x6d2f90]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], edi
call fcn.00432a20
add esp, 0x178
ret
movzx eax, cl
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.00470a50
mov dword [esp], 0
lea eax, [0x67bea6]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1c
call fcn.0044ad20
mov eax, dword [esp + 0x14]
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], ecx
lea edx, [0x647880]
mov dword [esp], edx
call fcn.0040af90
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x3c]
mov dword [edi + 4], eax
mov eax, dword [0xe996c0]
test eax, eax
jne 0x605747
mov eax, dword [esp + 0xd8]
mov dword [edi], eax
jmp 0x605753
mov eax, dword [esp + 0xd8]
call fcn.0045efc0
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
lea eax, [0x6d2f90]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], edi
call fcn.00432a20
add esp, 0x178
ret
call fcn.00432a20
add esp, 0x178
ret
call fcn.00432a20
add esp, 0x178
ret
test eax, eax
je 0x60587e
mov dword [esp + 0x30], ecx
mov dword [esp + 0xcc], eax
mov edx, dword [esp + 0x54]
cmp edx, 4
jb 0x6057c6
mov ebx, dword [esp + 0xec]
jmp 0x605808
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov ebx, eax
mov eax, dword [esp + 0xcc]
mov byte [ebx + 3], 1
lea ebp, [ecx + 4]
cmp edx, ebp
jae 0x605848
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], ebp
mov dword [esp + 0xec], ebx
lea esi, [ebx + 4]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0045f7b0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xec]
jmp 0x605a06
cmp edx, 4
jne 0x605923
movzx eax, byte [ebx]
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
movzx ebx, byte [ebx + 3]
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov ebp, dword [0xe6de70]
mov esi, dword [0xe6de74]
cmp esi, 0x10
jl 0x6058cc
mov esi, 0x10
lea edi, [esp + 0x70]
cmp ebp, edi
je 0x605908
mov byte [esp + 0x2b], al
mov byte [esp + 0x2a], cl
mov byte [esp + 0x29], dl
mov byte [esp + 0x28], bl
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0045f7b0
movzx eax, byte [esp + 0x2b]
movzx ecx, byte [esp + 0x2a]
movzx edx, byte [esp + 0x29]
movzx ebx, byte [esp + 0x28]
mov byte [esp + 0x7c], al
mov byte [esp + 0x7d], cl
mov byte [esp + 0x7e], dl
mov byte [esp + 0x7f], bl
mov edx, 0x10
lea ebx, [esp + 0x70]
jmp 0x60592c
cmp edx, 0x10
je 0x60592c
xor edx, edx
xor ebx, ebx
test ebx, ebx
je 0x605a11
mov dword [esp + 0x2c], edx
mov dword [esp + 0xc8], ebx
mov eax, dword [esp + 0x54]
cmp eax, 4
jb 0x605951
mov ecx, dword [esp + 0xec]
jmp 0x605995
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov dword [esp + 4], 4
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc8]
mov ecx, eax
mov eax, edx
mov edx, dword [esp + 0x2c]
mov byte [ecx + 3], 4
lea ebp, [edx + 4]
cmp eax, ebp
jae 0x6059d5
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0xc8]
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], ebp
mov dword [esp + 0xec], ecx
lea esi, [ecx + 4]
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.0045f7b0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xec]
mov ebx, ecx
mov ecx, edx
mov edx, ebx
jmp 0x605089
lea eax, [0x647880]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x14
lea ecx, [0x6782ed]
mov dword [eax], ecx
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
lea ecx, [0x6d2f90]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], eax
call fcn.00432a20
add esp, 0x178
ret
mov edx, ecx
mov ebx, eax
xor ecx, ecx
xor eax, eax
jmp 0x6057a1
inc edx
cmp edx, 0xa
jge 0x605a85
movzx ebx, byte [eax + edx]
test bl, bl
je 0x605a75
jmp 0x605a68
cmp byte [eax + 0xa], 0xff
jne 0x605a68
cmp byte [eax + 0xb], 0xff
jne 0x605a68
lea ebp, [eax + 0xc]
mov edx, ecx
mov ebx, eax
mov ecx, 4
mov eax, ebp
jmp 0x6057a1
mov byte [edi + eax - 1], dl
inc esi
mov edx, dword [esp + 0x17c]
cmp esi, ebx
jge 0x605b08
mov edx, dword [ebp + esi*4]
inc edi
cmp ecx, edi
jae 0x605aa4
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], edx
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x63efa0]
mov dword [esp + 0x10], eax
call fcn.00447550
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0xf0]
mov esi, dword [esp + 0x5c]
jmp 0x605aa4
mov ebx, edi
jmp 0x604bd7
call fcn.0045dbb0
jmp fcn.00604610