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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x60]
cmp eax, dword [ecx + 8]
jbe 0x6230a6
sub esp, 0xe0
mov eax, 0
mov dword [esp + 0xdc], eax
mov byte [esp + 0x37], 0
mov byte [esp + 0xec], 0
mov eax, dword [esp + 0xe4]
movzx ecx, byte [eax + 0x68]
test cl, cl
jne 0x622b6c
mov dword [esp], eax
call fcn.00469ac0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
lea eax, [0x6230f0]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x58], eax
lea ecx, [esp + 0x54]
mov dword [esp + 0xdc], ecx
mov byte [esp + 0x37], 1
mov byte [eax + 8], 0
mov ecx, dword [esp + 0xe8]
test ecx, ecx
je 0x622b4d
lea edi, [esp + 0x70]
mov edx, eax
xor eax, eax
call fcn.00462f8b
mov ecx, dword [edx + 0x78]
test ecx, ecx
seta cl
mov ebx, dword [edx + 0x7c]
test ebx, ebx
setg bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ecx, ebp
or ebx, ecx
test bl, bl
je 0x622b00
call fcn.004a7a40
lea edi, [esp + 0x98]
lea esi, [esp]
call fcn.0046346e
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x78]
mov dword [esp + 0x44], ecx
xor edx, edx
sub edx, ecx
mov ebx, dword [eax + 0x7c]
lea edi, [esp]
lea esi, [esp + 0x98]
call fcn.0046346e
xor ecx, ecx
mov ebp, dword [esp + 0x44]
sub ecx, ebp
mov ecx, 0
sbb ecx, ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
call fcn.004a6e20
lea edi, [esp + 0x70]
lea esi, [esp + 0x1c]
call fcn.0046346e
mov edx, dword [esp + 0xe4]
mov eax, dword [edx + 0xc]
lea ecx, [0x6558e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe8]
lea ebx, [eax + 0x18]
mov dword [esp + 0x50], ebx
mov dword [esp + 8], ebx
call fcn.0040c8b0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
movzx edx, byte [esp + 0x10]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
test dl, dl
je 0x622b7b
mov dword [esp + 0x3c], eax
mov dword [esp + 0x4c], ecx
xor edx, edx
xor ebp, ebp
jmp 0x622d08
mov byte [esp + 0xec], 0
mov byte [esp + 0x37], 0
mov edx, dword [esp + 0xdc]
mov eax, dword [edx]
call eax
add esp, 0xe0
ret
mov byte [esp + 0xec], 0
add esp, 0xe0
ret
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x622bba
call fcn.0040c310
mov eax, dword [0xbe5550]
mov ecx, dword [esp]
test eax, eax
jne 0x622ba7
mov eax, dword [esp + 0xe4]
mov dword [eax + 0x10], ecx
jmp 0x622bba
mov edx, dword [esp + 0xe4]
lea edi, [edx + 0x10]
mov eax, ecx
call fcn.00462ce0
mov eax, edx
mov ecx, dword [eax + 0x10]
lea edx, [0x655960]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
call fcn.0040c6e0
mov esi, dword [esp + 0xc]
lea edi, [esp + 0xc0]
call fcn.0046345a
lea eax, [esp + 0xc0]
mov dword [esp], eax
call fcn.00623bf0
nop
mov eax, dword [esp + 0xd4]
lea ecx, [eax + 1]
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0xd8]
cmp ebx, ecx
jae 0x622c4b
lea ebp, [0x667fc0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.0044ba20
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xd0], edx
lea ecx, [eax + 1]
mov dword [esp + 0xd4], ecx
mov ecx, dword [0xbe5550]
lea edi, [edx + eax*4]
test ecx, ecx
jne 0x622c6e
mov ecx, dword [esp + 0xe8]
mov dword [edx + eax*4], ecx
jmp 0x622c7a
mov eax, dword [esp + 0xe8]
call fcn.00462ce0
mov eax, dword [esp + 0xe4]
mov eax, dword [eax + 0x10]
lea ecx, [0x655960]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
call fcn.0040cc30
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0xbe5550]
test eax, eax
jne 0x622cbc
lea esi, [esp + 0xc0]
call fcn.0046345a
jmp 0x622cd9
lea eax, [0x669d40]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xc0]
mov dword [esp + 8], eax
call fcn.00410e80
mov byte [esp + 0xec], 0
mov byte [esp + 0x37], 0
mov edx, dword [esp + 0xdc]
mov eax, dword [edx]
call eax
add esp, 0xe0
ret
mov ebx, dword [esp + 0x4c]
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
xchg ebp, eax
mov byte [esp + 0x35], al
xchg ebp, eax
mov byte [esp + 0x34], dl
test ebx, ebx
je 0x623046
mov dword [esp + 0x38], ebx
test dl, dl
jne 0x622fef
mov eax, dword [ecx + ebx*4 - 4]
lea edi, [esp + 0x5c]
lea esi, [esp + 0x70]
call fcn.0046346e
mov ecx, dword [esp + 0x5c]
mov esi, edx
mov edx, dword [esp + 0x60]
test edx, 0x80000000
je 0x622d82
shl edx, 1
mov edi, ecx
shr ecx, 0x1f
or edx, ecx
mov dword [esp + 0x44], edx
mov ecx, edi
shl edi, 1
shl edx, 1
shr edi, 0x1f
or edi, edx
mov edx, edi
add edi, 0xd7b17f80
mov ebp, dword [esp + 0x44]
shr ebp, 0x1f
add edx, 0xd7b17f80
adc ebp, 0xd
mov edx, ebp
movzx ebp, byte [esp + 0x35]
jmp 0x622d8a
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x48], eax
test edx, edx
sete dl
test edi, edi
mov edi, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
and edx, ebp
test dl, dl
je 0x622db0
test ecx, 0x3fffffff
jne 0x622db0
xor ecx, ecx
jmp 0x622e2f
test byte [eax], al
lea esi, [eax + 0x64]
lea edi, [esp + 0x84]
call fcn.0046346e
lea edi, [esp]
lea esi, [esp + 0x84]
call fcn.0046346e
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
call fcn.004a8d50
lea edi, [esp + 0xac]
lea esi, [esp + 0x1c]
call fcn.0046346e
lea edi, [esp]
lea esi, [esp + 0xac]
call fcn.0046346e
lea edi, [esp + 0x14]
lea esi, [esp + 0x70]
call fcn.0046346e
call fcn.004a5900
movzx eax, byte [esp + 0x28]
mov ebx, dword [esp + 0x38]
movzx esi, byte [esp + 0x34]
movzx edi, byte [esp + 0x35]
mov ecx, eax
mov eax, dword [esp + 0x48]
mov byte [esp + 0x33], cl
test cl, cl
je 0x622e80
lea eax, [0x65bfc0]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
lea ecx, [0x6230b0]
mov dword [eax], ecx
mov edx, dword [0xbe5550]
test edx, edx
jne 0x622e64
mov edx, dword [esp + 0x48]
mov dword [eax + 4], edx
jmp 0x622e74
lea edi, [eax + 4]
mov edx, eax
mov eax, dword [esp + 0x48]
call fcn.00462ce0
mov eax, edx
mov dword [esp], eax
call fcn.004425e0
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.006280c0
mov eax, dword [esp + 0x38]
lea ecx, [eax - 1]
movzx edx, byte [esp + 4]
test dl, dl
jne 0x622ea1
movzx edx, byte [esp + 0x33]
test dl, dl
je 0x622eb0
movzx edx, byte [esp + 0x34]
movzx eax, byte [esp + 0x35]
jmp 0x622cf8
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.00623990
movzx eax, byte [esp + 0x10]
test al, al
je 0x622fe1
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx]
test edx, edx
je 0x622efb
mov ecx, dword [esp + 0x38]
jmp 0x622fe5
mov byte [esp + 0x36], al
nop
mov eax, dword [esp + 0xe4]
mov edx, dword [eax + 0x18]
lea ebp, [0x655520]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0040e430
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
movzx ecx, byte [esp + 0x10]
test cl, cl
je 0x622fd6
mov ecx, dword [esp + 0xe4]
mov edx, dword [ecx + 0x14]
cmp dword [eax + 8], edx
jne 0x622fb9
mov edi, dword [eax + 4]
test byte [edi], al
nop
mov ebx, dword [0xbe5550]
mov ebp, dword [eax]
test ebx, ebx
jne 0x622f58
mov dword [edi], ebp
jmp 0x622f63
mov ebx, eax
mov eax, ebp
call fcn.00462ce0
mov eax, ebx
mov ebx, dword [eax]
test byte [ebx], al
mov ebp, dword [0xbe5550]
mov esi, dword [eax + 4]
test ebp, ebp
jne 0x622f8d
mov dword [ebx + 4], esi
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
jmp 0x622fb6
lea edi, [ebx + 4]
mov ebx, eax
mov eax, esi
call fcn.00462ce0
mov edi, ebx
xor eax, eax
call fcn.00462ce0
lea ebp, [ebx + 4]
mov edi, ebp
call fcn.00462ce0
lea edi, [ebx + 8]
xor eax, eax
call fcn.00462ce0
dec dword [edx + 0x14]
mov eax, dword [esp + 0x48]
mov edx, dword [ecx + 0x18]
lea ebx, [0x655520]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0040eb80
movzx eax, byte [esp + 0x36]
mov ecx, dword [esp + 0x40]
jmp 0x622fe5
mov ecx, dword [esp + 0x38]
mov edx, 1
jmp 0x622cf8
test ebx, ebx
je 0x623046
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0xc]
lea edx, [0x6558e0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
call fcn.0040cc30
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x38]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [edi + 8], eax
mov eax, dword [0xbe5550]
test eax, eax
jne 0x62303b
mov eax, dword [esp + 0x4c]
mov dword [edi], eax
jmp 0x62306a
mov eax, dword [esp + 0x4c]
call fcn.00462ce0
jmp 0x62306a
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0xc]
lea edx, [0x6558e0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
call fcn.0040d120
movzx eax, byte [esp + 0x34]
test al, al
je 0x622b7b
movzx eax, byte [esp + 0x35]
mov byte [esp + 0xec], al
mov byte [esp + 0x37], 0
mov edx, dword [esp + 0xdc]
mov eax, dword [edx]
call eax
add esp, 0xe0
ret
call fcn.004618d0
jmp fcn.006229d0