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

Disassembly:
mov ecx, dword [0x9aee30]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x70]
cmp eax, dword [ecx + 8]
jbe 0x610a51
sub esp, 0xf0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
lea edx, [0x6cf9b7]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.004d3870
movzx eax, byte [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test al, al
je 0x60f887
mov dword [esp + 0x2c], edx
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x88], ebx
test eax, eax
jne 0x60f5c5
xor ebp, ebp
jmp 0x60f5f9
mov dword [esp], ebx
mov dword [esp + 4], eax
lea ecx, [0x6fa094]
mov dword [esp + 8], ecx
call fcn.004d2880
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x88]
mov ebp, eax
mov eax, dword [esp + 0x3c]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x60f86a
test edx, edx
jne 0x60f60b
xor ebp, ebp
jmp 0x60f63f
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x6fa094]
mov dword [esp + 8], eax
call fcn.004d2880
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x88]
mov ebp, eax
mov eax, dword [esp + 0x3c]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x60f86a
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004d22d0
mov eax, dword [esp + 0x74]
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x60f674
lea ebx, [esp + 0x74]
cmp eax, ebx
je 0x60f67c
jmp 0x610a38
lea eax, [esp + 0x74]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x78]
cmp eax, ebp
jae 0x60f6da
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x68], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x68], eax
mov dword [esp + 0xbc], esi
mov dword [esp + 0x64], ebp
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0046d220
mov eax, dword [esp + 0x64]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x74]
nop
nop
test eax, eax
je 0x60f730
lea ecx, [esp + 0x74]
cmp eax, ecx
je 0x60f738
jmp 0x610a20
lea eax, [esp + 0x74]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
inc ecx
mov edx, dword [esp + 0x78]
cmp eax, ecx
jae 0x60f785
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ecx
mov byte [ecx + edx - 1], 0x2f
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.004d22d0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x60f7c0
lea ebx, [esp + 0x74]
cmp eax, ebx
je 0x60f7c8
jmp 0x610a08
lea eax, [esp + 0x74]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x78]
cmp eax, ebp
jae 0x60f826
mov dword [esp + 0x48], edx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x68], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0xbc], esi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], eax
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0046d220
mov eax, dword [esp + 0x68]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x78], eax
jmp 0x60f99d
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov eax, dword [esp + 0xf8]
test eax, eax
je 0x60fa18
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x6fa094]
mov dword [esp + 8], edx
call fcn.004d2880
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x60fa18
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], eax
call fcn.004d22d0
mov eax, dword [esp + 0x74]
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x60f8f8
lea ebx, [esp + 0x74]
cmp eax, ebx
je 0x60f900
jmp 0x6109f0
lea eax, [esp + 0x74]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
lea ebp, [edx + ebx]
mov esi, dword [esp + 0x78]
cmp eax, ebp
jae 0x60f95e
mov dword [esp + 0x68], ebx
mov dword [esp + 0xac], ecx
mov dword [esp + 0x50], edx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0046d220
mov eax, dword [esp + 0x64]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x60f9ac
mov ecx, dword [eax]
jmp 0x60f9ae
xor ecx, ecx
mov dword [esp + 0x38], ecx
lea eax, [0x6929c0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call fcn.004507f0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb8], eax
lea edi, [esp + 0xc0]
xor eax, eax
call fcn.0046cb24
lea eax, [0x694cc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
lea edx, [esp + 0xc0]
mov dword [esp + 8], edx
call fcn.0040ee80
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xb8]
xor edx, edx
jmp 0x60fa55
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov dword [esi], ebp
lea eax, [esp + 0xc0]
mov dword [esp], eax
call fcn.0040f070
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0xc0]
test ebx, ebx
je 0x60faea
inc edx
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
cmp eax, edx
jae 0x60fab2
mov dword [esp + 0x58], ebx
mov dword [esp + 0xb0], ebp
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6929c0]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0xb0]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], eax
lea esi, [ecx + edx*8 - 4]
mov dword [esi], ebx
mov ebx, dword [0x9aef70]
lea esi, [ecx + edx*8 - 8]
test ebx, ebx
je 0x60fa35
call fcn.0046c8a0
mov dword [edi], ebp
mov ebx, dword [esi]
mov dword [edi + 4], ebx
jmp 0x60fa35
mov dword [esp + 0x34], edx
mov dword [esp + 0xb4], ecx
lea ebx, [0x749140]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.00477510
xor eax, eax
jmp 0x60fb1a
mov ecx, dword [esp + 0x68]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x34]
cmp eax, ecx
jge 0x6100e4
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0xb4]
lea edx, [ecx + eax*8]
mov ebx, dword [edx + 4]
mov dword [esp + 0x28], ebx
mov edx, dword [edx]
mov dword [esp + 0x6c], edx
lea ebp, [0x694cc0]
mov dword [esp], ebp
mov esi, dword [esp + 0xfc]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004116c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
mov edx, dword [eax + 4]
mov eax, dword [eax]
nop
nop
test ecx, ecx
je 0x60fb82
lea ebx, [esp + 0x74]
cmp ecx, ebx
je 0x60fb8a
jmp 0x6109d8
lea ecx, [esp + 0x74]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
inc ebx
mov ebp, dword [esp + 0x78]
cmp ecx, ebx
jae 0x60fbed
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov dword [esp + 0x78], ebp
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x7c], ebx
mov byte [ebx + ebp - 1], 0x3b
mov ecx, dword [esp + 0x74]
nop
nop
test ecx, ecx
je 0x60fc0d
lea ebx, [esp + 0x74]
cmp ecx, ebx
je 0x60fc15
jmp 0x6109c0
lea ecx, [esp + 0x74]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
inc ebx
mov ebp, dword [esp + 0x78]
cmp ecx, ebx
jae 0x60fc6d
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov dword [esp + 0x78], ebp
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x7c], ebx
mov byte [ebx + ebp - 1], 0x20
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x6100c7
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x6fa094]
mov dword [esp + 8], edx
call fcn.004d2880
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x6100c7
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
call fcn.004d22d0
mov eax, dword [esp + 0x74]
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x60fcdb
lea ebx, [esp + 0x74]
cmp eax, ebx
je 0x60fce3
jmp 0x6109a8
lea eax, [esp + 0x74]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x78]
cmp eax, ebp
jae 0x60fd41
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x64], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0046d220
mov eax, dword [esp + 0x60]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x78], eax
nop
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x8c]
xor edx, edx
jmp 0x61011a
cmp edx, eax
jge 0x60fe1f
mov ebx, dword [esp + 0x74]
nop
nop
test ebx, ebx
je 0x60fdb2
lea ebp, [esp + 0x74]
cmp ebx, ebp
je 0x60fdba
jmp 0x610990
lea ebx, [esp + 0x74]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x7c]
inc ebp
mov esi, dword [esp + 0x78]
cmp ebx, ebp
jae 0x60fe16
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov dword [esp + 0x78], esi
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x7c], ebp
mov byte [ebp + esi - 1], 0x2a
mov ebx, dword [esp + 0x74]
nop
nop
test ebx, ebx
je 0x60fe36
lea ebp, [esp + 0x74]
cmp ebx, ebp
je 0x60fe3e
jmp 0x610978
lea ebx, [esp + 0x74]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x7c]
inc ebp
mov esi, dword [esp + 0x78]
cmp ebx, ebp
jb 0x60fe56
cmp edx, eax
jmp 0x60fea2
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov dword [esp + 0x78], esi
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x40]
cmp eax, ecx
mov eax, ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x7c], ebp
mov byte [ebp + esi - 1], 0x3d
jge 0x60ff4d
mov edx, dword [esp + 0x74]
nop
test edx, edx
je 0x60fec7
lea ebx, [esp + 0x74]
cmp edx, ebx
je 0x60fecf
jmp 0x610960
lea edx, [esp + 0x74]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x7c]
lea ebx, [edx + 7]
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x78]
cmp ebp, ebx
jae 0x60ff26
mov dword [esp + 0x64], edx
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 7
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x64]
mov dword [esi + edx], 0x2d667475
mov dword [esi + edx + 3], 0x2727382d
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebp
mov dword [esp + 0x78], esi
xor edx, edx
xor ebx, ebx
jmp 0x6104d5
test eax, eax
jne 0x60ff55
xor edx, edx
jmp 0x60ff81
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x6fa094]
mov dword [esp + 8], edx
call fcn.004d2880
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x8c]
mov edx, eax
mov eax, dword [esp + 0x40]
test dl, dl
jne 0x610011
mov edx, dword [esp + 0x74]
nop
test edx, edx
je 0x60ff9f
lea ebx, [esp + 0x74]
cmp edx, ebx
je 0x60ffa7
jmp 0x6104bc
lea edx, [esp + 0x74]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
inc ebx
mov ebp, dword [esp + 0x78]
cmp edx, ebx
jae 0x60ffff
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov dword [esp + 0x78], ebp
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x7c], ebx
mov byte [ebx + ebp - 1], 0x22
xor edx, edx
xor ebx, ebx
jmp 0x610189
mov edx, dword [esp + 0x74]
nop
nop
test edx, edx
je 0x610028
lea ebx, [esp + 0x74]
cmp edx, ebx
je 0x610030
jmp 0x610170
lea edx, [esp + 0x74]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
lea ebp, [eax + ebx]
mov esi, dword [esp + 0x78]
cmp edx, ebp
jae 0x610083
mov dword [esp + 0x64], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
lea ecx, [0x692a40]
mov dword [esp + 0x10], ecx
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0046d220
mov eax, dword [esp + 0x60]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x78], eax
jmp 0x60fb13
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov edx, ecx
neg ecx
nop
cmp eax, ecx
ja 0x61010a
mov dword [esp + 0x100], edx
mov dword [esp + 0x104], eax
add esp, 0xf0
ret
test edx, edx
je 0x610113
call fcn.00463d70
call fcn.00463db0
mov edx, ebp
mov dword [esp + 0x64], edx
cmp edx, eax
jge 0x60fd95
movzx ebx, byte [ecx + edx]
cmp ebx, 0x80
jge 0x610137
lea ebp, [edx + 1]
jmp 0x61015e
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00463f10
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x64]
lea esi, [ebx - 0x20]
cmp esi, 0x5e
jbe 0x610118
cmp ebx, 9
je 0x610118
jmp 0x60fd93
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
inc edx
cmp edx, eax
jge 0x610304
movzx ebp, byte [ecx + edx]
xchg ebp, eax
cmp al, 0x22
xchg ebp, eax
je 0x6101a3
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x610188
cmp ebx, edx
ja 0x6104b3
mov ebp, edx
sub edx, ebx
mov esi, edx
neg edx
sar edx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x74]
add ebx, ecx
nop
test edx, edx
je 0x6101d0
lea edi, [esp + 0x74]
cmp edx, edi
je 0x6101d8
jmp 0x61049b
lea edx, [esp + 0x74]
mov dword [esp + 0x74], edx
mov dword [esp + 0x64], ebp
mov edx, dword [esp + 0x80]
mov edi, dword [esp + 0x7c]
lea ecx, [esi + edi]
mov eax, dword [esp + 0x78]
cmp edx, ecx
jae 0x61023a
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x94], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x94]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xbc], eax
lea ebp, [eax + edi]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call fcn.0046d220
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x74]
nop
test eax, eax
je 0x610290
lea edx, [esp + 0x74]
cmp eax, edx
je 0x610298
jmp 0x610483
lea edx, [esp + 0x74]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
inc ebx
mov ebp, dword [esp + 0x78]
cmp edx, ebx
jae 0x6102e5
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], ebx
mov byte [ebx + ebp - 1], 0x5c
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x64]
mov ebx, edx
jmp 0x610188
cmp ebx, eax
ja 0x61047a
sub eax, ebx
mov edx, eax
neg eax
sar eax, 0x1f
and ebx, eax
mov eax, dword [esp + 0x74]
add ecx, ebx
nop
test eax, eax
je 0x61032f
lea ebx, [esp + 0x74]
cmp eax, ebx
je 0x610337
jmp 0x610462
lea eax, [esp + 0x74]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
lea ebp, [edx + ebx]
mov esi, dword [esp + 0x78]
cmp eax, ebp
jae 0x610395
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], edx
mov dword [esp + 0x90], ecx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0046d220
mov eax, dword [esp + 0x60]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x74]
nop
test eax, eax
je 0x6103e7
lea ecx, [esp + 0x74]
cmp eax, ecx
je 0x6103ef
jmp 0x61044a
lea eax, [esp + 0x74]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
inc ecx
mov edx, dword [esp + 0x78]
cmp eax, ecx
jae 0x61043c
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ecx
mov byte [ecx + edx - 1], 0x22
jmp 0x60fb13
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
mov ecx, eax
mov eax, ebx
call fcn.0046c970
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
mov eax, ebx
mov ecx, edx
call fcn.0046c970
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
inc edx
cmp edx, eax
jge 0x610801
mov dword [esp + 0x54], edx
movzx ebp, byte [ecx + edx]
xchg ebp, eax
mov byte [esp + 0x27], al
xchg ebp, eax
lea esi, [ebp - 0x21]
xchg esi, eax
cmp al, 0x5e
xchg esi, eax
jb 0x6104fc
mov esi, 1
jmp 0x610570
xchg ebp, eax
cmp al, 0x2a
xchg ebp, eax
jne 0x61050a
mov esi, 1
jmp 0x610570
xchg ebp, eax
cmp al, 0x27
xchg ebp, eax
jne 0x610518
mov esi, 1
jmp 0x610570
xchg ebp, eax
cmp al, 0x25
xchg ebp, eax
jne 0x610526
mov esi, 1
jmp 0x610570
mov dword [esp + 0x30], ebx
xchg ebp, ebx
movzx eax, bl
xchg ebp, ebx
nop
nop
lea ecx, [0x6d3799]
mov dword [esp], ecx
mov dword [esp + 4], 0xf
mov dword [esp + 8], eax
call fcn.004d1360
mov eax, dword [esp + 0xc]
test eax, eax
setge al
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x30]
movzx ebp, byte [esp + 0x27]
mov esi, eax
mov eax, dword [esp + 0x40]
xchg esi, eax
test al, al
xchg esi, eax
je 0x6104d4
cmp ebx, edx
ja 0x610957
mov esi, edx
sub edx, ebx
mov edi, edx
neg edx
sar edx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x74]
add ebx, ecx
nop
test edx, edx
je 0x6105af
lea ecx, [esp + 0x74]
cmp edx, ecx
jne 0x61093f
mov ecx, dword [esp + 0x8c]
jmp 0x6105b7
lea edx, [esp + 0x74]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
lea eax, [ecx + edi]
mov esi, dword [esp + 0x78]
cmp edx, eax
jae 0x610615
mov dword [esp + 0x64], edi
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x60], ecx
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x9c]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0xbc], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
call fcn.0046d220
mov eax, dword [esp + 0x60]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x74]
nop
nop
test eax, eax
je 0x61066b
lea edx, [esp + 0x74]
cmp eax, edx
je 0x610673
jmp 0x610927
lea edx, [esp + 0x74]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
inc ebx
mov ebp, dword [esp + 0x78]
cmp edx, ebx
jae 0x6106c0
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], ebx
mov byte [ebx + ebp - 1], 0x25
movzx edx, byte [esp + 0x27]
mov ebx, edx
shr dl, 4
movzx edx, dl
mov ebp, dword [esp + 0x74]
lea esi, [0x6d3df2]
movzx edx, byte [esi + edx]
nop
test ebp, ebp
je 0x6106f6
lea edi, [esp + 0x74]
cmp ebp, edi
je 0x6106fe
jmp 0x61090f
lea ebp, [esp + 0x74]
mov dword [esp + 0x74], ebp
mov ebp, dword [esp + 0x80]
mov edi, dword [esp + 0x7c]
inc edi
mov eax, dword [esp + 0x78]
cmp ebp, edi
jae 0x61075f
mov byte [esp + 0x26], dl
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x78], eax
movzx edx, byte [esp + 0x26]
movzx ebx, byte [esp + 0x27]
lea esi, [0x6d3df2]
mov dword [esp + 0x7c], edi
mov byte [edi + eax - 1], dl
and ebx, 0xf
mov edx, dword [esp + 0x74]
movzx ebx, byte [ebx + esi]
nop
test edx, edx
je 0x610784
lea ebp, [esp + 0x74]
cmp edx, ebp
je 0x61078c
jmp 0x6108f7
lea edx, [esp + 0x74]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x80]
mov ebp, dword [esp + 0x7c]
inc ebp
mov esi, dword [esp + 0x78]
cmp edx, ebp
jae 0x6107e2
mov byte [esp + 0x25], bl
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov dword [esp + 0x78], esi
movzx ebx, byte [esp + 0x25]
mov dword [esp + 0x7c], ebp
mov byte [ebp + esi - 1], bl
mov edx, dword [esp + 0x54]
lea ebx, [edx + 1]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x8c]
jmp 0x6104d4
cmp ebx, eax
ja 0x6108ee
sub eax, ebx
mov edx, eax
neg eax
sar eax, 0x1f
and ebx, eax
mov eax, dword [esp + 0x74]
add ecx, ebx
nop
test eax, eax
je 0x61082c
lea ebx, [esp + 0x74]
cmp eax, ebx
je 0x610834
jmp 0x6108d6
lea eax, [esp + 0x74]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x78]
cmp eax, ebp
jae 0x610892
mov dword [esp + 0x64], edx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x60], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0046d220
mov eax, dword [esp + 0x60]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x78], eax
jmp 0x60fb13
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
mov ecx, eax
mov eax, ebx
call fcn.0046c970
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
mov eax, ebx
mov ecx, edx
call fcn.0046c970
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486a8]
mov dword [esp + 4], eax
call fcn.00439660
nop
call fcn.0046b490
jmp fcn.0060f520