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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x8c]
cmp eax, dword [ecx + 8]
jbe 0x621719
sub esp, 0x10c
lea eax, [0x82a380]
mov dword [esp], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
lea edx, [0x841553]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xa
call fcn.0040fa20
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
test eax, eax
je 0x6216bd
mov dword [esp + 0x5c], eax
lea ecx, [0x7dd560]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], eax
call fcn.00443a00
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa4], eax
lea ecx, [0x82a380]
mov dword [esp], ecx
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
lea ecx, [0x841553]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0xa
call fcn.0040fa20
lea eax, [esp + 0x18]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 4]
mov dword [esp + 0x6c], edx
mov ecx, dword [ecx]
mov dword [esp + 0x9c], ecx
xor ebx, ebx
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xa4]
xor edi, edi
jmp 0x620b8e
mov ebx, dword [esp + 0x68]
inc ebx
mov ebp, eax
mov esi, edx
mov edi, ecx
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x6c]
cmp ebx, edx
jge 0x6216a1
mov dword [esp + 0x68], ebx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x98], esi
mov dword [esp + 0x58], edi
lea eax, [ecx + ebx*8]
mov edx, dword [eax]
mov dword [esp + 0x88], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x4c], eax
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.004ef620
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x83f3a7]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call fcn.004edb50
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
cmp ecx, 1
jne 0x620c26
mov edx, dword [eax + 4]
test edx, edx
jne 0x620c26
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x98]
jmp 0x620b71
test ecx, ecx
jbe 0x621711
mov dword [esp + 0x44], ecx
mov dword [esp + 0x80], eax
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004ef620
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0x80]
mov dword [edi + 4], eax
mov edx, dword [0xc83da0]
test edx, edx
jne 0x621691
mov dword [edi], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x83f3a9]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004efdd0
mov ecx, dword [esp + 0x10]
test ecx, ecx
jge 0x620ca6
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x98]
jmp 0x620b71
mov ebx, dword [esp + 0x80]
mov ebp, dword [ebx]
mov edx, dword [ebx + 4]
cmp ecx, edx
ja 0x62170c
lea eax, [ecx + 1]
cmp eax, edx
ja 0x621705
mov dword [esp + 0x40], ecx
mov dword [esp + 0x7c], ebp
sub edx, eax
mov esi, edx
neg edx
sar edx, 0x1f
and edx, eax
lea eax, [edx + ebp]
test ecx, ecx
jne 0x621649
xor edx, edx
test dl, dl
jne 0x620cfd
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x98]
jmp 0x620b71
mov dword [esp], eax
mov dword [esp + 4], esi
mov byte [esp + 8], 1
call fcn.006236c0
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test al, al
jne 0x620d33
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x98]
jmp 0x620b71
mov dword [esp + 0x34], ecx
mov dword [esp + 0x74], edx
lea eax, [0x820ea0]
mov dword [esp], eax
call fcn.0040ac80
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x621637
mov edx, dword [esp + 0x7c]
mov dword [eax], edx
mov edx, dword [esp + 0x34]
mov dword [eax + 0xc], edx
mov edx, dword [0xc83da0]
test edx, edx
jne 0x621622
mov edx, dword [esp + 0x74]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + 0x4c], edx
mov edx, dword [0xc83da0]
test edx, edx
jne 0x62160a
mov edx, dword [esp + 0x88]
mov dword [eax + 0x48], edx
mov dword [esp + 0x8c], eax
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x44]
mov ecx, 1
jmp 0x620dd0
lea ebp, [eax + 1]
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x8c]
mov edx, ecx
mov ebx, esi
mov ecx, ebp
cmp ecx, ebx
jge 0x62158f
jae 0x6216fc
mov dword [esp + 0x50], ecx
lea eax, [edx + ecx*8]
mov dword [esp + 0x94], eax
mov ebx, dword [eax + 4]
mov ebp, dword [eax]
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.004ef620
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
lea edx, [ecx + eax*8 + 4]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 8]
mov dword [edx], ebx
mov edx, dword [0xc83da0]
test edx, edx
jne 0x621576
mov edx, dword [esp + 0x94]
mov dword [edx], ebp
test ebx, ebx
je 0x620dbc
mov dword [esp + 0x64], ebx
mov dword [esp + 0x90], ebp
mov dword [esp], ebp
mov dword [esp + 4], ebx
lea eax, [0x83f3a9]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004efdd0
mov ecx, dword [esp + 0x10]
test ecx, ecx
jl 0x621562
mov edx, dword [esp + 0x64]
cmp ecx, edx
ja 0x6216f7
lea eax, [ecx + 1]
cmp eax, edx
ja 0x6216f0
sub edx, eax
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, eax
mov eax, dword [esp + 0x90]
add edx, eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x3c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004eed80
mov eax, dword [esp + 0xc]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
mov byte [esp + 8], 0
call fcn.006236c0
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test al, al
je 0x621493
mov ebx, dword [esp + 0x48]
cmp ebx, 6
jg 0x62109a
cmp ebx, 4
jne 0x621010
mov ebx, dword [esp + 0x84]
cmp dword [ebx], 0x68746170
jne 0x620f42
mov eax, dword [esp + 0x8c]
mov dword [eax + 0x14], ecx
mov ebx, dword [0xc83da0]
test ebx, ebx
jne 0x620f32
mov dword [eax + 0x10], edx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x620dbc
lea edi, [eax + 0x10]
mov ecx, eax
mov eax, edx
call fcn.00459d90
mov eax, ecx
jmp 0x620f22
mov eax, dword [esp + 0x8c]
mov edx, dword [eax + 0x58]
mov ebx, dword [eax + 0x54]
mov ebp, dword [eax + 0x50]
lea esi, [ebx + 1]
mov ecx, ebx
mov ebx, dword [esp + 0x94]
mov edi, ebp
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
cmp esi, edx
ja 0x620fa1
lea edx, [ecx + 1]
mov dword [eax + 0x54], edx
lea edx, [edi + ecx*8 + 4]
mov dword [edx], ebp
mov edx, dword [0xc83da0]
lea edi, [edi + ecx*8]
test edx, edx
jne 0x620f94
mov dword [edi], ebx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x620dbc
mov ecx, eax
mov eax, ebx
call fcn.00459d90
mov eax, ecx
jmp 0x620f84
mov dword [esp + 0x64], ebp
mov dword [esp + 0x90], ebx
lea eax, [0x7cfd20]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.00443b60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x8c]
mov dword [ebx + 0x58], edx
mov edx, dword [0xc83da0]
test edx, edx
jne 0x621006
mov dword [ebx + 0x50], eax
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x64]
mov edi, eax
mov eax, dword [esp + 0x8c]
jmp 0x620f69
lea edi, [ebx + 0x50]
call fcn.00459d90
jmp 0x620fed
cmp ebx, 6
jne 0x620f42
mov ebx, dword [esp + 0x84]
cmp dword [ebx], 0x616d6f64
jne 0x621067
cmp word [ebx + 4], 0x6e69
jne 0x621067
mov eax, dword [esp + 0x8c]
mov dword [eax + 0x1c], ecx
mov ebx, dword [0xc83da0]
test ebx, ebx
jne 0x621057
mov dword [eax + 0x18], edx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x620dbc
lea edi, [eax + 0x18]
mov ecx, eax
mov eax, edx
call fcn.00459d90
mov eax, ecx
jmp 0x621047
cmp dword [ebx], 0x75636573
jne 0x620f42
cmp word [ebx + 4], 0x6572
jne 0x620f42
mov eax, dword [esp + 0x8c]
mov byte [eax + 0x40], 1
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x620dbc
cmp ebx, 7
jne 0x6213a8
mov dword [esp + 0x38], ecx
mov dword [esp + 0x70], edx
mov ebx, dword [esp + 0x84]
cmp dword [ebx], 0x69707865
jne 0x6210cc
cmp word [ebx + 4], 0x6572
jne 0x6210cc
cmp byte [ebx + 6], 0x73
je 0x62114e
cmp dword [ebx], 0x2d78616d
jne 0x620f42
cmp word [ebx + 4], 0x6761
jne 0x620f42
cmp byte [ebx + 6], 0x65
jne 0x620f42
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00478480
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x620f42
test ecx, ecx
je 0x621129
mov edx, dword [esp + 0x38]
test edx, edx
jbe 0x6216e7
mov edx, dword [esp + 0x70]
cmp byte [edx], 0x30
je 0x620f42
test ecx, ecx
jg 0x62114a
mov eax, 0xffffffff
mov edx, dword [esp + 0x8c]
mov dword [edx + 0x3c], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x620dbc
mov eax, ecx
jmp 0x621130
mov ebx, dword [esp + 0x8c]
mov dword [ebx + 0x38], ecx
mov ebp, dword [0xc83da0]
test ebp, ebp
jne 0x621399
mov dword [ebx + 0x34], edx
lea edi, [esp + 0xe4]
xor eax, eax
call fcn.0045a03b
lea ecx, [0x84b5dd]
mov dword [esp], ecx
mov dword [esp + 4], 0x1d
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0xc], ebx
mov ebp, dword [0xc69658]
mov dword [esp + 0x10], ebp
mov ebp, dword [0xc69654]
mov dword [esp + 0x14], ebp
call fcn.004b18b0
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x54], ecx
lea edi, [esp + 0xe4]
mov esi, dword [esp + 0xa0]
call fcn.0045a51e
lea edi, [esp + 0xd0]
lea esi, [esp + 0xe4]
call fcn.0045a51e
mov ecx, dword [esp + 0x54]
test ecx, ecx
jne 0x6212e0
lea edi, [esp + 0xbc]
lea esi, [esp + 0xd0]
call fcn.0045a51e
lea edi, [esp + 0xa8]
xor eax, eax
call fcn.0045a03b
nop
nop
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
test edx, 0x80000000
je 0x62126c
shl edx, 1
mov ebx, ecx
shr ecx, 0x1f
or ecx, edx
shl ebx, 1
shr ebx, 0x1f
mov edx, ecx
shl ecx, 1
or ecx, ebx
mov ebx, ecx
add ecx, 0xd7b17f80
mov dword [esp + 0xc4], ecx
shr edx, 0x1f
add ebx, 0xd7b17f80
adc edx, 0xd
mov dword [esp + 0xc8], edx
and dword [esp + 0xbc], 0x3fffffff
mov dword [esp + 0xc0], 0
mov dword [esp + 0xcc], 0
lea edi, [esp + 0xa8]
lea esi, [esp + 0xbc]
call fcn.0045a51e
mov eax, dword [esp + 0x8c]
lea edi, [eax + 0x20]
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x6212ba
lea esi, [esp + 0xa8]
call fcn.0045a51e
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x620dbc
lea eax, [0x8395e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.00410bc0
mov eax, dword [esp + 0x8c]
jmp 0x6212aa
lea edi, [esp + 0xf8]
xor eax, eax
call fcn.0045a03b
lea ecx, [0x84b5fa]
mov dword [esp], ecx
mov dword [esp + 4], 0x1d
mov edx, dword [esp + 0x70]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc], edx
mov edx, dword [0xc69658]
mov dword [esp + 0x10], edx
mov edx, dword [0xc69654]
mov dword [esp + 0x14], edx
call fcn.004b18b0
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x60], ecx
lea edi, [esp + 0xf8]
mov esi, dword [esp + 0xa0]
call fcn.0045a51e
lea edi, [esp + 0xd0]
lea esi, [esp + 0xf8]
call fcn.0045a51e
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x6211e7
mov ecx, dword [esp + 0x8c]
lea edi, [ecx + 0x20]
mov edx, dword [0xc83da0]
test edx, edx
jne 0x621382
xor eax, eax
call fcn.0045a03b
jmp 0x620f42
lea eax, [0x8395e0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00410ff0
jmp 0x620f42
lea edi, [ebx + 0x34]
mov eax, edx
call fcn.00459d90
jmp 0x621169
cmp ebx, 8
jne 0x620f42
mov ebx, dword [esp + 0x84]
cmp dword [ebx], 0x70747468
jne 0x6213e4
cmp dword [ebx + 4], 0x796c6e6f
jne 0x6213e4
mov eax, dword [esp + 0x8c]
mov byte [eax + 0x41], 1
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x620dbc
cmp dword [ebx], 0x656d6173
jne 0x620f42
cmp dword [ebx + 4], 0x65746973
jne 0x620f42
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004eed80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
cmp eax, 3
jne 0x621451
cmp word [ecx], 0x616c
jne 0x621441
cmp byte [ecx + 2], 0x78
jne 0x621441
mov eax, dword [esp + 0x8c]
mov dword [eax + 0x44], 2
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x620dbc
mov eax, dword [esp + 0x8c]
mov dword [eax + 0x44], 1
jmp 0x621431
cmp eax, 4
jne 0x62146e
cmp dword [ecx], 0x656e6f6e
jne 0x621441
mov eax, dword [esp + 0x8c]
mov dword [eax + 0x44], 4
jmp 0x621431
cmp eax, 6
jne 0x621441
cmp dword [ecx], 0x69727473
jne 0x621441
cmp word [ecx + 4], 0x7463
jne 0x621441
mov eax, dword [esp + 0x8c]
mov dword [eax + 0x44], 3
jmp 0x621431
mov eax, dword [esp + 0x8c]
mov edx, dword [eax + 0x54]
mov ebx, dword [eax + 0x50]
mov ebp, dword [eax + 0x58]
lea esi, [edx + 1]
mov ecx, edx
mov edx, dword [esp + 0x94]
mov edi, ebx
mov ebx, dword [edx + 4]
mov edx, dword [edx]
cmp esi, ebp
ja 0x6214f3
lea ebp, [ecx + 1]
mov dword [eax + 0x54], ebp
lea ebp, [edi + ecx*8 + 4]
mov dword [ebp], ebx
lea edi, [edi + ecx*8]
mov ebx, dword [0xc83da0]
test ebx, ebx
jne 0x6214e6
mov dword [edi], edx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x80]
jmp 0x620dbc
mov ecx, eax
mov eax, edx
call fcn.00459d90
mov eax, ecx
jmp 0x6214d6
mov dword [esp + 0x64], ebx
mov dword [esp + 0x90], edx
lea eax, [0x7cfd20]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00443b60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x8c]
mov dword [ebx + 0x58], edx
mov edx, dword [0xc83da0]
test edx, edx
jne 0x621558
mov dword [ebx + 0x50], eax
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x64]
mov edi, eax
mov eax, dword [esp + 0x8c]
jmp 0x6214ba
lea edi, [ebx + 0x50]
call fcn.00459d90
jmp 0x62153f
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x64]
xor edx, edx
xor ebx, ebx
jmp 0x620e91
mov edi, dword [esp + 0x94]
mov edx, eax
mov eax, ebp
call fcn.00459d90
mov eax, edx
mov edx, edi
jmp 0x620e2d
mov ecx, dword [esp + 0x58]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x5c]
cmp edx, ebx
ja 0x6215c9
mov ebp, dword [esp + 0x98]
mov esi, dword [0xc83da0]
lea edi, [ebp + ecx*4]
test esi, esi
jne 0x6215c2
mov dword [ebp + ecx*4], eax
mov eax, ebx
mov ecx, edx
mov edx, ebp
jmp 0x620b71
call fcn.00459d90
jmp 0x6215b7
lea eax, [0x7dd560]
mov dword [esp], eax
mov ebp, dword [esp + 0x98]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00443b60
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x58]
jmp 0x6215a5
lea edi, [eax + 0x48]
mov ecx, eax
mov eax, dword [esp + 0x88]
call fcn.00459d90
mov eax, ecx
jmp 0x620da3
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x74]
call fcn.00459d90
mov eax, ecx
jmp 0x620d84
mov edi, eax
mov eax, dword [esp + 0x7c]
call fcn.00459d90
mov eax, edi
jmp 0x620d68
mov dword [esp + 0x64], esi
mov dword [esp + 0x74], eax
mov dword [esp], ebp
mov dword [esp + 4], ecx
lea eax, [0x90d320]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004ef140
mov eax, dword [esp + 0x10]
test eax, eax
setl dl
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x64]
jmp 0x620ce5
mov edx, eax
mov eax, ecx
call fcn.00459d90
mov eax, edx
jmp 0x620c6c
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], edi
mov dword [esp + 0x11c], ebp
add esp, 0x10c
ret
lea eax, [0xc83b64]
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
add esp, 0x10c
ret
xor eax, eax
mov ecx, edx
call fcn.00459e10
mov ecx, edx
call fcn.00459e70
call fcn.00459e30
mov eax, ecx
mov ecx, ebx
call fcn.00459e10
mov ecx, edx
call fcn.00459e70
call fcn.00459e30
xor eax, eax
call fcn.00459e10
nop
call fcn.00458550
jmp fcn.00620a90