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

Disassembly:
mov ecx, dword [0x84873c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x6093c4
sub esp, 0x94
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
mov ecx, dword [ecx + 0x10]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x609016
mov ebx, dword [esp + 0x98]
mov ebx, dword [ebx + 0x164]
mov dword [esp + 0x20], ebx
mov ebp, dword [esp + 8]
mov dword [esp + 0x2c], ebp
mov edx, dword [esp + 0xc]
mov dword [esp + 0x4c], edx
mov esi, dword [esp + 4]
mov dword [esp + 0x7c], esi
xor eax, eax
xor ecx, ecx
xor edi, edi
lea eax, [esp + 0x20]
mov dword [esp + 0x6c], eax
xor eax, eax
jmp 0x609072
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ecx
add esp, 0x94
ret
mov dword [eax + esi*4 - 0xc], edx
mov esi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x6c], eax
mov eax, ebx
mov ebx, dword [esp + 0x20]
cmp eax, ebp
jge 0x60913e
add ebx, eax
cmp ebp, ebx
jl 0x609082
mov ebp, ebx
cmp ebp, edx
ja 0x6093bc
cmp ebp, eax
jb 0x6093b5
inc ecx
sub edx, eax
mov dword [esp + 0x54], edx
neg edx
sar edx, 0x1f
and edx, eax
add edx, esi
sub ebp, eax
cmp edi, ecx
jb 0x6090ae
mov eax, dword [esp + 0x6c]
jmp 0x609102
mov dword [esp + 0x30], ebx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x84], edx
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x642bc0]
mov dword [esp + 0x10], eax
call fcn.0044fab0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x7c]
lea esi, [ecx + ecx*2]
mov dword [eax + esi*4 - 8], ebp
mov ebp, dword [esp + 0x54]
mov dword [eax + esi*4 - 4], ebp
mov ebp, dword [0x8489b0]
test ebp, ebp
je 0x609054
mov dword [esp + 0x24], ecx
mov ebp, edi
call fcn.0046a610
mov dword [edi], edx
mov ecx, dword [eax + esi*4 - 0xc]
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x24]
mov edi, ebp
jmp 0x609054
test ecx, ecx
jne 0x609192
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
lea edx, [esp + 0x20]
mov dword [esp + 0x88], edx
lea eax, [esp + 0x88]
mov ecx, 1
jmp 0x609196
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x44], ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
lea esi, [0x8485c0]
xor edi, edi
jmp 0x6091c9
mov dword [esi + ecx*4 - 0xc], edx
mov ecx, dword [esp + 0x80]
add ecx, 0xc
mov edx, dword [esp + 0x54]
inc edx
mov ebx, dword [esp + 0x28]
mov edi, eax
mov eax, ecx
mov ecx, dword [esp + 0x44]
cmp edx, ecx
jge 0x609383
mov dword [esp + 0x34], edi
mov dword [esp + 0x54], edx
mov dword [esp + 0x70], esi
mov dword [esp + 0x38], ebp
mov dword [esp + 0x28], ebx
mov dword [esp + 0x80], eax
mov ecx, dword [eax + 4]
mov dword [esp + 0x48], ecx
mov edx, dword [eax]
mov dword [esp + 0x78], edx
lea edi, [esp + 0x58]
xor eax, eax
call fcn.0046a88b
mov ecx, dword [esp + 0x9c]
movzx esi, byte [ecx]
xchg esi, eax
mov byte [esp + 0x58], al
xchg esi, eax
mov esi, dword [ecx + 4]
mov dword [esp + 0x5c], esi
movzx esi, word [ecx + 8]
mov word [esp + 0x60], si
mov dword [esp + 0x64], ebx
mov esi, dword [esp + 0x48]
mov dword [esp + 0x68], esi
lea ecx, [esp + 0x58]
mov dword [esp], ecx
call fcn.005d55f0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x48]
add edx, ebx
test ecx, ecx
jne 0x609345
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
lea ebp, [ebx + ecx]
mov esi, dword [esp + 4]
cmp eax, ebp
jae 0x60929f
mov dword [esp + 0x3c], ecx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
lea eax, [0x64c660]
mov dword [esp + 0x10], eax
call fcn.0044fab0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x74], esi
add ecx, esi
mov dword [esp], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.0046af80
mov eax, dword [esp + 0x34]
inc eax
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jb 0x6092d6
mov esi, dword [esp + 0x70]
mov ebp, ecx
jmp 0x609308
mov edx, dword [esp + 0x70]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x642bc0]
mov dword [esp + 0x10], eax
call fcn.0044fab0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + eax*2]
mov edx, dword [esp + 0x3c]
mov dword [esi + ecx*4 - 8], edx
mov edx, dword [esp + 0x40]
mov dword [esi + ecx*4 - 4], edx
mov edx, dword [0x8489b0]
test edx, edx
jne 0x60932e
mov edx, dword [esp + 0x74]
jmp 0x6091aa
call fcn.0046a610
mov edx, dword [esp + 0x74]
mov dword [edi], edx
mov ebx, dword [esi + ecx*4 - 0xc]
mov dword [edi + 4], ebx
jmp 0x6091aa
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ecx
add esp, 0x94
ret
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
add esp, 0x94
ret
mov ecx, ebp
call fcn.0046a6d0
mov ecx, ebp
call fcn.0046a6b0
nop
call fcn.00469200
jmp fcn.00608fa0