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

Disassembly:
sub esp, 0xac
mov eax, dword [0x1036a00c]
xor eax, esp
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xb0]
push ebx
mov ebx, dword [esp + 0xbc]
push ebp
mov ebp, dword [esp + 0xc4]
push esi
push edi
mov edi, dword [esp + 0xc4]
mov esi, ecx
mov dword [esp + 0x50], eax
call fcn.10194c70
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0x36]
mov dword [esp + 0x30], 0xffffffff
mov al, 2
mov word [esp + 0x34], 0
xchg byte [ecx], al
mov eax, dword [esi]
lea ecx, [esp + 0x2c]
push ecx
push dword [esp + 0x54]
mov ecx, esi
mov byte [esp + 0x3f], 0
call dword [eax + 0x10]
test byte [esi + 0x36], 0x10
je 0x101a26b4
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x1c]
mov edx, ecx
shr ecx, 0x18
and ecx, 3
shr edx, 0xc
shl ecx, 0xe
and edx, 0xfc000
mov eax, ecx
or eax, edx
je 0x101a26b4
movd xmm2, edx
xorps xmm0, xmm0
cvtdq2ps xmm2, xmm2
movd xmm1, ecx
mulss xmm2, dword [0x10300008]
cvtdq2ps xmm1, xmm1
ucomiss xmm2, xmm0
mulss xmm1, dword [0x10300008]
lahf
test ah, 0x44
jp 0x101a264c
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x101a264c
lea ecx, [esp + 0x64]
call fcn.10165f20
jmp 0x101a26a1
movss dword [esp + 0x6c], xmm2
movss dword [esp + 0x78], xmm1
mov dword [esp + 0x84], 0x3f800000
mov dword [esp + 0x74], 0x3f800000
mov dword [esp + 0x64], 0x3f800000
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x88], 0x11
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x34]
call fcn.101573f0
movss xmm0, dword [esi + 0x24]
xorps xmm1, xmm1
comiss xmm0, xmm1
ja 0x101a2709
cmp dword [esi + 0x3c], 0
jne 0x101a2709
test ebp, ebp
je 0x101a26d2
mov ecx, ebp
call fcn.10165f20
test ebx, ebx
je 0x101a26f0
lea eax, [esp + 0x2c]
mov ecx, ebx
push eax
test edi, edi
jne 0x101a26eb
call fcn.10154410
jmp 0x101a29e0
call fcn.10154370
test edi, edi
je 0x101a29e0
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
call fcn.10154410
jmp 0x101a29e0
call fcn.10194c70
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x2a]
mov dword [esp + 0x24], 0xffffffff
mov al, 2
mov word [esp + 0x28], 0
xchg byte [ecx], al
movss xmm0, dword [esi + 0x14]
lea ecx, [esp + 0x64]
movss dword [esp + 0x64], xmm0
movss xmm0, dword [esi + 0x18]
movss dword [esp + 0x68], xmm0
movss xmm0, dword [esi + 0x1c]
movss dword [esp + 0x70], xmm0
movss xmm0, dword [esi + 0x20]
movss dword [esp + 0x74], xmm0
movaps xmm0, xmmword [0x10300880]
mov byte [esp + 0x2b], 0
mov dword [esp + 0x6c], 0
movups xmmword [esp + 0x78], xmm0
mov dword [esp + 0x88], 0x80
call fcn.10165fb0
movzx eax, al
mov dword [esp + 0x88], eax
test al, 0xf
jne 0x101a2a59
lea ecx, [esp + 0x8c]
call fcn.10165f20
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x34]
call fcn.101573f0
movss xmm2, dword [esi + 0x24]
xor cl, cl
movss xmm1, dword [0x10300478]
xorps xmm0, xmm0
comiss xmm2, xmm0
mov dword [esp + 0x38], 0x3f800000
mov dword [esp + 0x40], 0x40800000
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov byte [esp + 0x4c], cl
movss dword [esp + 0x3c], xmm1
jbe 0x101a2829
mov al, byte [esi + 0x36]
and al, 1
je 0x101a2807
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x101a2816
movaps xmm1, xmm2
mov cl, al
movss dword [esp + 0x3c], xmm1
mov byte [esp + 0x4c], cl
movzx eax, byte [esi + 0x35]
movss xmm0, dword [esi + 0x28]
mov dword [esp + 0x48], eax
movss dword [esp + 0x40], xmm0
cmp dword [esi + 0x3c], 0
je 0x101a28a7
call fcn.10194c70
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x1e]
mov dword [esp + 0x18], 0xffffffff
mov al, 2
mov word [esp + 0x1c], 0
xchg byte [ecx], al
mov ecx, dword [esi + 0x3c]
lea edx, [esp + 0x38]
push 0
push edx
mov byte [esp + 0x27], 0
lea edx, [esp + 0x28]
mov eax, dword [ecx]
push edx
lea edx, [esp + 0x20]
push edx
mov eax, dword [eax + 0x10]
call eax
test al, al
je 0x101a2881
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x24]
call fcn.10154410
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x101a289d
lea eax, [ecx + 4]
or edx, 0xffffffff
lock xadd dword [eax], edx
cmp edx, 1
jne 0x101a289d
mov eax, dword [ecx]
call dword [eax + 4]
movss xmm1, dword [esp + 0x3c]
mov cl, byte [esp + 0x4c]
xorps xmm0, xmm0
comiss xmm0, xmm1
ja 0x101a297d
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x101a297d
xor eax, eax
test cl, cl
setne al
add eax, 2
test cl, cl
je 0x101a28d7
cmp eax, 3
jne 0x101a297d
call fcn.10194c70
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x1e]
mov dword [esp + 0x18], 0xffffffff
mov al, 2
mov word [esp + 0x1c], 0
xchg byte [ecx], al
movss xmm2, dword [esp + 0x3c]
xorps xmm1, xmm1
comiss xmm1, xmm2
mov byte [esp + 0x1f], 0
jae 0x101a2961
mov al, byte [esp + 0x44]
lea ecx, [esp + 0x54]
movss xmm0, dword [esp + 0x40]
mov byte [esp + 0x60], al
mov al, byte [esp + 0x48]
mov byte [esp + 0x61], al
mov al, byte [esp + 0x4c]
mov byte [esp + 0x62], al
lea eax, [esp + 0x14]
push eax
movss dword [esp + 0x5c], xmm0
lea eax, [esp + 0x24]
movss xmm0, dword [esp + 0x3c]
push eax
movss dword [esp + 0x5c], xmm2
movss dword [esp + 0x64], xmm0
call fcn.101c7600
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x24]
call fcn.10154410
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x101a297d
lea eax, [ecx + 4]
or edx, 0xffffffff
lock xadd dword [eax], edx
cmp edx, 1
jne 0x101a297d
mov eax, dword [ecx]
call dword [eax + 4]
test ebp, ebp
je 0x101a29a1
movups xmm0, xmmword [esp + 0x64]
movups xmmword [ebp], xmm0
movups xmm0, xmmword [esp + 0x74]
movups xmmword [ebp + 0x10], xmm0
movq xmm0, qword [esp + 0x84]
movq qword [ebp + 0x20], xmm0
test ebx, ebx
je 0x101a29b4
push ebx
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x28]
call fcn.101573f0
test edi, edi
je 0x101a29c4
lea eax, [esp + 0x20]
mov ecx, edi
push eax
call fcn.10154410
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x101a29e0
lea eax, [ecx + 4]
or edx, 0xffffffff
lock xadd dword [eax], edx
cmp edx, 1
jne 0x101a29e0
mov eax, dword [ecx]
call dword [eax + 4]
test ebx, ebx
je 0x101a2a01
mov esi, dword [ebx]
cmp byte [esi + 0x18], 0
je 0x101a2a01
push dword [esi + 0x28]
lea ecx, [esi + 8]
push dword [esi + 0x1c]
call fcn.10187890
mov byte [esi + 0x19], al
mov byte [esi + 0x18], 0
test edi, edi
je 0x101a2a22
mov esi, dword [edi]
cmp byte [esi + 0x18], 0
je 0x101a2a22
push dword [esi + 0x28]
lea ecx, [esi + 8]
push dword [esi + 0x1c]
call fcn.10187890
mov byte [esi + 0x19], al
mov byte [esi + 0x18], 0
or ebx, 0xffffffff
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x101a2a3e
lea eax, [ecx + 4]
lock xadd dword [eax], ebx
cmp ebx, 1
jne 0x101a2a3e
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0xb4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.102af9d5
add esp, 0xac
ret 0x10
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x68]
call fcn.10167250
test al, al
jne 0x101a27a0
mov ecx, dword [esp + 0x20]
or ebx, 0xffffffff
test ecx, ecx
je 0x101a2a25
lea eax, [ecx + 4]
mov edx, ebx
lock xadd dword [eax], edx
cmp edx, 1
jne 0x101a2a25
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x101a2a25