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

Disassembly:
sub esp, 0xec
mov eax, dword [0xa0b130]
xor eax, esp
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0xf0]
push ebx
push esi
mov esi, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x100]
lea ecx, [esi + 0x74]
mov dword [esp + 0x10], 0
mov dword [esp + 0x5c], eax
mov eax, dword [ecx + 4]
push edi
mov edi, dword [esp + 0x100]
mov dword [esp + 0x20], esi
mov dword [esp + 0x48], edi
cmp eax, dword [ecx + 8]
je 0x65a712
xorps xmm0, xmm0
movups xmmword [eax], xmm0
movq qword [eax + 0x10], xmm0
add dword [ecx + 4], 0x18
jmp 0x65a718
push eax
call fcn.004117a7
mov ebx, dword [esi + 0x78]
lea eax, [esp + 0x5c]
sub ebx, 0x18
mov dword [esp + 0x28], eax
xorps xmm0, xmm0
mov dword [esp + 0x64], ebx
push 0
lea eax, [esp + 0xb8]
mov dword [esp + 0x30], ebx
movups xmmword [ebx], xmm0
lea ecx, [esp + 0x8c]
mov dword [esp + 0x34], esi
movq qword [ebx + 0x10], xmm0
mov dword [esp + 0xac], eax
lea eax, [esp + 0xac]
push 0
push 0
mov dword [esp + 0x68], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0x40
mov byte [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 1
mov dword [esp + 0xa0], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0x9251c4
mov dword [esp + 0xb0], eax
call fcn.0040826f
push dword [esp + 0x108]
lea eax, [esp + 0x8c]
mov ecx, edi
push eax
call fcn.004066ea
lea ecx, [esp + 0x88]
call fcn.00413223
push dword [esp + 0xac]
lea eax, [esi + 8]
push dword [esp + 0xac]
lea ecx, [esp + 0x14]
mov dword [esp + 0x2c], eax
push ecx
mov ecx, eax
call fcn.004037ec
mov esi, dword [esi + 4]
mov edi, dword [eax + 4]
mov ecx, dword [eax]
lea eax, [esp + 0x14]
push edi
push ecx
push eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edi
call fcn.0040f8a3
movq xmm0, qword [esp + 0x44]
mov ecx, dword [eax]
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.00415bdb
mov ecx, dword [esp + 0x48]
mov dword [ebx], eax
mov dword [ebx + 4], edi
push dword [esp + 0x108]
call fcn.004137cd
mov edx, eax
mov dword [esp + 0x14], eax
and edx, 1
je 0x65a872
or dword [ebx + 0x14], 8
test al, 4
je 0x65a87a
or dword [ebx + 0x14], 0x10
mov ecx, eax
and ecx, 0x10
mov dword [esp + 0xc], ecx
je 0x65a889
or dword [ebx + 0x14], 0x20
test al, 0x20
je 0x65a891
or dword [ebx + 0x14], 0x40
test al, 2
je 0x65a89c
or dword [ebx + 0x14], 0x400
test al, al
jns 0x65a8a7
or dword [ebx + 0x14], 0x800
test eax, 0x800
je 0x65a8b5
or dword [ebx + 0x14], 0x2000
mov dword [ebx + 0x10], 0xffffffff
mov ecx, dword [esp + 0x108]
mov eax, ecx
sar eax, 1
not al
test al, 1
je 0x65adfe
and ecx, 0xfffffffc
mov dword [esp + 0x34], ecx
je 0x65adfe
lea eax, [esp + 0x4c]
push eax
call fcn.00411d83
mov esi, dword [esp + 0x20]
mov edi, dword [eax + 4]
mov ecx, dword [eax]
lea eax, [esp + 0x54]
mov esi, dword [esi + 4]
push edi
push ecx
push eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edi
call fcn.0040f8a3
movq xmm0, qword [esp + 0x44]
mov ecx, dword [eax]
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.00415bdb
mov dword [ebx + 8], eax
xor al, al
mov dword [esp + 0x4c], eax
mov eax, 0xa0bb40
mov dword [ebx + 0xc], edi
mov ebx, 1
mov edi, dword [esp + 0x34]
mov dword [esp + 0x54], eax
mov eax, dword [eax]
mov dword [esp + 0x34], eax
test eax, eax
je 0x65a95c
mov esi, eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x65a951
sub esi, ecx
jmp 0x65a95e
xor esi, esi
lea eax, [esp + 0x38]
mov ecx, edi
push eax
call fcn.00411d83
cmp dword [eax + 4], esi
jne 0x65a98e
push esi
push dword [esp + 0x38]
push dword [eax]
call fcn.004031ed
mov ecx, dword [esp + 0x58]
add esp, 0xc
test eax, eax
movzx ecx, cl
cmove ecx, ebx
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x54]
add eax, 4
mov dword [esp + 0x54], eax
cmp eax, 0xa0c2f4
jne 0x65a942
mov esi, dword [esp + 0x60]
mov ecx, dword [esi]
cmp dword [esi + 4], ecx
jne 0x65a9ca
mov edx, dword [esi + 0xc]
shl edx, 2
lea eax, [edx + ecx]
cmp ecx, eax
je 0x65a9c3
cmp dword [ecx], edi
je 0x65a9d8
add ecx, 4
cmp ecx, eax
jne 0x65a9b8
mov ecx, dword [esi + 4]
add ecx, edx
jmp 0x65a9d8
push edi
mov ecx, esi
call fcn.004085e4
mov ecx, eax
cmp dword [ecx], edi
jne 0x65a9e4
mov eax, dword [esi + 4]
cmp eax, dword [esi]
jne 0x65aa02
mov edx, dword [esi + 0xc]
jmp 0x65aa05
mov ecx, dword [esi + 4]
cmp ecx, dword [esi]
jne 0x65a9f9
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0xc]
lea ecx, [ecx + eax*4]
mov eax, dword [esi + 4]
jmp 0x65aa05
mov eax, dword [esi + 8]
lea ecx, [ecx + eax*4]
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
mov ebx, dword [esp + 0x64]
lea eax, [eax + edx*4]
cmp ecx, eax
jne 0x65aa17
cmp byte [esp + 0x4c], 0
je 0x65aa1e
or dword [ebx + 0x14], 0x80
mov eax, dword [edi + 0x14]
test eax, 0x1c00
je 0x65aa32
or dword [ebx + 0x14], 0x100
mov eax, dword [edi + 0x14]
and al, 0xc0
cmp al, 0x80
jne 0x65aa3f
or dword [ebx + 0x14], 0x1000
mov ecx, edi
call fcn.00412f8a
test al, al
je 0x65aa51
or dword [ebx + 0x14], 0x200
mov eax, dword [edi + 0x14]
shr eax, 4
and eax, 3
or dword [ebx + 0x14], eax
cmp dword [esp + 0xc], 0
je 0x65ab10
xor ecx, ecx
mov eax, edi
cmp byte [edi + 8], 3
cmovne eax, ecx
mov dword [esp + 0xc], eax
test eax, eax
jne 0x65aa9d
lea eax, [esp + 0x38]
push eax
call fcn.0040c414
mov esi, dword [esp + 0x20]
push eax
push str.Only_variables_can_have_common_linkage_
push esi
call fcn.0041079e
add esp, 0x10
jmp 0x65ae5d
mov eax, dword [edi]
mov ecx, dword [edi + 0x1c]
push dword [eax + 0x10]
lea eax, [esp + 0x3c]
push eax
call fcn.00408fc6
mov ecx, eax
call fcn.0040631b
mov ecx, eax
call fcn.004082bf
lea ecx, [esp + 0x28]
mov esi, eax
call fcn.00659d50
mov dword [eax], esi
mov eax, dword [esp + 0xc]
movzx eax, word [eax + 0x16]
and eax, 0x1f
jne 0x65aae6
xorps xmm0, xmm0
movlpd qword [esp + 0xc], xmm0
mov esi, dword [esp + 0xc]
jmp 0x65ab04
dec al
xor esi, esi
movzx ecx, al
xor eax, eax
bts esi, ecx
cmp ecx, 0x20
cmovae eax, esi
xor esi, eax
cmp ecx, 0x40
cmovae eax, esi
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x28]
call fcn.00659d50
mov dword [eax + 4], esi
mov ecx, edi
call fcn.0040c851
mov esi, eax
test esi, esi
jne 0x65ab3f
lea eax, [esp + 0x38]
push eax
call fcn.0040c414
mov esi, dword [esp + 0x20]
push eax
push str.Unable_to_determine_comdat_of_alias_
push esi
call fcn.0040ee71
add esp, 0x10
jmp 0x65ae5d
mov eax, dword [esi + 0x20]
test eax, eax
je 0x65abbf
push dword [edi + 0x1c]
mov ecx, dword [esp + 0x24]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.0065b7f0
mov cl, byte [esp + 0x10]
mov al, cl
not al
test al, 1
jne 0x65aba7
mov esi, dword [esp + 0x1c]
test cl, 1
je 0x65ab7b
mov eax, dword [esp + 0xc]
xor edx, edx
mov dword [esp + 0xc], edx
mov dword [esi], eax
jmp 0x65ab85
mov edx, dword [esp + 0xc]
mov dword [esi], 0
xor ecx, ecx
test byte [esp + 0x10], 1
je 0x65ae5d
test edx, edx
je 0x65ae5d
mov eax, dword [edx]
mov ecx, edx
push 1
call dword [eax]
jmp 0x65ae5d
mov edx, dword [esp + 0xc]
mov dword [ebx + 0x10], edx
test cl, 1
je 0x65abbf
test edx, edx
je 0x65abbf
mov eax, dword [edx]
mov ecx, edx
push 1
call dword [eax]
mov ebx, dword [esp + 0x20]
cmp dword [ebx + 0x58], 1
jne 0x65ad24
lea eax, [ebx + 0x1c]
push eax
lea eax, [ebx + 0x2c]
push eax
lea eax, [ebx + 0xa4]
push edi
push eax
call fcn.00405669
mov eax, dword [esp + 0x24]
add esp, 0x10
and eax, 0x24
cmp al, 0x24
jne 0x65ad24
mov ecx, dword [edi - 0x10]
call fcn.0040775c
mov edi, eax
mov cl, byte [edi + 8]
test cl, cl
je 0x65ac36
cmp cl, 3
je 0x65ac36
cmp cl, 1
je 0x65ac36
cmp cl, 2
je 0x65ac36
lea eax, [esp + 0x38]
push eax
call fcn.0040c414
mov esi, dword [esp + 0x20]
push eax
push str.Invalid_weak_external
push esi
call fcn.00412508
add esp, 0x10
jmp 0x65ae5d
lea eax, [esp + 0x88]
mov dword [esp + 0x88], 0
push eax
lea ecx, [esp + 0x6c]
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0xf
call fcn.0041366a
push ecx
mov ecx, dword [esp + 0x4c]
mov eax, esp
and edi, 0xfffffffd
mov dword [eax], edi
lea eax, [esp + 0x6c]
push eax
call fcn.004066ea
mov eax, dword [esp + 0x74]
cmp eax, dword [esp + 0x6c]
je 0x65ac91
lea ecx, [esp + 0x68]
call fcn.004067b2
cmp dword [esp + 0x9c], 0x10
lea eax, [esp + 0x88]
push dword [esp + 0x98]
cmovae eax, dword [esp + 0x8c]
lea edi, [ebx + 8]
push eax
lea eax, [esp + 0x1c]
mov ecx, edi
push eax
call fcn.004037ec
push dword [esp + 0x18]
lea ecx, [esp + 0x2c]
push dword [esp + 0x18]
call fcn.00659d50
add eax, 8
mov ecx, ebx
push eax
call fcn.0065c500
lea ecx, [esp + 0x68]
call fcn.0040934a
mov edx, dword [esp + 0x9c]
cmp edx, 0x10
jb 0x65ad28
mov ecx, dword [esp + 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x65ad18
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x65ad18
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.004036ca
add esp, 8
jmp 0x65ad28
mov edi, dword [esp + 0x24]
mov eax, dword [esi + 0x14]
shr eax, 0x16
test al, 1
je 0x65ad42
lea eax, [esp + 0x38]
mov ecx, esi
push eax
call fcn.00409f84
mov ecx, eax
jmp 0x65ad56
mov dword [esp + 0x14], 0
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], 0
cmp dword [ecx + 4], 0
mov eax, dword [ecx]
mov dword [esp + 0xc], eax
je 0x65ae53
mov eax, dword [esi + 0x14]
shr eax, 0x16
test al, 1
je 0x65ad7e
lea eax, [esp + 0x38]
mov ecx, esi
push eax
call fcn.00409f84
jmp 0x65ad92
mov dword [esp + 0x14], 0
lea eax, [esp + 0x14]
mov dword [esp + 0x18], 0
push dword [eax + 4]
mov ecx, edi
push dword [eax]
lea eax, [esp + 0x14]
push eax
call fcn.004037ec
lea ecx, [esp + 0x28]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], edi
call fcn.00659d50
mov ebx, eax
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 4]
mov eax, dword [esp + 0x24]
push eax
mov dword [esp + 0x30], eax
lea eax, [esp + 0x18]
push edi
push eax
call fcn.0040f8a3
movq xmm0, qword [esp + 0x34]
mov ecx, esi
mov edx, dword [eax]
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], edx
call fcn.00415bdb
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x14], eax
jmp 0x65ae53
test edx, edx
je 0x65ae09
or dword [ebx + 0x14], 0x80
mov eax, dword [esp + 0x20]
push 0
push 0x9236bc
mov dword [esp + 0x30], 0x9236bc
mov esi, dword [eax + 4]
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x38], 0
call fcn.0040f8a3
movq xmm0, qword [esp + 0x34]
mov ecx, esi
mov edx, dword [eax]
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], edx
call fcn.00415bdb
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], 0
mov esi, dword [esp + 0x1c]
mov dword [esi], 0
mov eax, dword [esp + 0xa8]
lea ecx, [esp + 0xb4]
cmp eax, ecx
je 0x65ae79
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov ecx, dword [esp + 0xf4]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004087b5
add esp, 0xec
ret 0x10