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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x44]
cmp eax, dword [ecx + 8]
jbe 0x620d2b
sub esp, 0xc4
mov eax, 0
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
call fcn.0040a810
mov eax, dword [esp]
mov dword [esp + 0xb0], eax
call fcn.0040a810
mov eax, dword [esp]
mov dword [esp + 0xac], eax
lea ecx, [0x836000]
mov dword [esp], ecx
call fcn.00409d90
mov edi, dword [esp + 4]
mov eax, dword [0xc6f140]
test eax, eax
jne 0x620cf5
mov eax, dword [esp + 0xb0]
mov dword [edi], eax
mov eax, dword [esp + 0xac]
mov dword [edi + 4], eax
mov dword [esp + 0x80], edi
lea eax, [esp + 0xd8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
mov dword [esp], 8
lea eax, [0x8bf53c]
mov dword [esp + 4], eax
call fcn.00426b30
test eax, eax
jne 0x620ce8
mov eax, dword [esp + 0xcc]
mov ecx, eax
add eax, 0xa00000
mov edx, dword [esp + 0xd0]
mov ebx, edx
adc edx, 0
jmp 0x62031b
mov ebp, ebx
mov ebx, eax
mov eax, edx
mov edx, ebp
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xcc], ecx
mov ebp, dword [esp + 0xc8]
mov dword [esp], ebp
call fcn.006220d0
mov eax, dword [esp + 4]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [0xc5c678]
cmp edx, ebx
je 0x620c76
test edx, edx
jne 0x620c50
mov dword [esp], eax
call fcn.00620fe0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x620398
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
jmp 0x620313
mov dword [esp + 0x40], eax
mov dword [esp + 0x7c], ecx
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
call fcn.006210a0
mov eax, dword [esp + 8]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x84], ecx
lea edx, [0x84d280]
mov dword [esp], edx
call fcn.00409d90
mov eax, dword [esp + 4]
mov dword [esp + 0x9c], eax
mov ecx, dword [esp + 0x5c]
test ecx, ecx
jne 0x62065d
mov eax, dword [esp + 0x54]
add eax, 1
lea edx, [0x921650]
mov dword [esp], edx
lea ebx, [0x922050]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0xa8]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
adc eax, 0
mov dword [esp + 0x14], eax
call fcn.00460170
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x620478
mov dword [esp + 0x90], edx
mov dword [esp + 0x68], ebx
mov ebp, dword [0xc5c678]
cmp ebp, ebx
jne 0x62062c
mov dword [esp], ebx
mov dword [esp + 4], edx
mov eax, dword [0xc5c67c]
mov dword [esp + 8], eax
call fcn.00402ea0
movzx eax, byte [esp + 0xc]
test al, al
je 0x62062c
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x44]
sub eax, ecx
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x4c]
sbb ecx, edx
test ecx, ecx
sete dl
test eax, eax
setb bl
and ebx, edx
test ecx, ecx
setl dl
or ebx, edx
test bl, bl
jne 0x6205fa
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0x9c]
test edx, edx
je 0x6205ea
mov ebx, dword [edx + 4]
mov ebp, dword [edx]
mov esi, dword [edx + 0xc]
mov edx, dword [edx + 8]
cmp esi, ebx
ja 0x620d24
mov dword [esp], 0
sub edx, esi
mov eax, edx
neg edx
sar edx, 0x1f
and edx, esi
lea ecx, [ebp + edx]
mov dword [esp + 4], ecx
sub ebx, esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.0043bf50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x80]
mov ebx, dword [edx]
mov dword [esp + 4], ebx
lea ebx, [0x80f220]
mov dword [esp], ebx
mov ebp, dword [esp + 0x7c]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x40]
mov dword [esp + 0xc], ebp
call fcn.0040ede0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x620591
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
lea ecx, [ebx + edx*8 + 4]
mov ebp, dword [esp + 0x2c]
mov dword [ecx], ebp
lea edi, [ebx + edx*8]
mov ecx, dword [0xc6f140]
test ecx, ecx
jne 0x620586
mov eax, dword [esp + 0x74]
mov dword [edi], eax
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
jmp 0x620313
mov eax, dword [esp + 0x74]
call fcn.0044c860
jmp 0x62056b
mov dword [esp + 0xa4], eax
lea eax, [0x80a3e0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00438c30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xa4]
mov dword [edi + 8], edx
mov edx, dword [0xc6f140]
test edx, edx
jne 0x6205e3
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
mov eax, edi
jmp 0x620548
call fcn.0044c860
jmp 0x6205d8
mov eax, 5
lea ecx, [0x897708]
jmp 0x620502
mov eax, dword [0xc5c6cc]
mov ecx, dword [0xc5c6c8]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], eax
nop
call fcn.004272f0
add esp, 0xc4
ret
mov dword [esp + 0xd4], 0
mov eax, dword [esp + 0x68]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0xdc], eax
nop
call fcn.004272f0
add esp, 0xc4
ret
mov eax, dword [esp + 0xcc]
add eax, 1
mov dword [esp + 0x70], eax
lea edx, [0x8586a0]
mov dword [esp], edx
call fcn.00409d90
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x5c]
mov dword [edi + 4], eax
mov eax, dword [0xc6f140]
mov ecx, dword [esp + 0xcc]
mov edx, ecx
add ecx, 1
mov ecx, dword [esp + 0xd0]
mov ebx, ecx
adc ecx, 0
test eax, eax
jne 0x620c3f
mov ebp, dword [esp + 0x84]
mov dword [edi], ebp
mov dword [esp + 0x88], edi
mov ebp, dword [0xc6f140]
mov esi, dword [esp + 0xa8]
mov eax, dword [esi]
test ebp, ebp
jne 0x620c30
mov dword [edi + 8], eax
lea eax, [0x921650]
mov dword [esp], eax
mov edx, dword [esp + 0x9c]
mov dword [esp + 4], edx
lea ebx, [0x922050]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ecx
call fcn.00460170
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x48], ebx
test edx, edx
je 0x62075f
mov dword [esp + 0x94], ecx
mov dword [esp + 0x64], edx
mov ebp, dword [0xc5c678]
cmp ebp, edx
jne 0x620bff
mov dword [esp], edx
mov dword [esp + 4], ecx
mov eax, dword [0xc5c67c]
mov dword [esp + 8], eax
call fcn.00402ea0
movzx eax, byte [esp + 0xc]
test al, al
je 0x620bff
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xd0]
cmp ecx, edx
sete bl
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0xcc]
cmp ebp, esi
mov eax, ebp
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebp, ebx
cmp ecx, edx
setg bl
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x620948
mov ebx, dword [esp + 0x9c]
mov ebp, dword [ebx + 8]
mov edi, ecx
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 4]
mov ebx, dword [ebx]
cmp ecx, edx
ja 0x620d1d
sub esi, eax
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x54]
sub esi, eax
mov dword [esp + 0x6c], esi
sub edx, ecx
mov dword [esp + 0x28], edx
mov esi, dword [esp + 0x88]
mov dword [esi + 0x18], edx
sub ebp, ecx
mov dword [esi + 0x1c], ebp
mov edx, dword [0xc6f140]
mov esi, dword [esp + 0xcc]
sub esi, eax
mov esi, dword [esp + 0xd0]
sbb esi, edi
mov dword [esp + 0xd0], esi
mov esi, dword [esp + 0x54]
sub esi, eax
mov esi, dword [esp + 0x58]
sbb esi, edi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ecx, ebp
lea eax, [ebx + ecx]
test edx, edx
jne 0x620934
mov ecx, dword [esp + 0x88]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x28]
mov dword [ecx + 0xc], eax
sar eax, 0x1f
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], edx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], esi
mov ecx, dword [esp + 0x80]
mov ebp, dword [ecx + 4]
mov dword [esp + 4], ebp
lea ebp, [0x80f120]
mov dword [esp], ebp
mov edi, dword [esp + 0x7c]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0xc], edi
call fcn.0040ede0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x6208db
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov ecx, dword [0xc6f140]
lea edi, [ebx + edx*4]
test ecx, ecx
jne 0x6208cd
mov eax, dword [esp + 0x88]
mov dword [ebx + edx*4], eax
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
jmp 0x620313
mov eax, dword [esp + 0x88]
call fcn.0044c860
jmp 0x6208b2
mov dword [esp + 0xa0], eax
lea eax, [0x81a260]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00438c30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xa0]
mov dword [edi + 8], edx
mov edx, dword [0xc6f140]
test edx, edx
jne 0x62092d
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
mov eax, edi
jmp 0x620895
call fcn.0044c860
jmp 0x620922
mov ecx, dword [esp + 0x88]
lea edi, [ecx + 0x14]
call fcn.0044c860
jmp 0x620824
mov dword [esp], 0
mov dword [esp + 4], 0
lea eax, [0x89ba19]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xa
call fcn.005eaa30
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test ecx, ecx
jne 0x620bd9
mov dword [esp + 0x8c], edx
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea eax, [0x921630]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0xb8], ecx
lea ecx, [0x922050]
mov dword [esp + 0xbc], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0xc0], edx
lea edx, [0x820e40]
mov dword [esp], edx
mov dword [esp + 4], 2
mov dword [esp + 8], 2
call fcn.00438ab0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x78], edx
lea ebx, [0x820e40]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
lea ebp, [esp + 0xb4]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], 2
mov dword [esp + 0x18], 2
call fcn.0040f9e0
lea eax, [0x8276e0]
mov dword [esp], eax
call fcn.00409d90
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x38]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [edi + 8], eax
mov eax, dword [0xc6f140]
test eax, eax
jne 0x620bcb
mov eax, dword [esp + 0x78]
mov dword [edi], eax
lea eax, [0x922390]
mov dword [esp], eax
mov ecx, dword [esp + 0x8c]
mov dword [esp + 4], ecx
lea edx, [0x921ff0]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
call fcn.004602a0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x98], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x34], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x30], ebx
mov ebp, dword [esp + 0x8c]
mov dword [esp], ebp
call fcn.0048bdc0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x60]
test edx, edx
je 0x620bc2
mov eax, dword [esp + 0x98]
test edx, edx
jne 0x620b63
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx]
test byte [ecx], al
mov eax, dword [edx + 0x140]
mov ecx, dword [edx + 0x144]
mov edx, dword [esp + 0x88]
mov dword [edx + 0x24], ecx
mov ecx, dword [0xc6f140]
test ecx, ecx
jne 0x620b59
mov dword [edx + 0x20], eax
mov ecx, dword [esp + 0x30]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov dword [edx + 0x10], ecx
mov eax, dword [esp + 0xcc]
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
jmp 0x620840
lea edi, [edx + 0x20]
call fcn.0044c860
jmp 0x620b30
mov dword [esp + 0x98], eax
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax]
test byte [eax], al
mov eax, dword [ecx + 0x140]
mov ecx, dword [ecx + 0x144]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0048c210
mov dword [esp + 0xd4], 0
mov eax, dword [esp + 0x60]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0xdc], eax
nop
call fcn.004272f0
add esp, 0xc4
ret
mov edx, eax
mov eax, ecx
jmp 0x620afe
mov eax, dword [esp + 0x78]
call fcn.0044c860
jmp 0x620a8a
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], eax
nop
call fcn.004272f0
add esp, 0xc4
ret
mov dword [esp + 0xd4], 0
mov eax, dword [esp + 0x64]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0xdc], eax
nop
call fcn.004272f0
add esp, 0xc4
ret
lea ebp, [edi + 8]
mov edi, ebp
call fcn.0044c860
jmp 0x6206d4
mov eax, dword [esp + 0x84]
call fcn.0044c860
jmp 0x6206b3
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], ecx
nop
call fcn.004272f0
add esp, 0xc4
ret
mov dword [esp + 0x94], ecx
mov dword [esp + 0x64], edx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov eax, dword [0xc5c67c]
mov dword [esp + 8], eax
call fcn.00402ea0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x620cb7
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x64]
jmp 0x620361
mov eax, dword [esp + 0x80]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
nop
call fcn.004272f0
add esp, 0xc4
ret
nop
call fcn.004272f0
add esp, 0xc4
ret
mov eax, dword [esp + 0xb0]
call fcn.0044c860
lea ecx, [edi + 4]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xac]
call fcn.0044c860
mov edi, edx
jmp 0x6202c3
call fcn.00426870
ud2
call fcn.00426870
ud2
call fcn.0044b100
jmp fcn.00620210