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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x178
mov eax, dword [0x10444724]
xor eax, esp
mov dword [esp + 0x174], eax
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov ecx, esi
mov dword [esp + 0x30], edi
call fcn.100c9d60
push eax
push 0
push dword [esi + 8]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x10], 0
lea eax, [esp + 0x10]
mov ecx, edi
push eax
push esi
call fcn.10271990
movsx eax, word [esi + 4]
lea ecx, [esp + 0x70]
movups xmm0, xmmword [edi + 0x64]
sub esp, 8
movd xmm2, eax
movsx eax, word [esi + 6]
cvtdq2ps xmm2, xmm2
movd xmm1, eax
xorps xmm2, xmmword [0x10386880]
movups xmmword [esp + 0x78], xmm0
movups xmm0, xmmword [edi + 0x74]
cvtdq2ps xmm1, xmm1
movups xmmword [esp + 0x88], xmm0
movq xmm0, qword [edi + 0x84]
xorps xmm1, xmmword [0x10386880]
movss dword [esp + 4], xmm2
movq qword [esp + 0x98], xmm0
movss dword [esp], xmm1
call fcn.1003e9b0
test byte [edi + 0x36], 0x10
je 0x1026fd2f
mov ecx, dword [esi + 0x1c]
sub esp, 8
mov eax, ecx
and ecx, 3
shr eax, 0x12
and eax, 3
shl ecx, 0xe
shl eax, 0xe
movd xmm0, ecx
lea ecx, [esp + 0x78]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
mulss xmm2, dword [0x1038b7ac]
mulss xmm0, dword [0x1038b7ac]
movss dword [esp + 4], xmm2
movss dword [esp], xmm0
call fcn.1003e9b0
movzx eax, word [esi]
movzx ecx, word [esi + 2]
mov dword [esp + 0x68], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0x148]
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
movaps xmm0, xmmword [esp + 0x60]
push eax
movaps xmmword [esp + 0x64], xmm0
call fcn.100c15b0
lea ecx, [esp + 0x34]
call fcn.100d8960
push 3
mov ecx, esi
call fcn.100ca220
movzx edx, word [esi + 2]
mov ecx, dword [esi + 8]
mov dword [esp + 0xc], edx
movzx edx, word [esi]
or esi, 0xffffffff
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x14], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0
test ecx, ecx
je 0x1026fdc5
mov eax, esi
lock xadd dword [ecx], eax
cmp eax, 1
jne 0x1026fdc5
push 0x90
push ecx
call fcn.1037dfe9
mov edx, dword [esp + 0x1c]
add esp, 8
movss xmm0, dword [esp + 0x70]
lea ecx, [esp + 0x118]
movss dword [esp + 0xac], xmm0
movss xmm0, dword [esp + 0x74]
movss dword [esp + 0xbc], xmm0
movss xmm0, dword [esp + 0x78]
mov eax, dword [esp + 0xc]
movss dword [esp + 0xdc], xmm0
movss xmm0, dword [esp + 0x7c]
movss dword [esp + 0xb0], xmm0
movss xmm0, dword [esp + 0x80]
movss dword [esp + 0xc0], xmm0
movss xmm0, dword [esp + 0x84]
movss dword [esp + 0xe0], xmm0
movss xmm0, dword [esp + 0x88]
movss dword [esp + 0xb8], xmm0
movss xmm0, dword [esp + 0x8c]
movss dword [esp + 0xc8], xmm0
movss xmm0, dword [esp + 0x90]
movss dword [esp + 0xe8], xmm0
movups xmm0, xmmword [esp + 0x70]
mov dword [esp + 0x50], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x148]
movups xmmword [esp + 0xec], xmm0
mov dword [esp + 0x44], 6
movups xmm0, xmmword [esp + 0x80]
mov dword [esp + 0x48], 2
mov dword [esp + 0x4c], edx
movups xmmword [esp + 0xfc], xmm0
mov dword [esp + 0xcc], 0
movq xmm0, qword [esp + 0x90]
mov dword [esp + 0xd0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xd4], 0x3f800000
mov dword [esp + 0xe4], 0
mov dword [esp + 0xd8], 0
movq qword [esp + 0x10c], xmm0
mov dword [esp + 0xa8], 0x10388838
mov dword [esp + 0x58], eax
call fcn.100556a0
mov eax, dword [esp + 0x144]
lea edx, [esp + 0x24]
xor ecx, ecx
mov dword [esp + 0x24], 0
cmp dword [edi + 0xb0], 1
push edx
setne cl
and eax, 0xfffffffe
or ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x148], ecx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
test eax, eax
js 0x10270208
nop
cmp dword [esp + 0x24], 0
je 0x10270205
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x14]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
test eax, eax
js 0x10270205
mov esi, dword [esp + 0x14]
mov eax, 0xffff
cmp word [esi + 0x3c], ax
je 0x102700ea
movss xmm0, dword [esi + 0x34]
sub esp, 8
mulss xmm0, dword [0x10386838]
addss xmm0, dword [0x10386830]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x30], xmm0
fld qword [esp + 0x30]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
fstp qword [esp + 0x30]
movsd xmm0, qword [esp + 0x30]
cvtpd2ps xmm0, xmm0
minss xmm0, dword [0x1038683c]
maxss xmm0, dword [0x10386844]
cvttss2si eax, xmm0
movss xmm0, dword [esi + 0x30]
mulss xmm0, dword [0x10386838]
mov dword [esp + 0x30], eax
addss xmm0, dword [0x10386830]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
fld qword [esp + 0x20]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
fstp qword [esp + 0x20]
movsd xmm0, qword [esp + 0x20]
cvtpd2ps xmm0, xmm0
minss xmm0, dword [0x1038683c]
maxss xmm0, dword [0x10386844]
cvttss2si edi, xmm0
movss xmm0, dword [esi + 0x2c]
mulss xmm0, dword [0x10386838]
addss xmm0, dword [0x10386830]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
fld qword [esp + 0x20]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
mov eax, dword [esp + 0x1c]
fstp qword [esp + 0x20]
movsd xmm0, qword [esp + 0x20]
cvtpd2ps xmm0, xmm0
minss xmm0, dword [0x1038683c]
maxss xmm0, dword [0x10386844]
cvttss2si esi, xmm0
movss xmm0, dword [eax + 0x38]
mulss xmm0, dword [0x10386838]
addss xmm0, dword [0x10386830]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
fld qword [esp + 0x20]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
fstp qword [esp + 0x20]
movsd xmm0, qword [esp + 0x20]
add esp, 8
cvtpd2ps xmm0, xmm0
minss xmm0, dword [0x1038683c]
maxss xmm0, dword [0x10386844]
cvttss2si eax, xmm0
shl eax, 8
or eax, esi
shl eax, 8
or eax, edi
mov edi, dword [esp + 0x30]
shl eax, 8
or eax, dword [esp + 0x28]
jmp 0x102700ed
mov eax, dword [edi + 0x2c]
push eax
lea ecx, [esp + 0x11c]
call fcn.10056780
lea ecx, [esp + 0x60]
call fcn.10046670
lea eax, [esp + 0xc]
mov dword [esp + 0xc], 0
push eax
lea eax, [esp + 0x64]
push eax
call fcn.102a3b20
add esp, 8
test eax, eax
js 0x102701e6
mov eax, dword [0x1044ad38]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1044a0cc]
cmp eax, dword [ecx + 0xc]
jg 0x1027026e
mov ecx, 0x1044a0b0
call fcn.102a3540
mov ecx, dword [esp + 0x14]
push dword [esp + 0xc]
mov eax, dword [ecx + 0x1c]
mov edx, dword [ecx]
and eax, 1
movss xmm0, dword [ecx + 4]
push eax
push dword [ecx + 0x18]
mov esi, dword [edx]
push dword [ecx + 8]
push dword [ecx + 0x14]
push dword [ecx + 0x10]
push dword [ecx + 0xc]
push ecx
movss dword [esp], xmm0
push edx
call dword [esi + 0x38]
mov ecx, 0x1044a0b0
mov esi, eax
call fcn.102a35e0
test esi, esi
js 0x102701e6
push 0
push 0
push 1
push 0
lea eax, [esp + 0x128]
push eax
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x4c]
call fcn.100daf20
mov eax, dword [esp + 0xc]
test eax, eax
je 0x102701bc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x60]
mov dword [esp + 0xc], 0
call fcn.10046740
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x24]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
test eax, eax
jns 0x1026ff60
jmp 0x10270205
mov eax, dword [esp + 0xc]
test eax, eax
je 0x102701f4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x60]
mov dword [esp + 0xc], 0
call fcn.10046740
or esi, 0xffffffff
lea ecx, [esp + 0x118]
call fcn.10055700
mov eax, dword [esp + 0x40]
mov dword [esp + 0xa8], 0x10388830
test eax, eax
je 0x1027023e
lock xadd dword [eax], esi
cmp esi, 1
jne 0x1027023e
push 0x90
push eax
call fcn.1037dfe9
add esp, 8
lea ecx, [esp + 0x148]
call fcn.100c16a0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10270258
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [esp + 0x17c]
pop edi
pop esi
xor ecx, esp
call fcn.1037e005
mov esp, ebp
pop ebp
ret 4
push 0x1044a0cc
call fcn.1037e834
add esp, 4
cmp dword [0x1044a0cc], 0xffffffff
jne 0x10270145
mov ecx, 0x1044a0b0
call fcn.102a34f0
push 0x10385660
call fcn.1037ec59
push 0x1044a0cc
call fcn.1037e7ea
add esp, 8
jmp 0x10270145