Function at 0x101a24e0
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.10194c00
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 0x101a2624
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 0x101a2624
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 0x101a25bc
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x101a25bc
lea ecx, [esp + 0x64]
call fcn.10165ee0
jmp 0x101a2611
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.101573b0
movss xmm0, dword [esi + 0x24]
xorps xmm1, xmm1
comiss xmm0, xmm1
ja 0x101a2679
cmp dword [esi + 0x3c], 0
jne 0x101a2679
test ebp, ebp
je 0x101a2642
mov ecx, ebp
call fcn.10165ee0
test ebx, ebx
je 0x101a2660
lea eax, [esp + 0x2c]
mov ecx, ebx
push eax
test edi, edi
jne 0x101a265b
call fcn.101543d0
jmp 0x101a2950
call fcn.10154330
test edi, edi
je 0x101a2950
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
call fcn.101543d0
jmp 0x101a2950
call fcn.10194c00
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.10165f70
movzx eax, al
mov dword [esp + 0x88], eax
test al, 0xf
jne 0x101a29c9
lea ecx, [esp + 0x8c]
call fcn.10165ee0
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x34]
call fcn.101573b0
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 0x101a2799
mov al, byte [esi + 0x36]
and al, 1
je 0x101a2777
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x101a2786
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 0x101a2817
call fcn.10194c00
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 0x101a27f1
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x24]
call fcn.101543d0
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x101a280d
lea eax, [ecx + 4]
or edx, 0xffffffff
lock xadd dword [eax], edx
cmp edx, 1
jne 0x101a280d
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 0x101a28ed
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x101a28ed
xor eax, eax
test cl, cl
setne al
add eax, 2
test cl, cl
je 0x101a2847
cmp eax, 3
jne 0x101a28ed
call fcn.10194c00
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 0x101a28d1
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.101c7560
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x24]
call fcn.101543d0
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x101a28ed
lea eax, [ecx + 4]
or edx, 0xffffffff
lock xadd dword [eax], edx
cmp edx, 1
jne 0x101a28ed
mov eax, dword [ecx]
call dword [eax + 4]
test ebp, ebp
je 0x101a2911
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 0x101a2924
push ebx
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x28]
call fcn.101573b0
test edi, edi
je 0x101a2934
lea eax, [esp + 0x20]
mov ecx, edi
push eax
call fcn.101543d0
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x101a2950
lea eax, [ecx + 4]
or edx, 0xffffffff
lock xadd dword [eax], edx
cmp edx, 1
jne 0x101a2950
mov eax, dword [ecx]
call dword [eax + 4]
test ebx, ebx
je 0x101a2971
mov esi, dword [ebx]
cmp byte [esi + 0x18], 0
je 0x101a2971
push dword [esi + 0x28]
lea ecx, [esi + 8]
push dword [esi + 0x1c]
call fcn.10187820
mov byte [esi + 0x19], al
mov byte [esi + 0x18], 0
test edi, edi
je 0x101a2992
mov esi, dword [edi]
cmp byte [esi + 0x18], 0
je 0x101a2992
push dword [esi + 0x28]
lea ecx, [esi + 8]
push dword [esi + 0x1c]
call fcn.10187820
mov byte [esi + 0x19], al
mov byte [esi + 0x18], 0
or ebx, 0xffffffff
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x101a29ae
lea eax, [ecx + 4]
lock xadd dword [eax], ebx
cmp ebx, 1
jne 0x101a29ae
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.102af935
add esp, 0xac
ret 0x10
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x68]
call fcn.10167210
test al, al
jne 0x101a2710
mov ecx, dword [esp + 0x20]
or ebx, 0xffffffff
test ecx, ecx
je 0x101a2995
lea eax, [ecx + 4]
mov edx, ebx
lock xadd dword [eax], edx
cmp edx, 1
jne 0x101a2995
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x101a2995