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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1d0]
cmp eax, dword [ecx + 8]
jbe 0x609853
sub esp, 0x250
mov ecx, dword [esp + 0x254]
mov edx, dword [ecx + 0x138]
mov eax, dword [ecx + 0x13c]
test edx, edx
je 0x609113
nop
movzx ebx, byte [0xa851a8]
test bl, bl
je 0x6090d9
mov dword [0xa851ac], edx
mov ebx, dword [0xaab020]
test ebx, ebx
jne 0x6090ce
mov dword [0xa851b0], eax
jmp 0x6090d9
lea edi, [0xa851b0]
call fcn.004643b0
mov dword [esp + 0x248], edx
mov dword [esp + 0x24c], eax
mov edx, dword [esp + 0x248]
test edx, edx
je 0x60910b
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x609119
or ebx, 0x80
jmp 0x609119
xor ebx, ebx
xor edx, edx
xor eax, eax
jmp 0x609119
xor ebx, ebx
xor edx, edx
xor eax, eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x240], eax
mov dword [esp + 0x23c], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x18
call fcn.004c1eb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x60], eax
cmp eax, 9
ja 0x609178
cmp eax, 7
jne 0x609160
mov eax, dword [ecx]
jmp 0x609195
cmp eax, 8
jne 0x60916a
movzx eax, byte [ecx]
jmp 0x609195
cmp eax, 9
jne 0x609818
movzx eax, word [ecx]
jmp 0x609195
cmp eax, 0xa
jne 0x609181
mov eax, dword [ecx]
jmp 0x609195
cmp eax, 0xb
jne 0x60918a
mov eax, dword [ecx]
jmp 0x609195
cmp eax, 0xc
jne 0x609818
mov eax, dword [ecx]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x23c]
mov dword [esp], ecx
mov edx, dword [esp + 0x240]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x1d
call fcn.004c1eb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x60], eax
cmp eax, 9
ja 0x6091fe
cmp eax, 7
jne 0x6091e2
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x609222
cmp eax, 8
jne 0x6091ee
movzx eax, byte [ecx]
xor ecx, ecx
jmp 0x609222
cmp eax, 9
jne 0x6097de
movzx eax, word [ecx]
xor ecx, ecx
jmp 0x609222
cmp eax, 0xa
jne 0x609209
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x609222
cmp eax, 0xb
jne 0x609215
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x609222
cmp eax, 0xc
jne 0x6097de
mov eax, dword [ecx]
xor ecx, ecx
test ecx, ecx
sete dl
test eax, eax
seta bl
test ecx, ecx
xchg ebp, ebx
seta bl
xchg ebp, ebx
and edx, ebx
or edx, ebp
test dl, dl
je 0x60947a
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x2c]
and edx, 0xf0000000
shr edx, 0x1c
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x254]
movzx ebp, byte [ebx + 0x294]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x609367
mov eax, dword [esp + 0x23c]
mov dword [esp], eax
mov eax, dword [esp + 0x240]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x1c
call fcn.004c1eb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x60], eax
cmp eax, 9
ja 0x6092cd
cmp eax, 7
jne 0x6092b5
mov ecx, dword [ecx]
jmp 0x6092ea
cmp eax, 8
jne 0x6092bf
movzx ecx, byte [ecx]
jmp 0x6092ea
cmp eax, 9
jne 0x6097a4
movzx ecx, word [ecx]
jmp 0x6092ea
cmp eax, 0xa
jne 0x6092d6
mov ecx, dword [ecx]
jmp 0x6092ea
cmp eax, 0xb
jne 0x6092df
mov ecx, dword [ecx]
jmp 0x6092ea
cmp eax, 0xc
jne 0x6097a4
mov ecx, dword [ecx]
mov dword [esp + 0x24], ecx
lea edi, [esp + 0x6c]
xor eax, eax
call fcn.00464628
mov ecx, dword [esp + 0x254]
mov edx, dword [ecx + 0x78]
mov esi, dword [ecx + 0x7c]
lea ebx, [0x7aa1e0]
cmp edx, ebx
jne 0x60978e
lea edi, [esp + 0x6c]
call fcn.00464940
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x254]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00602c20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x254]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x5c]
mov ebp, 1
xor esi, esi
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x48], ebp
mov ebp, 1
jmp 0x609680
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x23c]
mov dword [esp], eax
mov eax, dword [esp + 0x240]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x1c
call fcn.004c1eb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x60], eax
cmp eax, 9
ja 0x6093ca
cmp eax, 7
jne 0x6093b2
mov ecx, dword [ecx]
jmp 0x6093e7
cmp eax, 8
jne 0x6093bc
movzx ecx, byte [ecx]
jmp 0x6093e7
cmp eax, 9
jne 0x60962a
movzx ecx, word [ecx]
jmp 0x6093e7
cmp eax, 0xa
jne 0x6093d3
mov ecx, dword [ecx]
jmp 0x6093e7
cmp eax, 0xb
jne 0x6093dc
mov ecx, dword [ecx]
jmp 0x6093e7
cmp eax, 0xc
jne 0x60962a
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
lea edi, [esp + 0x14c]
xor eax, eax
call fcn.00464624
mov ecx, dword [esp + 0x254]
mov edx, dword [ecx + 0x78]
mov esi, dword [ecx + 0x7c]
lea ebx, [0x7a9ca0]
cmp edx, ebx
jne 0x609614
lea edi, [esp + 0x14c]
call fcn.00464918
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x20]
sub ecx, eax
mov eax, dword [esp + 0x254]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00602c20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x254]
mov ebp, dword [esp + 0x5c]
mov esi, 1
xor edi, edi
xor esi, esi
mov dword [esp + 0x4c], esi
xor esi, esi
mov dword [esp + 0x244], esi
xor esi, esi
mov dword [esp + 0x48], esi
mov esi, 1
jmp 0x6094d2
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x258], edx
mov dword [esp + 0x25c], ecx
mov dword [esp + 0x260], eax
add esp, 0x250
ret
add esi, 1
mov ebx, dword [esp + 0x54]
adc ebx, 0
mov ecx, dword [esp + 0x244]
mov dword [ecx + edx*4 - 4], ebp
mov ebp, dword [esp + 0x5c]
lea eax, [eax + ebp + 4]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x30]
mov edi, ebx
mov ebx, dword [esp + 0x254]
mov dword [esp + 0x54], edi
cmp esi, ecx
xchg ebp, ebx
setbe bl
xchg ebp, ebx
cmp edi, edx
sete dl
xchg edi, ebx
setb bl
xchg edi, ebx
and ebp, edx
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
je 0x6095ed
mov edx, dword [ebx + 0x2ac]
add edx, 0xfffffffc
cmp eax, edx
jbe 0x609510
mov edx, dword [0xa846b0]
xor ebp, ebp
jmp 0x609547
mov edx, dword [ebx + 0x28c]
mov ebp, dword [ebx + 0x288]
mov edi, dword [ebx + 0x290]
cmp eax, edx
ja 0x60960d
sub edx, eax
sub edi, eax
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, eax
cmp edx, 3
jbe 0x609601
mov ebp, dword [edi + ebp]
xor edx, edx
test edx, edx
jne 0x6095c2
mov edx, dword [esp + 0x48]
inc edx
mov edi, dword [esp + 0x4c]
cmp edi, edx
jae 0x60949c
mov dword [esp + 0x50], esi
mov dword [esp + 0x34], ebp
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x244]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x758e40]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x254]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x244], eax
mov edi, ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
jmp 0x60949c
mov eax, dword [esp + 0x244]
mov dword [esp + 0x258], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x260], eax
add esp, 0x250
ret
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x244]
jmp 0x609480
mov eax, 3
mov ecx, edx
call fcn.00464430
mov ecx, edx
call fcn.004644a0
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x758500]
mov dword [esp + 8], eax
call fcn.00409250
lea eax, [0x774fa0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x7be739]
mov dword [eax], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 8], ecx
lea ecx, [0x7653c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436340
mov ecx, dword [esp + 0x38]
mov dword [edi + edx*4 - 4], ecx
inc ebp
lea eax, [eax + ebx + 4]
mov ecx, dword [esp + 0x254]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x28]
cmp ebp, edx
ja 0x60976e
mov dword [esp + 0x58], ebp
mov edx, dword [ecx + 0x2ac]
add edx, 0xfffffffc
cmp eax, edx
jbe 0x6096af
mov edx, dword [0xa846b0]
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x64]
jmp 0x6096f3
mov edx, dword [ecx + 0x28c]
mov ebx, dword [ecx + 0x288]
mov ebp, dword [ecx + 0x290]
cmp eax, edx
ja 0x609787
sub edx, eax
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
cmp edx, 3
jbe 0x60977b
mov ebx, dword [ebp + ebx]
mov ebp, dword [esp + 0x58]
xor edx, edx
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x5c]
test edx, edx
jne 0x60974e
mov edx, dword [esp + 0x48]
inc edx
cmp esi, edx
jae 0x609664
mov dword [esp + 0x44], eax
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x758e40]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x254]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x58]
jmp 0x609664
mov dword [esp + 0x258], edi
mov eax, dword [esp + 0x48]
mov dword [esp + 0x25c], eax
mov dword [esp + 0x260], esi
add esp, 0x250
ret
mov eax, esi
mov ecx, dword [esp + 0x48]
mov edx, edi
jmp 0x609480
mov eax, 3
mov ecx, edx
call fcn.00464430
mov ecx, edx
call fcn.004644a0
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x758500]
mov dword [esp + 8], eax
call fcn.00409250
lea eax, [0x774fa0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x7be739]
mov dword [eax], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 8], ecx
lea ecx, [0x7653c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436340
lea eax, [0x774fa0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x7be739]
mov dword [eax], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 8], ecx
lea ecx, [0x7653c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436340
lea eax, [0x774fa0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x7be739]
mov dword [eax], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 8], ecx
lea ecx, [0x7653c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436340
nop
call fcn.00462fa0
jmp fcn.00609070