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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2e8]
cmp eax, dword [ecx + 8]
jbe 0x605a8f
sub esp, 0x368
lea edi, [esp + 0x300]
xor eax, eax
call fcn.00464659
lea edi, [esp + 0x31c]
call fcn.0046464d
lea ecx, [esp + 0x31c]
mov dword [esp + 0x30c], ecx
call fcn.0044ff60
mov ecx, dword [esp]
mov dword [esp + 0x308], ecx
lea edi, [esp + 0x2e4]
xor eax, eax
call fcn.00464659
lea edi, [esp + 0x84]
call fcn.0046464b
lea ecx, [esp + 0x84]
mov dword [esp + 0x2f0], ecx
call fcn.0044ff60
mov ecx, dword [esp]
mov dword [esp + 0x2ec], ecx
mov ecx, dword [esp + 0x370]
test ecx, ecx
je 0x604f61
mov edx, dword [esp + 0x374]
mov ebx, dword [esp + 0x36c]
mov eax, ecx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0x40], eax
mov ecx, 0xffffffff
mov dword [esp + 0x38], ecx
mov eax, 0xffffffff
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x28], eax
lea eax, [0xaaacd4]
mov dword [esp + 0x2b8], eax
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x370]
mov ecx, eax
jmp 0x604ff3
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
lea esi, [ebx + ebx*2]
mov dword [eax + esi*4 - 0xc], edx
mov dword [eax + esi*4 - 8], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + esi*4 - 4], ecx
add ecx, 8
mov edx, dword [esp + 0x374]
mov esi, dword [esp + 0x36c]
mov edi, dword [esp + 0x370]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2b8], eax
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x370]
mov ebx, dword [esp + 0x36c]
mov ebp, dword [esp + 0x30]
add edx, eax
cmp ecx, edx
jae 0x60546e
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x44], edi
mov dword [esp + 0x20], ecx
cmp esi, 0xf
setae dl
test ebp, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
seta cl
and ebp, edx
or ecx, ebp
test cl, cl
je 0x605068
mov ecx, dword [0xa7b198]
mov dword [esp + 0x2d0], ecx
mov edx, dword [0xa7b19c]
mov dword [esp + 0x5c], edx
mov ebp, dword [ebx + 0x274]
mov dword [esp + 0x50], ebp
mov ebx, dword [ebx + 0x270]
mov dword [esp + 0x2c4], ebx
mov dword [esp + 0x6c], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x6c]
jmp 0x605939
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
sub ecx, edx
mov edx, dword [esp + 0x3c]
sbb edi, edx
cmp ecx, 0x8000000
seta cl
test edi, edi
mov edi, edx
sete dl
xchg ebp, ebx
seta bl
xchg ebp, ebx
and edx, ecx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6050da
mov ecx, dword [0xa7b190]
mov dword [esp + 0x2cc], ecx
mov edx, dword [0xa7b194]
mov dword [esp + 0x58], edx
mov ebp, dword [ebx + 0x274]
mov dword [esp + 0x4c], ebp
mov ebx, dword [ebx + 0x270]
mov dword [esp + 0x2c0], ebx
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x74]
jmp 0x6057cc
movzx ecx, byte [esp + 0x378]
test cl, cl
je 0x605150
lea edi, [esp + 0x1c8]
xor eax, eax
call fcn.00464624
mov ecx, dword [ebx + 0x78]
mov edx, dword [ebx + 0x7c]
lea ebp, [0x7a9ca0]
cmp ecx, ebp
jne 0x60579f
lea edi, [esp + 0x1c8]
mov esi, edx
call fcn.00464918
lea edi, [esp + 0xd8]
lea esi, [esp + 0x1c8]
call fcn.00464918
mov eax, dword [esp + 0xf0]
mov dword [esp], ebx
mov ecx, dword [esp + 0x20]
sub ecx, eax
mov dword [esp + 4], ecx
call fcn.00602c20
mov eax, dword [esp + 8]
cmp eax, 0xffffffff
jne 0x60516d
jmp 0x6054e7
mov dword [esp], ebx
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
call fcn.00602c20
mov eax, dword [esp + 8]
cmp eax, 0xffffffff
je 0x6055e0
mov dword [esp + 0x34], eax
lea ecx, [0x769d00]
mov dword [esp], ecx
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [esp + 0x2d8], eax
mov ecx, dword [esp + 0x36c]
mov dword [esp], ecx
lea edx, [0x73e460]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x34]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 8
call fcn.00603910
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x6055a2
mov ecx, dword [esp + 0x2d8]
mov edx, dword [ecx + 4]
test edx, edx
sete bl
mov ebp, dword [ecx]
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
jne 0x6054a6
mov esi, dword [esp + 0x370]
cmp esi, ebp
mov eax, esi
xchg esi, ebx
setbe bl
xchg esi, ebx
test edx, edx
mov edi, ecx
seta cl
and esi, ebx
or esi, ecx
xchg esi, eax
test al, al
xchg esi, eax
je 0x605226
mov ecx, dword [esp + 0x20]
cmp ecx, ebp
xchg esi, ebx
setae bl
xchg esi, ebx
and esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x60522a
jmp 0x605525
mov ecx, dword [esp + 0x20]
mov ebx, edx
and edx, 0x80000000
test edx, edx
jbe 0x605298
and ebp, 0x7fffffff
cmp ebp, 0xffff
seta dl
and edx, 1
test dl, dl
je 0x60561e
mov edx, dword [0xa7b168]
mov dword [esp + 0x2c8], edx
mov ebx, dword [0xa7b16c]
mov dword [esp + 0x54], ebx
mov ebp, dword [esp + 0x36c]
mov esi, dword [ebp + 0x274]
mov dword [esp + 0x48], esi
mov ecx, dword [ebp + 0x270]
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x7c]
jmp 0x60565e
lea eax, [0x75dca0]
mov dword [esp], eax
lea ecx, [esp + 0x2e4]
mov dword [esp + 4], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebp
call fcn.0040f830
movzx eax, byte [esp + 0x14]
test al, al
je 0x6052d2
mov esi, dword [esp + 0x2c]
add esi, 1
mov ebp, dword [esp + 0x30]
adc ebp, 0
jmp 0x60530e
mov eax, dword [esp + 0x2d8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea ebx, [0x75dca0]
mov dword [esp], ebx
lea ebp, [esp + 0x2e4]
mov dword [esp + 4], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
call fcn.0040f9a0
mov eax, dword [esp + 0x10]
mov byte [eax], 1
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x2d8]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x44]
cmp edx, ecx
setb bl
mov edi, dword [eax]
mov eax, dword [esp + 0x40]
cmp eax, edi
xchg ebp, ebx
setb bl
xchg ebp, ebx
cmp edx, ecx
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ebp
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x605351
mov eax, ecx
mov edx, edi
jmp 0x60535d
mov eax, ecx
mov edx, edi
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], edi
mov ebx, dword [esp + 0x3c]
cmp ebx, eax
xchg ebp, ebx
seta bl
xchg ebp, ebx
mov esi, dword [esp + 0x38]
cmp esi, edx
seta cl
cmp ebx, eax
xchg edi, ebx
sete bl
xchg edi, ebx
and ecx, edi
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x605392
mov eax, ebx
mov edx, esi
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], ebx
lea edi, [0x75daa0]
mov dword [esp], edi
lea edi, [esp + 0x300]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 8], edi
call fcn.0040ea30
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0xaab020]
test eax, eax
jne 0x6053f6
mov ecx, dword [esp + 0x2d8]
mov dword [edi], ecx
jmp 0x605404
mov eax, dword [esp + 0x2d8]
call fcn.004643b0
mov ecx, eax
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov ebx, dword [esp + 0x24]
inc ebx
mov ebp, dword [esp + 0x28]
cmp ebp, ebx
jb 0x605422
mov eax, dword [esp + 0x2b8]
jmp 0x604f9f
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x2b8]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x7732c0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x68]
mov ebp, ecx
mov ecx, dword [esp + 0x64]
jmp 0x604f9f
mov eax, dword [ebx + 0x2c0]
mov dword [esp], eax
lea eax, [0x7d58ce]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x39
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.00537f20
mov eax, dword [esp + 0x2b8]
mov dword [esp + 0x37c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x384], eax
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
mov dword [esp], ecx
call fcn.004094f0
mov eax, dword [esp + 4]
lea ecx, [0x758e40]
mov dword [esp + 0x2dc], ecx
mov dword [esp + 0x2e0], eax
mov eax, dword [esp + 0x36c]
mov eax, dword [eax + 0x2c0]
mov dword [esp], eax
lea eax, [0x7d8e64]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x5d
lea eax, [esp + 0x2dc]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.00537f20
jmp 0x6054a6
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
jmp 0x6053a2
lea ecx, [ebp + 1]
mov edx, dword [esp + 0x2bc]
mov edx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x36c]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2bc]
mov ebp, dword [esp + 0x60]
cmp ebp, esi
jge 0x6056c6
lea edx, [ecx + ebp*8]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp ecx, ebx
jne 0x60563b
mov dword [esp], edx
mov eax, dword [esp + 0x2c8]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
jne 0x6056ae
mov eax, dword [esp + 0x370]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x2d8]
jmp 0x60563b
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
cmp ecx, edx
mov eax, dword [esp + 0x370]
mov edi, dword [esp + 0x2d8]
jl 0x605796
mov ecx, dword [esp + 0x36c]
mov edx, dword [ecx + 0x274]
inc edx
mov ebx, dword [ecx + 0x270]
mov ebp, dword [ecx + 0x278]
cmp ebp, edx
jae 0x60575b
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758c80]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x36c]
mov dword [ebx + 0x278], edx
mov edx, dword [0xaab020]
test edx, edx
jne 0x605737
mov dword [ebx + 0x270], eax
jmp 0x605742
lea edi, [ebx + 0x270]
call fcn.004643b0
mov edi, dword [esp + 0x2d8]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x36c]
mov dword [ecx + 0x274], edx
mov ebp, dword [0xa7b168]
lea esi, [ebx + edx*8 - 4]
mov ecx, dword [0xa7b16c]
mov dword [esi], ecx
lea ecx, [ebx + edx*8 - 8]
mov edx, dword [0xaab020]
test edx, edx
jne 0x605785
mov dword [ecx], ebp
jmp 0x605796
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, ebp
call fcn.004643b0
mov eax, ebx
mov edi, edx
mov ecx, dword [esp + 0x20]
jmp 0x60561e
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x758500]
mov dword [esp + 8], eax
call fcn.00409250
inc ecx
mov ebx, dword [esp + 0x2c0]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2cc]
mov ecx, dword [esp + 0x60]
cmp ecx, ebp
jge 0x605832
lea ebx, [ebx + ecx*8]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
cmp ebp, edx
jne 0x6057b5
mov dword [esp], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
jne 0x605819
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
jmp 0x6057b5
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x4c]
cmp ecx, edx
mov eax, dword [esp + 0x370]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
jl 0x605916
mov ecx, dword [esp + 0x36c]
mov edx, dword [ecx + 0x274]
inc edx
mov ebx, dword [ecx + 0x270]
mov ebp, dword [ecx + 0x278]
cmp ebp, edx
jae 0x6058c8
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758c80]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x36c]
mov dword [ebx + 0x278], edx
mov edx, dword [0xaab020]
test edx, edx
jne 0x6058a3
mov dword [ebx + 0x270], eax
jmp 0x6058ae
lea edi, [ebx + 0x270]
call fcn.004643b0
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x36c]
mov dword [ecx + 0x274], edx
mov ebp, dword [0xa7b190]
mov dword [esp + 0x2d4], ebp
lea ecx, [ebx + edx*8 - 4]
mov ebp, dword [0xa7b194]
mov dword [ecx], ebp
lea ecx, [ebx + edx*8 - 8]
mov edx, dword [0xaab020]
test edx, edx
jne 0x605900
mov edx, dword [esp + 0x2d4]
mov dword [ecx], edx
jmp 0x605916
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, dword [esp + 0x2d4]
call fcn.004643b0
mov eax, ebx
mov edi, edx
mov ebx, dword [esp + 0x36c]
jmp 0x6050da
inc ecx
mov ebx, dword [esp + 0x2c4]
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2d0]
mov ecx, dword [esp + 0x60]
cmp ecx, ebp
jge 0x60599f
lea ebx, [ebx + ecx*8]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
cmp ebp, edx
jne 0x605922
mov dword [esp], ebx
mov eax, dword [esp + 0x2d0]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
jne 0x605986
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
jmp 0x605922
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x50]
cmp ecx, edx
mov eax, dword [esp + 0x370]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
jl 0x605a83
mov ecx, dword [esp + 0x36c]
mov edx, dword [ecx + 0x274]
inc edx
mov ebx, dword [ecx + 0x270]
mov ebp, dword [ecx + 0x278]
cmp ebp, edx
jae 0x605a35
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758c80]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x36c]
mov dword [ebx + 0x278], edx
mov edx, dword [0xaab020]
test edx, edx
jne 0x605a10
mov dword [ebx + 0x270], eax
jmp 0x605a1b
lea edi, [ebx + 0x270]
call fcn.004643b0
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x36c]
mov dword [ecx + 0x274], edx
mov ebp, dword [0xa7b198]
mov dword [esp + 0x2d4], ebp
lea ecx, [ebx + edx*8 - 4]
mov ebp, dword [0xa7b19c]
mov dword [ecx], ebp
lea ecx, [ebx + edx*8 - 8]
mov edx, dword [0xaab020]
test edx, edx
jne 0x605a6d
mov edx, dword [esp + 0x2d4]
mov dword [ecx], edx
jmp 0x605a83
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, dword [esp + 0x2d4]
call fcn.004643b0
mov eax, ebx
mov edi, edx
mov ebx, dword [esp + 0x36c]
jmp 0x605068
call fcn.00462fa0
jmp fcn.00604e70