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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x5c]
cmp eax, dword [ecx + 8]
jbe 0x622979
sub esp, 0xdc
mov eax, 0
mov dword [esp + 0xd8], eax
mov byte [esp + 0x23], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov eax, dword [esp + 0xe0]
movzx ecx, byte [eax + 0x68]
test cl, cl
jne 0x621f7d
mov ecx, dword [eax + 0x70]
test ecx, ecx
jge 0x621f9e
mov eax, dword [0xbbde68]
mov ecx, dword [0xbbde6c]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], ecx
add esp, 0xdc
ret
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.006280c0
movzx eax, byte [esp + 4]
test al, al
jne 0x622126
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.0062b950
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
call fcn.00469ac0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
lea eax, [0x622990]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x44]
mov dword [esp + 0xd8], ecx
mov byte [esp + 0x23], 1
mov ecx, dword [esp + 0xe4]
mov edx, dword [ecx]
test edx, edx
jne 0x62201e
xor edx, edx
jmp 0x622052
mov edx, dword [eax + 0x18]
lea ebp, [0x655520]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0040e2e0
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
test eax, eax
setne al
mov ecx, dword [esp + 0xe4]
mov edx, eax
mov eax, dword [esp + 0xe0]
test dl, dl
jne 0x6220f9
lea esi, [ecx + 0xc]
lea edi, [esp + 0x84]
call fcn.0046345a
lea edi, [esp + 0xbc]
lea esi, [esp + 0x84]
call fcn.0046345a
lea edi, [esp + 0xa0]
xor eax, eax
call fcn.00462f89
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x10]
lea ebx, [0x655960]
mov dword [esp], ebx
mov dword [esp + 4], edx
lea edx, [esp + 0xbc]
mov dword [esp + 8], edx
call fcn.0040c8b0
movzx ecx, byte [esp + 0x10]
mov byte [esp + 0x21], cl
mov esi, dword [esp + 0xc]
lea edi, [esp + 0xa0]
call fcn.0046345a
lea edi, [esp + 0x68]
lea esi, [esp + 0xa0]
call fcn.0046345a
movzx ecx, byte [esp + 0x21]
test cl, cl
je 0x622147
mov edx, dword [esp + 0xe4]
mov ebx, dword [edx]
test ebx, ebx
jne 0x6228af
jmp 0x62269b
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xd8]
mov eax, dword [edx]
call eax
add esp, 0xdc
ret
mov eax, dword [0xbbde58]
mov ecx, dword [0xbbde5c]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], ecx
add esp, 0xdc
ret
mov eax, dword [esp + 0xe0]
movzx ecx, byte [eax + 8]
test cl, cl
jne 0x622230
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x622192
call fcn.0040c310
mov eax, dword [0xbe5550]
mov ecx, dword [esp]
test eax, eax
jne 0x62217f
mov eax, dword [esp + 0xe0]
mov dword [eax + 0xc], ecx
jmp 0x622192
mov edx, dword [esp + 0xe0]
lea edi, [edx + 0xc]
mov eax, ecx
call fcn.00462ce0
mov eax, edx
lea edi, [esp + 0xbc]
lea esi, [esp + 0x84]
call fcn.0046345a
mov ecx, dword [eax + 0xc]
lea edx, [0x6558e0]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0xbc]
mov dword [esp + 8], ecx
call fcn.0040c6e0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [eax + 8]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [ebx + 0x70]
test ebp, ebp
jne 0x6221e4
mov ebp, 2
cmp ebp, ecx
jle 0x6221ff
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x38], edx
mov ebp, dword [esp + 0xe4]
xor esi, esi
jmp 0x622264
mov eax, dword [0xbbded0]
mov ecx, dword [0xbbded4]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], ecx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xd8]
mov eax, dword [edx]
call eax
add esp, 0xdc
ret
mov eax, dword [0xbbde48]
mov ecx, dword [0xbbde4c]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], ecx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xd8]
mov eax, dword [edx]
call eax
add esp, 0xdc
ret
inc esi
mov ebx, edi
cmp esi, ecx
jge 0x6222e1
mov edi, ebx
lea ebx, [edx + esi*4]
cmp dword [ebx], ebp
jne 0x622261
mov dword [esp + 0x34], esi
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
lea eax, [0x67f780]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ebp
lea ecx, [0x69006a]
mov dword [esp], ecx
mov dword [esp + 4], 0x1d
lea edx, [esp + 0x4c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.005de980
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0xe0]
jmp 0x622261
lea edi, [esp + 0xbc]
lea esi, [esp + 0x84]
call fcn.0046345a
mov ecx, dword [esp + 0x28]
mov esi, ebx
lea ebx, [ecx + 1]
cmp eax, ebx
jae 0x622342
lea ebp, [0x67f780]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
call fcn.0044ba20
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0xe0]
mov eax, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x40], edx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], eax
mov ebx, dword [0xbe5550]
lea esi, [edx + ecx*4]
test ebx, ebx
jne 0x622360
mov dword [edx + ecx*4], ebp
jmp 0x622369
mov edi, esi
mov eax, ebp
call fcn.00462ce0
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0xc]
lea edx, [0x6558e0]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0xbc]
mov dword [esp + 8], ecx
call fcn.0040cc30
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x34]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x30]
mov dword [edi + 8], eax
mov eax, dword [0xbe5550]
test eax, eax
jne 0x6223b4
mov eax, dword [esp + 0x40]
mov dword [edi], eax
jmp 0x6223bd
mov eax, dword [esp + 0x40]
call fcn.00462ce0
mov eax, dword [esp + 0xe0]
lea ecx, [eax + 0x14]
mov dword [esp], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
call fcn.0062c410
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0x6c]
test ecx, ecx
je 0x622514
mov edx, dword [eax + 0x18]
test edx, edx
je 0x6223f7
mov edx, dword [edx]
jmp 0x6223f9
xor edx, edx
cmp edx, ecx
jle 0x622514
mov ecx, dword [eax + 0x14]
nop
mov edx, dword [ecx + 0x14]
test edx, edx
jne 0x622410
xor edx, edx
jmp 0x622413
mov edx, dword [ecx + 4]
mov ebx, dword [edx + 0x10]
mov ebp, dword [edx + 0xc]
lea esi, [0x67f780]
cmp ebp, esi
jne 0x62267e
nop
cmp dword [edx + 8], ecx
jne 0x6224b7
mov edi, dword [edx + 4]
test byte [edi], al
mov ebp, dword [0xbe5550]
mov esi, dword [edx]
test ebp, ebp
jne 0x622446
mov dword [edi], esi
jmp 0x622451
mov ebp, eax
mov eax, esi
call fcn.00462ce0
mov eax, ebp
mov ebp, dword [edx]
test byte [ebp], al
mov esi, dword [0xbe5550]
mov edi, ebx
mov ebx, dword [edx + 4]
test esi, esi
jne 0x62247e
mov dword [ebp + 4], ebx
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
jmp 0x6224b2
add ebp, 4
mov esi, edi
mov edi, ebp
mov eax, ebx
call fcn.00462ce0
mov edi, edx
xor eax, eax
call fcn.00462ce0
lea ebx, [edx + 4]
mov edi, ebx
call fcn.00462ce0
lea edi, [edx + 8]
xor eax, eax
call fcn.00462ce0
mov eax, dword [esp + 0xe0]
mov edi, esi
dec dword [ecx + 0x14]
jmp 0x6224b9
mov edi, ebx
mov dword [esp + 0x3c], edi
mov edx, dword [eax + 0x18]
lea ebx, [0x655520]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], edi
call fcn.0040eb80
mov eax, dword [0xbbdec8]
mov ecx, dword [0xbbdecc]
mov edx, dword [esp + 0x3c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0062b9a0
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ecx
call fcn.00623220
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0x78]
test ecx, ecx
seta dl
mov ebx, dword [eax + 0x7c]
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg esi, ebx
setg bl
xchg esi, ebx
and ebp, edx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x622600
mov edx, dword [esp + 0xe4]
mov ebp, dword [edx]
test ebp, ebp
jne 0x622607
mov ebp, dword [edx + 0x78]
test ebp, ebp
je 0x622571
mov dword [esp], ebp
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
call fcn.004a5410
mov eax, dword [esp + 0xe4]
jmp 0x622607
lea eax, [0x65b8a0]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
lea ecx, [0x633220]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x6225a1
mov ecx, dword [esp + 0xe4]
mov dword [eax + 4], ecx
jmp 0x6225b4
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe4]
call fcn.00462ce0
mov eax, ecx
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x7c]
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 8], eax
call fcn.004a5510
mov eax, dword [0xbe5550]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x6225eb
mov eax, dword [esp + 0xe4]
mov dword [eax + 0x78], ecx
jmp 0x622607
mov edx, dword [esp + 0xe4]
lea edi, [edx + 0x78]
mov eax, ecx
call fcn.00462ce0
mov eax, edx
jmp 0x622607
mov edx, dword [esp + 0xe4]
call fcn.004a7a40
lea edi, [esp + 0x54]
lea esi, [esp]
call fcn.0046346e
mov eax, dword [esp + 0xe4]
lea edi, [eax + 0x64]
mov eax, dword [0xbe5550]
test eax, eax
jne 0x622637
lea esi, [esp + 0x54]
call fcn.0046346e
jmp 0x622651
lea eax, [0x6849c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x54]
mov dword [esp + 8], eax
call fcn.00410e80
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xd8]
mov eax, dword [edx]
call eax
add esp, 0xdc
ret
mov dword [esp], ebp
mov dword [esp + 4], esi
lea eax, [0x653ac0]
mov dword [esp + 8], eax
call fcn.00408e60
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
mov eax, edx
mov edx, dword [esp + 0x70]
mov ecx, ebp
mov ebp, dword [esp + 0x74]
mov esi, ebx
sub ebx, ebp
mov edi, edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], edx
add ebx, edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x78]
test ebx, ebx
jle 0x622787
mov dword [esp + 0x24], ebx
cmp esi, ebp
jg 0x622715
mov ebp, dword [esp + 0x34]
test ebp, ebp
jne 0x6226ea
xor ecx, ecx
jmp 0x622751
mov dword [esp + 0x6c], ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x70], ebp
mov dword [esp + 0x68], edx
mov dword [esp + 0x74], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], edi
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x74]
cmp ecx, ebp
jbe 0x622883
mov ecx, dword [edx + ebp*4]
lea edi, [edx + ebp*4]
mov esi, dword [0xbe5550]
test esi, esi
jne 0x622742
mov dword [edx + ebp*4], 0
jmp 0x62274d
mov edx, eax
xor eax, eax
call fcn.00462ce0
mov eax, edx
inc dword [esp + 0x74]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.00623990
movzx eax, byte [esp + 0x10]
test al, al
je 0x622694
mov eax, dword [esp + 0x24]
test eax, eax
mov eax, dword [esp + 0xe4]
setg cl
mov byte [esp + 0x22], cl
mov edx, dword [esp + 0x6c]
sub edx, dword [esp + 0x74]
add edx, dword [esp + 0x7c]
test edx, edx
jne 0x6227da
lea edi, [esp + 0xbc]
lea esi, [esp + 0x84]
call fcn.0046345a
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0x10]
lea edx, [0x655960]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0xbc]
mov dword [esp + 8], ecx
call fcn.0040d120
jmp 0x622849
lea edi, [esp + 0xbc]
lea esi, [esp + 0x84]
call fcn.0046345a
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0x10]
lea edx, [0x655960]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0xbc]
mov dword [esp + 8], ecx
call fcn.0040cc30
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0xbe5550]
test eax, eax
jne 0x62282f
lea esi, [esp + 0x68]
call fcn.0046345a
jmp 0x622849
lea eax, [0x669d40]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x68]
mov dword [esp + 8], eax
call fcn.00410e80
movzx eax, byte [esp + 0x22]
test al, al
je 0x622147
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xd8]
mov eax, dword [edx]
call eax
add esp, 0xdc
ret
mov eax, ebp
call fcn.00462d60
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.00623990
mov eax, dword [esp + 0xe4]
mov edx, eax
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
mov eax, edx
mov edx, dword [esp + 0x70]
mov ecx, ebp
mov ebp, dword [esp + 0x74]
mov esi, ebx
sub ebx, ebp
mov edi, edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], edx
add ebx, edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x78]
test ebx, ebx
jle 0x62295e
cmp ebp, esi
jl 0x622921
mov ebx, dword [esp + 0x34]
test ebx, ebx
jne 0x6228f6
xor ecx, ecx
jmp 0x62288a
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x68], edx
mov dword [esp + 0x74], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], edi
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x74]
cmp ecx, ebx
jbe 0x622965
mov ecx, dword [edx + ebx*4]
lea edi, [edx + ebx*4]
mov ebp, dword [0xbe5550]
test ebp, ebp
jne 0x62294a
mov dword [edx + ebx*4], 0
jmp 0x622955
mov edx, eax
xor eax, eax
call fcn.00462ce0
mov eax, edx
inc dword [esp + 0x74]
jmp 0x62288a
xor ecx, ecx
jmp 0x62278a
mov eax, ebx
call fcn.00462d60
nop
call fcn.004364e0
add esp, 0xdc
ret
call fcn.004618d0
jmp fcn.00621f20