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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x34]
cmp eax, dword [ecx + 8]
jbe 0x621bb9
sub esp, 0xb4
mov ecx, dword [esp + 0xc0]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov edx, dword [0x8b5080]
test edx, edx
jne 0x621496
mov edx, dword [esp + 0xbc]
mov dword [edi], edx
jmp 0x6214a4
mov eax, dword [esp + 0xbc]
call fcn.00462690
mov edx, eax
mov ebx, dword [esp + 0xc8]
mov dword [edi + 0xc], ebx
mov ebp, dword [0x8b5080]
test ebp, ebp
jne 0x6214c4
mov ebp, dword [esp + 0xc4]
mov dword [edi + 8], ebp
jmp 0x6214db
lea ebp, [edi + 8]
mov eax, dword [esp + 0xc4]
mov esi, edi
mov edi, ebp
call fcn.00462690
mov ebp, eax
mov edi, esi
mov esi, dword [esp + 0xd0]
mov dword [edi + 0x14], esi
mov eax, ebp
mov ebp, dword [0x8b5080]
test ebp, ebp
jne 0x6214fd
mov ebp, dword [esp + 0xcc]
mov dword [edi + 0x10], ebp
jmp 0x621523
lea ebp, [edi + 0x10]
mov edi, ebp
mov eax, dword [esp + 0xcc]
call fcn.00462690
mov eax, dword [esp + 0xc4]
mov ebp, dword [esp + 0xcc]
mov edi, dword [esp + 0xb8]
mov dword [edi + 0x1c], 0
mov dword [edi + 0x28], 0
test ebx, ebx
je 0x621ba0
test esi, esi
je 0x621b88
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov edi, dword [esp + 0x70]
mov dword [esp + 0x90], edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0x48], edi
mov dword [esp + 0x98], edi
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov eax, dword [esp + 0x68]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x40], eax
mov dword [esp + 0x8c], eax
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x88], ebx
mov eax, dword [esp + 0x84]
mov dword [esp + 0x54], eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], esi
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov esi, dword [esp + 0x60]
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0x64]
mov dword [esp + 0x38], esi
mov dword [esp + 0x80], esi
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x7c], ebp
mov esi, dword [esp + 0x78]
mov dword [esp + 0x50], esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x14], ebp
call fcn.00472ae0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x621760
mov dword [esp + 0x20], eax
lea ecx, [eax + 1]
mov edx, dword [esp + 0xb8]
lea ebx, [edx + 0x18]
mov dword [esp + 0x5c], ebx
cmp dword [edx + 0x20], ecx
jge 0x6216ea
mov dword [esp + 0x30], ecx
lea eax, [0x6470a0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call fcn.0044a050
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xb8]
mov dword [ecx + 0x1c], 0
mov edx, dword [esp + 0x30]
mov dword [ecx + 0x20], edx
mov edx, dword [0x8b5080]
test edx, edx
jne 0x6216d9
mov dword [ecx + 0x18], eax
mov edi, dword [esp + 0x5c]
jmp 0x6216e2
mov edi, dword [esp + 0x5c]
call fcn.00462690
mov eax, dword [esp + 0x20]
mov edx, ecx
mov ebx, edi
lea ecx, [edx + 0x24]
mov dword [esp + 0x58], ecx
cmp dword [edx + 0x2c], eax
jge 0x621752
lea ecx, [0x64f280]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], eax
call fcn.0044a050
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xb8]
mov dword [ecx + 0x28], 0
mov edx, dword [esp + 0x20]
mov dword [ecx + 0x2c], edx
mov edx, dword [0x8b5080]
test edx, edx
jne 0x62173c
mov dword [ecx + 0x24], eax
mov edi, dword [esp + 0x58]
jmp 0x621745
mov edi, dword [esp + 0x58]
call fcn.00462690
mov ecx, edi
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x5c]
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x44]
jmp 0x621792
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
add esp, 0xb4
ret
sub eax, esi
sub ecx, esi
mov edi, eax
neg eax
sar eax, 0x1f
and esi, eax
add edx, esi
mov eax, edi
mov ebp, edx
mov esi, ecx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], eax
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x14], ebx
call fcn.004730c0
mov ecx, dword [esp + 0x18]
test ecx, ecx
jl 0x621ab1
mov edx, dword [esp + 0x28]
cmp edx, ecx
jb 0x621b83
mov ebx, dword [esp + 0xb8]
mov ebp, dword [ebx + 0x18]
mov esi, dword [ebx + 0x20]
mov eax, edx
mov edx, dword [ebx + 0x1c]
inc edx
cmp esi, edx
jae 0x621859
mov dword [esp + 0x2c], ecx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x6470a0]
mov dword [esp + 0x10], eax
call fcn.0044a110
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xb8]
mov dword [ebx + 0x20], edx
mov edx, dword [0x8b5080]
test edx, edx
jne 0x621844
mov dword [ebx + 0x18], eax
mov edi, dword [esp + 0x5c]
jmp 0x62184d
mov edi, dword [esp + 0x5c]
call fcn.00462690
mov ebp, eax
mov edx, ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [ebx + 0x1c], edx
lea edx, [edx + edx*2]
mov dword [ebp + edx*4 - 8], ecx
mov dword [ebp + edx*4 - 4], eax
mov esi, dword [0x8b5080]
lea edi, [ebp + edx*4 - 0xc]
mov ebx, dword [esp + 0x3c]
add ebx, ecx
test esi, esi
jne 0x621885
mov esi, dword [esp + 0x4c]
mov dword [ebp + edx*4 - 0xc], esi
jmp 0x621894
mov ecx, eax
mov eax, dword [esp + 0x4c]
call fcn.00462690
mov esi, eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
cmp ecx, ebx
jb 0x621b7c
sub eax, ebx
mov dword [esp + 0x28], eax
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ebx
add eax, esi
mov dword [esp + 0x4c], eax
mov dword [esp], eax
sub ecx, ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 0x14], esi
call fcn.004730c0
mov ecx, dword [esp + 0x18]
test ecx, ecx
jl 0x6219bd
mov edx, dword [esp + 0x28]
cmp ecx, edx
ja 0x621b77
mov ebx, dword [esp + 0xb8]
mov ebp, dword [ebx + 0x24]
mov esi, dword [ebx + 0x2c]
mov eax, edx
mov edx, dword [ebx + 0x28]
inc edx
cmp esi, edx
jae 0x621976
mov dword [esp + 0x2c], ecx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x64f280]
mov dword [esp + 0x10], eax
call fcn.0044a110
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xb8]
mov dword [ebx + 0x2c], edx
mov edx, dword [0x8b5080]
test edx, edx
jne 0x621961
mov dword [ebx + 0x24], eax
mov edi, dword [esp + 0x58]
jmp 0x62196a
mov edi, dword [esp + 0x58]
call fcn.00462690
mov edx, ecx
mov ebp, eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [ebx + 0x28], edx
lea esi, [ebp + edx*8 - 4]
mov dword [esi], ecx
lea edi, [ebp + edx*8 - 8]
mov edx, dword [0x8b5080]
mov ebp, dword [esp + 0x34]
lea esi, [ebp + ecx]
test edx, edx
jne 0x62199d
mov edx, dword [esp + 0x4c]
mov dword [edi], edx
jmp 0x6219ac
mov ecx, eax
mov eax, dword [esp + 0x4c]
call fcn.00462690
mov edx, eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
cmp ecx, esi
jae 0x62177d
jmp 0x621b70
lea edi, [esp + 0x9c]
xor eax, eax
call fcn.0046290a
mov ecx, dword [esp + 0xcc]
mov dword [esp], ecx
mov ecx, dword [esp + 0xd0]
mov dword [esp + 4], ecx
call fcn.00409600
mov ecx, dword [esp + 8]
lea edx, [0x64f280]
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 4], ecx
call fcn.00409600
mov ecx, dword [esp + 8]
lea edx, [0x64f280]
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], ecx
call fcn.00409680
mov ecx, dword [esp + 0xc]
lea edx, [0x6470a0]
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], ecx
lea ecx, [0x699ba3]
mov dword [esp], ecx
mov dword [esp + 4], 0x3a
lea ecx, [esp + 0x9c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 3
call fcn.004b46c0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], edx
add esp, 0xb4
ret
mov ecx, dword [esp + 0xb8]
mov edx, dword [ecx + 0x1c]
inc edx
mov ebx, dword [ecx + 0x18]
mov ebp, dword [ecx + 0x20]
cmp ebp, edx
jae 0x621b1c
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x6470a0]
mov dword [esp + 0x10], eax
call fcn.0044a110
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xb8]
mov dword [ebx + 0x20], edx
mov edx, dword [0x8b5080]
test edx, edx
jne 0x621b0d
mov dword [ebx + 0x18], eax
jmp 0x621b16
mov edi, dword [esp + 0x5c]
call fcn.00462690
mov edx, ecx
mov ecx, ebx
mov ebx, eax
mov dword [ecx + 0x1c], edx
lea ecx, [edx + edx*2]
mov edx, dword [esp + 0x24]
mov dword [ebx + ecx*4 - 8], edx
mov edx, dword [esp + 0x28]
mov dword [ebx + ecx*4 - 4], edx
mov edx, dword [0x8b5080]
lea edi, [ebx + ecx*4 - 0xc]
test edx, edx
jne 0x621b4a
mov eax, dword [esp + 0x4c]
mov dword [ebx + ecx*4 - 0xc], eax
jmp 0x621b53
mov eax, dword [esp + 0x4c]
call fcn.00462690
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
add esp, 0xb4
ret
mov eax, esi
call fcn.00462770
call fcn.00462750
mov eax, ebx
call fcn.00462770
call fcn.00462750
lea eax, [0x64f280]
mov dword [esp], eax
lea eax, [0x6ee358]
mov dword [esp + 4], eax
call fcn.004353d0
lea eax, [0x64f280]
mov dword [esp], eax
lea eax, [0x6ee350]
mov dword [esp + 4], eax
call fcn.004353d0
nop
call fcn.00461280
jmp fcn.00621450