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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x65038774
sub esp, 0x6c
mov eax, 0
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov byte [esp + 0x2f], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x80]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 4]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x7c]
mov edx, dword [ecx + 0x14]
mov ebx, dword [esp + 0x80]
mov dword [esp], ebx
call edx
mov eax, dword [esp + 0x34]
test eax, eax
setbe cl
mov edx, eax
sar eax, 0x1f
test eax, eax
sete bl
xchg ebp, ebx
setl bl
xchg ebp, ebx
mov esi, dword [esp + 0x10]
sub esi, dword [esp + 8]
mov dword [esp + 0x30], esi
mov edi, esi
sar esi, 0x1f
mov dword [esp + 0x40], esi
and ecx, ebx
or ecx, ebp
test cl, cl
jne 0x6503827f
test edi, edi
setbe cl
test esi, esi
sete bl
xchg ebp, ebx
setl bl
xchg ebp, ebx
and ecx, ebx
or ecx, ebp
test cl, cl
jne 0x6503827f
cmp eax, 1
setg cl
sete bl
and ebx, 1
or ebx, ecx
test bl, bl
jne 0x6503827f
cmp esi, 1
sete cl
setg bl
and ecx, 1
or ebx, ecx
test bl, bl
je 0x6503833f
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 8], 0xa
call fcn.64ff2e00
mov eax, dword [esp + 0xc]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x40]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x30]
mov dword [esp], edx
mov dword [esp + 8], 0xa
call fcn.64ff2e00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
lea edx, [0x650a3705]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x14
mov edx, dword [esp + 0x5c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x10], edx
lea edx, [0x6509e1dc]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
call fcn.64fc7be0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.64f89320
mov eax, dword [esp + 8]
lea ecx, [0x650d2634]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
add esp, 0x6c
ret
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
test ecx, ecx
jne 0x65038351
xor ecx, ecx
jmp 0x65038363
mov eax, dword [ecx + 0x10]
mov dword [esp], edx
call eax
mov eax, dword [esp + 4]
mov ecx, eax
mov eax, dword [esp + 0x70]
test ecx, ecx
jne 0x6503837d
lea eax, [0x65098ec0]
mov dword [esp], eax
call fcn.64f8ba60
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x70]
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
test edx, edx
je 0x6503839d
test byte [edx], al
lea ebp, [edx + 0x14]
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], ecx
mov byte [esp + 0x2f], 1
test byte [ecx], al
mov ebx, dword [0x6517dcb0]
test ebx, ebx
jne 0x650383ad
mov dword [ecx], eax
jmp 0x650383b4
mov edi, ecx
call fcn.64fda080
mov ebx, dword [esp + 0x74]
mov dword [ecx + 4], ebx
mov ebx, dword [0x6517dcb0]
test ebx, ebx
jne 0x650383ce
mov ebx, dword [esp + 0x78]
mov dword [ecx + 8], ebx
jmp 0x650383dc
lea edi, [ecx + 8]
mov eax, dword [esp + 0x78]
call fcn.64fda080
mov ebx, eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x50], ecx
mov ebp, dword [esp + 0x7c]
mov dword [ecx + 0xc], ebp
mov ebp, dword [0x6517dcb0]
test ebp, ebp
jne 0x65038401
mov eax, dword [esp + 0x80]
mov dword [ecx + 0x10], eax
jmp 0x65038410
lea edi, [ecx + 0x10]
mov eax, dword [esp + 0x80]
call fcn.64fda080
lea ecx, [0x650914a0]
mov dword [esp], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.64f89630
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x6503843a
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x6503846d
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x80]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 8]
lea ecx, [0x650d25e4]
cmp dword [esp + 4], ecx
jne 0x65038467
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x6503846d
xor eax, eax
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
test ecx, ecx
je 0x650384cc
cmp edx, 2
jg 0x65038492
mov ebx, dword [esp + 0x50]
mov dword [ebx + 0x14], 7
jmp 0x65038664
cmp edx, 4
jg 0x650384a7
mov ebx, dword [esp + 0x50]
mov dword [ebx + 0x14], 8
jmp 0x65038664
cmp edx, 0x10
jg 0x650384bc
mov ebx, dword [esp + 0x50]
mov dword [ebx + 0x14], 9
jmp 0x65038664
mov ebx, dword [esp + 0x50]
mov dword [ebx + 0x14], 0xa
jmp 0x65038664
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x80]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
mov ecx, dword [0x651573d4]
mov edx, dword [esp + 8]
mov dword [esp + 0x54], edx
cmp dword [0x651573d0], eax
jne 0x6503852e
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.64f83a70
movzx eax, byte [esp + 0xc]
test al, al
je 0x65038526
mov eax, dword [esp + 0x50]
mov dword [eax + 0x14], 4
jmp 0x65038664
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov ecx, dword [0x651573cc]
cmp dword [0x651573c8], eax
jne 0x6503856d
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.64f83a70
movzx eax, byte [esp + 0xc]
test al, al
je 0x65038565
mov eax, dword [esp + 0x50]
mov dword [eax + 0x14], 0xc
jmp 0x65038664
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov ecx, dword [0x651573fc]
cmp dword [0x651573f8], eax
jne 0x6503859c
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.64f83a70
movzx eax, byte [esp + 0xc]
test al, al
jne 0x650385f2
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov ecx, dword [0x651573e4]
cmp dword [0x651573e0], eax
jne 0x650385cb
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.64f83a70
movzx eax, byte [esp + 0xc]
test al, al
jne 0x650385f2
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov ecx, dword [0x651573bc]
cmp dword [0x651573b8], eax
jne 0x6503862c
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.64f83a70
movzx eax, byte [esp + 0xc]
test al, al
je 0x6503862c
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
call fcn.650356e0
movzx eax, byte [esp + 8]
test al, al
je 0x6503861f
mov eax, dword [esp + 0x50]
mov dword [eax + 0x14], 6
jmp 0x65038664
mov eax, dword [esp + 0x50]
mov dword [eax + 0x14], 0xb
jmp 0x65038664
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
call fcn.650356e0
movzx eax, byte [esp + 8]
test al, al
je 0x65038659
mov eax, dword [esp + 0x50]
mov dword [eax + 0x14], 0xe
jmp 0x65038664
mov eax, dword [esp + 0x50]
mov dword [eax + 0x14], 0xf
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
lea eax, [0x6509ee3b]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 8
call fcn.64feb710
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x50]
mov dword [edx + 0x18], ecx
mov ecx, dword [0x6517dcb0]
test ecx, ecx
jne 0x650386a8
mov dword [edx + 0x1c], eax
jmp 0x650386b0
lea edi, [edx + 0x1c]
call fcn.64fda080
mov dword [esp], edx
call fcn.65035a90
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x650386e0
mov ecx, dword [esp + 0x50]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc], eax
call fcn.65035be0
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.65037f70
nop
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
lea ecx, [0x6509e409]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 4
call fcn.650357f0
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x44]
test eax, eax
setne al
test al, 1
je 0x65038767
and eax, 0xfffffffe
mov byte [esp + 0x2f], al
mov edx, dword [esp + 0x68]
mov eax, dword [edx]
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
mov dword [esp], ecx
mov dword [esp + 4], ebx
call eax
add esp, 0x6c
ret
call fcn.64fd8c20
jmp fcn.65038190