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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
mov eax, dword [0x1034c74c]
sub esp, 0xb4
mov ecx, dword [eax + 0x1c]
push ebx
push esi
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
nop
test al, al
je 0x101a48cd
mov eax, dword [0x1034c74c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x101a48cd
mov esi, dword [0x1034c73c]
xorps xmm0, xmm0
movss dword [esp + 0x54], xmm0
movss dword [esp + 0x58], xmm0
movss dword [esp + 0x5c], xmm0
mov eax, dword [esi]
mov dword [esp + 0x68], esi
cmp byte [eax], 0
je 0x101a4092
mov eax, dword [0x1034c74c]
mov edi, dword [eax + 0x10]
mov ecx, dword [eax + 0x1c]
mov edx, dword [edi]
mov eax, dword [ecx]
mov esi, dword [edx + 0xc]
call dword [eax + 0x30]
push eax
mov ecx, edi
call esi
mov ecx, dword [eax]
mov edx, dword [ecx + 0x24]
mov ecx, eax
call edx
mov esi, dword [0x1034c73c]
mov dword [esp + 0x68], esi
movss xmm0, dword [eax]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [eax + 4]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [eax + 8]
movss dword [esp + 0x5c], xmm0
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
add eax, ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x80], eax
cmp ecx, eax
je 0x101a48cd
nop dword [eax]
mov eax, dword ds:[esi + 0xc]
mov edx, ecx
dec eax
shr edx, 1
and edx, eax
and ecx, 1
mov eax, dword [esi + 8]
mov eax, dword [eax + edx*4]
lea ebx, [eax + ecx*8]
mov eax, dword [0x1034c74c]
mov dword [esp + 0x48], ebx
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov eax, dword [ebx]
movsx eax, byte [eax + 0xc]
push eax
call edx
test eax, eax
je 0x101a48ae
mov edi, dword [ebx]
cmp byte [edi + 3], 0
jne 0x101a48ae
cmp byte ds:[edi + 1], 0
je 0x101a48ae
cmp byte [edi], 0
jne 0x101a48ae
cmp byte [edi + 2], 0
jne 0x101a48ae
cmp byte ds:[edi + 0x34], 0
je 0x101a48ae
mov eax, dword [0x1034c74c]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
movsx eax, byte [edi + 0xc]
push eax
call edx
mov ecx, dword [eax + 0xf80]
sub ecx, 0x94
mov dword [esp + 0x64], ecx
je 0x101a48ae
mov eax, dword [ebx]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0x34]
mov dword [ecx + 0x18], eax
mov edi, dword [ebx]
mov eax, dword [edi + 0x48]
cmp byte [eax + 5], 0
je 0x101a4172
movss xmm0, dword [eax]
mov eax, dword [edi + 0x44]
jmp 0x101a48a9
mov eax, dword [0x1034c744]
mov eax, dword ds:[eax + 4]
cmp byte [eax + 1], 0
jne 0x101a4191
mov eax, dword [edi + 0x44]
mov dword [eax + 0x3c], 0
jmp 0x101a48ae
mov eax, dword ds:[edi + 0x50]
mov dword [esp + 0x50], eax
cmp dword [eax + 0x1c], 0
je 0x101a48ae
mov eax, dword [0x1034c74c]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
movsx eax, byte [edi + 0xc]
push eax
call edx
mov ecx, dword [0x1034c74c]
mov ebx, dword [ecx + 0x10]
mov ecx, eax
mov edx, dword [ebx]
mov edi, dword [edx + 0x10]
call fcn.10075220
mov ecx, ebx
push dword [eax]
call edi
mov edi, eax
test edi, edi
je 0x101a4248
mov ecx, edi
call fcn.101a5cc0
cmp dword [eax + 0x658], 8
jne 0x101a4248
mov ecx, edi
call fcn.100750c0
movss xmm0, dword [eax]
comiss xmm0, dword [0x102fdcc0]
ja 0x101a4231
mov eax, dword [esp + 0x64]
sub esp, 8
movss xmm0, dword [eax + 0x1c]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100d7177
movss xmm0, dword [0x102fdf68]
add esp, 8
fstp dword [esp + 0x64]
comiss xmm0, dword [esp + 0x64]
jbe 0x101a4248
mov edx, dword [esp + 0x48]
mov eax, dword [edx]
add eax, 0x44
mov eax, dword [eax]
mov dword [eax + 0x40], 0
jmp 0x101a48ae
mov eax, dword [0x1034c744]
mov ebx, dword ds:[esp + 0x48]
mov eax, dword [eax + 4]
mov edi, dword [ebx]
mov dword [esp + 0x7c], edi
cmp byte [eax + 2], 0
je 0x101a43d1
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x14]
dec ecx
and ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x10]
push ecx
mov eax, dword [eax + ecx*4]
lea ecx, [esp + 0xa0]
movss xmm2, dword [eax + 0x14]
movss xmm1, dword [eax + 0x18]
movss xmm0, dword [eax + 0x1c]
lea eax, [esp + 0xac]
subss xmm2, dword [esp + 0x58]
subss xmm1, dword [esp + 0x5c]
subss xmm0, dword [esp + 0x60]
push eax
movss dword [esp + 0xa4], xmm2
movss dword [esp + 0xa8], xmm1
movss dword [esp + 0xac], xmm0
call fcn.101a7da0
mov eax, dword [0x1034c74c]
lea edx, [esp + 0x90]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov ecx, dword [eax + 0x1c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x4c]
movss xmm0, dword [0x102fde74]
sub esp, 8
divss xmm0, dword [0x102fdfe4]
movss xmm1, dword [esp + 0xb4]
subss xmm1, dword [esp + 0x9c]
mulss xmm0, xmm1
movss dword [esp + 0x6c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100d7510
movss xmm0, dword [0x102fde74]
divss xmm0, dword [0x102fdfe4]
fstp dword ds:[esp + 0x68]
mulss xmm0, dword [esp + 0x6c]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100d74c0
movss xmm0, dword [esp + 0x68]
cvtps2pd xmm0, xmm0
fstp dword [esp + 0x6c]
movsd qword [esp], xmm0
sub esp, 8
movss xmm0, dword [esp + 0x74]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100d7560
movss xmm0, dword [0x102fdfe4]
xorps xmm1, xmm1
divss xmm0, dword [0x102fde74]
mov eax, dword [ebx]
add esp, 0x10
mov eax, dword [eax + 0x44]
fstp dword [esp + 0x64]
mulss xmm0, dword [esp + 0x64]
comiss xmm1, xmm0
jbe 0x101a43c5
mov dword ds:[eax + 0x40], 0x42b20000
jmp 0x101a48ae
mov dword [eax + 0x40], 0xc2b20000
jmp 0x101a48ae
mov eax, dword [0x1034c74c]
mov ecx, dword [eax + 0x10]
movsx eax, byte [edi + 0xc]
push eax
mov edx, dword [ecx]
call dword [edx + 0xc]
mov eax, dword [0x1034c74c]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov eax, dword [ebx]
movsx eax, byte [eax + 0xc]
push eax
call edx
mov ecx, eax
call fcn.10075220
mov edx, dword ds:[esp + 0x50]
xor ecx, ecx
xorps xmm0, xmm0
mov dword [esp + 0x64], ecx
movss dword [esp + 0x4c], xmm0
mov edi, dword [edx + 0x1c]
test edi, edi
je 0x101a4517
inc ecx
mov eax, edi
mov dword [esp + 0x78], ecx
mov esi, ecx
cmp ecx, edi
jae 0x101a4501
nop dword [eax]
mov edi, dword [edx + 0x18]
sub esp, 0x10
mov ecx, dword [edx + 0x14]
mov edx, dword [edx + 0x10]
dec ecx
movsd xmm0, qword [0x102fdea0]
lea eax, [edi + esi]
movsd qword [esp + 8], xmm0
and eax, ecx
mov ebx, dword [edx + eax*4]
mov eax, dword [esp + 0x74]
add eax, edi
and eax, ecx
movss xmm0, dword [ebx + 0x30]
mov eax, dword [edx + eax*4]
subss xmm0, dword [eax + 0x30]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x102fde90]
movsd qword [esp], xmm0
call fcn.100d72c0
movss xmm0, dword [esp + 0x5c]
add esp, 8
fsub qword [0x102fde90]
cvtps2pd xmm0, xmm0
fstp dword [esp + 0x68]
movsd qword [esp], xmm0
call fcn.100d7177
movss xmm0, dword ds:[esp + 0x68]
cvtps2pd xmm0, xmm0
fstp dword [esp + 0x7c]
movsd qword [esp], xmm0
call fcn.100d7177
fstp dword [esp + 0x78]
movss xmm0, dword [esp + 0x78]
add esp, 8
comiss xmm0, dword [esp + 0x74]
jbe 0x101a44e7
movss xmm0, dword [esp + 0x60]
movss dword [esp + 0x4c], xmm0
jmp 0x101a44ed
movss xmm0, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
inc esi
mov eax, dword [edx + 0x1c]
cmp esi, eax
jb 0x101a4440
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x64], ecx
mov edi, eax
cmp ecx, eax
jb 0x101a4428
mov esi, dword [esp + 0x68]
mov ebx, dword [esp + 0x48]
cvtss2sd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
call fcn.100d7177
mov eax, dword [ebx]
add esp, 8
fstp dword [esp + 0x78]
movss xmm0, dword [esp + 0x78]
comiss xmm0, dword [0x102fdf68]
mov eax, dword [eax + 0x44]
xorps xmm0, xmm0
movss dword [esp + 0x74], xmm0
seta cl
mov byte [eax + 4], cl
mov eax, dword [ebx]
mov eax, dword [eax + 0x44]
cmp byte [eax + 4], 0
je 0x101a4566
movss xmm0, dword [esp + 0x4c]
jmp 0x101a48a2
push ebx
call fcn.101a3940
mov eax, dword [0x1034c74c]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov eax, dword [ebx]
mov eax, dword [eax + 0x44]
push dword [eax]
call edx
test eax, eax
je 0x101a4735
mov ecx, eax
call fcn.10007a60
mov ecx, dword [0x1034c74c]
mov ebx, eax
mov ecx, dword [ecx + 0x10]
mov edx, dword [ecx]
mov edi, dword [edx + 0xc]
mov edx, dword [esp + 0x48]
mov edx, dword [edx]
movsx edx, byte [edx + 0xc]
push edx
call edi
mov ecx, eax
call fcn.10007a60
push ecx
lea ecx, [esp + 0x88]
movss xmm2, dword [eax]
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax + 8]
lea eax, [esp + 0xb8]
subss xmm2, dword [ebx]
subss xmm1, dword [ebx + 4]
subss xmm0, dword [ebx + 8]
push eax
movss dword [esp + 0x8c], xmm2
movss dword [esp + 0x90], xmm1
movss dword [esp + 0x94], xmm0
call fcn.101a7da0
movss xmm0, dword [esp + 0x84]
movss xmm4, dword [0x102fe0e8]
comiss xmm4, xmm0
movss xmm2, dword [0x102fe038]
jbe 0x101a462c
addss xmm0, xmm2
comiss xmm4, xmm0
ja 0x101a4623
movss xmm3, dword [0x102fdfe4]
comiss xmm0, xmm3
jbe 0x101a4649
nop dword [eax]
subss xmm0, xmm2
comiss xmm0, xmm3
ja 0x101a4640
movss xmm0, dword [esp + 0x88]
comiss xmm4, xmm0
jbe 0x101a4662
addss xmm0, xmm2
comiss xmm4, xmm0
ja 0x101a4657
comiss xmm0, xmm3
jbe 0x101a4670
subss xmm0, xmm2
comiss xmm0, xmm3
ja 0x101a4667
movss xmm1, dword [esp + 0x8c]
comiss xmm4, xmm1
jbe 0x101a4689
nop
addss xmm1, xmm2
comiss xmm4, xmm1
ja 0x101a4680
comiss xmm1, xmm3
jbe 0x101a4699
nop
subss xmm1, xmm2
comiss xmm1, xmm3
ja 0x101a4690
mov ebx, dword [esp + 0x48]
sub esp, 0x10
movsd xmm1, qword [0x102fdea0]
mov eax, dword [ebx]
movsd qword [esp + 8], xmm1
mov eax, dword [eax + 0x44]
subss xmm0, dword [eax + 0x34]
cvtss2sd xmm0, xmm0
addsd xmm0, qword [0x102fde90]
movsd qword [esp], xmm0
call fcn.100d72c0
fsub qword [0x102fde90]
add esp, 0x10
fstp dword [esp + 0x78]
movss xmm0, dword [esp + 0x78]
comiss xmm0, dword [0x102fdedc]
jbe 0x101a4705
movss xmm1, dword [0x102fdf10]
comiss xmm1, xmm0
jbe 0x101a4705
mov eax, dword [ebx]
mov eax, dword [eax + 0x44]
mov dword [eax + 8], 2
jmp 0x101a4735
movss xmm1, dword [0x102fe0c8]
comiss xmm1, xmm0
jbe 0x101a4729
comiss xmm0, dword [0x102fe0cc]
jbe 0x101a4729
mov eax, dword [ebx]
mov eax, dword [eax + 0x44]
mov dword [eax + 8], 1
jmp 0x101a4735
mov eax, dword [ebx]
mov eax, dword [eax + 0x44]
mov dword [eax + 8], 0
mov eax, dword ds:[ebx]
mov ecx, dword [eax + 0x44]
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x101a478f
movss xmm0, dword [ecx + 0xc]
lea edx, [esp + 0x78]
movss xmm1, dword [0x102fdf94]
add ecx, 0xc
comiss xmm1, xmm0
mov dword [esp + 0x74], 0x43160000
mov dword [esp + 0x78], 0x42b20000
seta al
test al, al
cmove edx, ecx
lea ecx, [esp + 0x74]
comiss xmm0, dword [0x102fdfcc]
seta al
test al, al
cmove ecx, edx
movss xmm0, dword [ecx]
jmp 0x101a48a2
cmp eax, 1
jne 0x101a47ee
movss xmm0, dword [ecx + 0xc]
lea edx, [esp + 0x78]
mulss xmm0, dword [0x102fe0ac]
lea ecx, [esp + 0x74]
mov dword [esp + 0x70], 0xc2b20000
movss xmm1, dword [0x102fe0e0]
mov dword [esp + 0x78], 0xc3160000
comiss xmm1, xmm0
movss dword [esp + 0x74], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [esp + 0x70]
comiss xmm0, dword [0x102fe0d8]
seta al
test al, al
cmove ecx, edx
movss xmm0, dword [ecx]
jmp 0x101a48a2
cmp eax, 2
jne 0x101a483b
movss xmm0, dword [ecx + 0xc]
lea edx, [esp + 0x78]
movss xmm1, dword [0x102fdf24]
add ecx, 0xc
comiss xmm1, xmm0
mov dword [esp + 0x74], 0x428c0000
mov dword [esp + 0x78], 0x41f00000
seta al
test al, al
cmove edx, ecx
lea ecx, [esp + 0x74]
comiss xmm0, dword [0x102fdf78]
seta al
test al, al
cmove ecx, edx
movss xmm0, dword [ecx]
jmp 0x101a48a2
nop dword [eax + eax]
cmp eax, 3
jne 0x101a489c
movss xmm0, dword [ecx + 0xc]
lea edx, [esp + 0x78]
mulss xmm0, dword [0x102fe0ac]
lea ecx, [esp + 0x74]
mov dword [esp + 0x70], 0xc1f00000
movss xmm1, dword [0x102fe0d4]
mov dword [esp + 0x78], 0xc28c0000
comiss xmm1, xmm0
movss dword [esp + 0x74], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [esp + 0x70]
comiss xmm0, dword [0x102fe0d0]
seta al
test al, al
cmove ecx, edx
movss xmm0, dword [ecx]
jmp 0x101a48a2
movss xmm0, dword [esp + 0x74]
mov eax, dword [esp + 0x7c]
mov eax, dword [eax + 0x44]
movss dword [eax + 0x40], xmm0
mov ecx, dword ds:[esp + 0x6c]
inc ecx
mov dword [esp + 0x6c], ecx
cmp ecx, dword [esp + 0x80]
jne 0x101a40b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret