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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x20f0
call fcn.101f5240
mov eax, dword [0x103b9004]
xor eax, esp
mov dword [esp + 0x20ec], eax
mov eax, dword [ebp + 8]
push esi
mov esi, edx
mov dword [esp + 0x1c], eax
push edi
mov edi, ecx
mov dword [esp + 0x28], edi
mov ecx, dword [esi + 0x30]
cmp ecx, 0x6c696e6b
je 0x101e0339
cmp ecx, 0x61627374
je 0x101e0339
cmp ecx, 0x6e6d636c
je 0x101e0339
test eax, eax
je 0x101dfa48
cmp eax, 1
je 0x101dfa48
cmp eax, 2
jne 0x101e0339
cmp dword [esi + 0x2c], 0x4000000
jb 0x101dfaba
test eax, eax
je 0x101dfa5a
cmp eax, 2
jne 0x101dfaba
mov ecx, esi
call fcn.101b5a40
test eax, eax
je 0x101dfa8a
push ecx
push edi
mov edx, 1
mov ecx, esi
call fcn.101df4e0
add esp, 8
pop edi
pop esi
mov ecx, dword [esp + 0x20ec]
xor ecx, esp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x103a69c0]
mov eax, 1
movups xmmword [edi], xmm0
movsd xmm0, qword [0x103a6230]
movsd qword [edi + 0x10], xmm0
pop edi
pop esi
mov ecx, dword [esp + 0x20ec]
xor ecx, esp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x34]
cmp ecx, 0x6c696e6b
jne 0x101dfacf
xor ecx, ecx
cmp dword [esi + 0x3c], eax
sete cl
jmp 0x101dfae6
mov edx, dword [eax*4 + str.0A2B1A2B2A2B1A2Bs]
mov ecx, esi
call fcn.10190d70
mov edx, dword [esi + 0x34]
mov ecx, eax
mov eax, dword [esp + 0x20]
test ecx, ecx
je 0x101e035a
cmp edx, 0x47524159
je 0x101dfb0a
cmp edx, 0x52474220
je 0x101dfb0a
cmp edx, 0x434d594b
jne 0x101e035a
cmp eax, 1
jne 0x101dfc55
push ecx
push eax
mov edx, esi
lea ecx, [esp + 0x40]
call fcn.101df740
add esp, 8
test eax, eax
je 0x101e0344
movsd xmm0, qword [esp + 0x38]
divsd xmm0, qword [0x103bc180]
movsd xmm1, qword [0x103a6260]
movsd xmm3, qword [0x103a6320]
comisd xmm1, xmm0
movsd xmm1, qword [0x103a6460]
jb 0x101dfb69
movsd xmm4, qword [0x103a62d8]
mulsd xmm0, xmm1
addsd xmm0, xmm4
jmp 0x101dfb89
movaps xmm1, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
movsd xmm1, qword [0x103a6460]
movsd xmm3, qword [0x103a6320]
movsd xmm4, qword [0x103a62d8]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esp + 0x40]
divsd xmm0, qword [0x103bc188]
movsd xmm2, qword [0x103a6260]
comisd xmm2, xmm0
jb 0x101dfbb5
mulsd xmm0, xmm1
addsd xmm0, xmm4
jmp 0x101dfbcd
movaps xmm1, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
movsd xmm1, qword [0x103a6460]
movsd xmm4, qword [0x103a62d8]
movsd xmm2, qword [esp + 0x48]
divsd xmm2, qword [0x103bc190]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [0x103a6260]
comisd xmm0, xmm2
jb 0x101dfbf9
mulsd xmm2, xmm1
addsd xmm2, xmm4
jmp 0x101dfc0c
movsd xmm1, qword [0x103a6320]
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
movaps xmm2, xmm0
movsd xmm1, qword [esp + 0x18]
movaps xmm0, xmm1
mov eax, dword [esp + 0x20]
mulsd xmm0, qword [0x103a64c8]
subsd xmm0, qword [0x103a6470]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esp + 0x10]
subsd xmm0, xmm1
subsd xmm1, xmm2
mulsd xmm0, qword [0x103a6510]
mulsd xmm1, qword [0x103a64f8]
movsd qword [esp + 0x18], xmm1
jmp 0x101dfc64
xorps xmm0, xmm0
movsd qword [esp + 0x30], xmm0
movsd qword [esp + 0x18], xmm0
mov edx, eax
movsd qword [esp + 0x10], xmm0
mov ecx, esi
call fcn.101df420
mov dword [esp + 0xc], eax
test eax, eax
je 0x101e0344
movsd xmm4, qword [0x103a6730]
xor esi, esi
movsd xmm2, qword [esp + 0x10]
movaps xmm6, xmm4
movsd xmm3, qword [esp + 0x18]
maxsd xmm6, xmm2
movsd xmm1, qword [0x103a6488]
movaps xmm5, xmm4
maxsd xmm5, xmm3
mov edi, eax
movsd qword [esp + 0x58], xmm6
movsd qword [esp + 0x50], xmm5
nop dword [eax]
comisd xmm6, xmm1
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x103a64b8]
divsd xmm0, qword [0x103a6500]
movsd qword [esp + 0x1078], xmm0
jbe 0x101dfcf2
movsd qword [esp + 0x1080], xmm1
jmp 0x101dfd0c
comisd xmm4, xmm2
jbe 0x101dfd03
movsd qword [esp + 0x1080], xmm4
jmp 0x101dfd0c
movsd qword [esp + 0x1080], xmm2
comisd xmm5, xmm1
jbe 0x101dfd1d
movsd qword [esp + 0x1088], xmm1
jmp 0x101dfd37
comisd xmm4, xmm3
jbe 0x101dfd2e
movsd qword [esp + 0x1088], xmm4
jmp 0x101dfd37
movsd qword [esp + 0x1088], xmm3
push 1
push 1
lea eax, [esp + 0x10e0]
push eax
lea eax, [esp + 0x1084]
push eax
mov eax, dword [edi + 8]
push edi
call eax
movsd xmm0, qword [esp + 0x108c]
add esp, 0x14
movsd xmm1, qword [0x103a6488]
movsd xmm2, qword [esp + 0x10]
movsd xmm3, qword [esp + 0x18]
movsd xmm4, qword [0x103a6730]
movsd xmm5, qword [esp + 0x50]
movsd xmm6, qword [esp + 0x58]
movsd qword [esp + esi*8 + 0x878], xmm0
movsd xmm0, qword [esp + 0x10d8]
movsd qword [esp + esi*8 + 0x10f0], xmm0
inc esi
cmp esi, 0x100
jl 0x101dfcc0
mov edi, dword [esp + 0x28]
lea eax, [esp + 0x18d8]
mov ecx, 0x7f
nop dword [eax]
movsd xmm1, qword [eax + 8]
lea eax, [eax - 0x10]
movsd xmm0, qword [eax + 0x10]
minsd xmm1, qword [eax + 0x20]
movsd qword [eax + 0x18], xmm1
minsd xmm0, xmm1
movsd qword [eax + 0x10], xmm0
sub ecx, 1
jne 0x101dfdc0
movsd xmm3, qword [esp + 0x18e8]
movsd xmm0, qword [esp + 0x10f0]
comisd xmm3, xmm0
jbe 0x101e0330
mov edx, dword [esp + 0x20]
mov ecx, 1
movsd xmm4, qword [0x103a6b40]
movaps xmm2, xmm0
unpcklpd xmm2, xmm2
movaps xmm1, xmm3
unpcklpd xmm1, xmm1
cmp edx, ecx
jne 0x101dff84
movsd xmm5, qword [0x103a6438]
subsd xmm3, xmm0
xor eax, eax
mulsd xmm3, qword [0x103a62e8]
addsd xmm3, xmm0
nop dword [eax]
nop word [eax + eax]
movsd xmm0, qword [esp + eax + 0x878]
comisd xmm3, xmm0
jae 0x101dfe74
subsd xmm0, qword [esp + eax + 0x10f0]
xor esi, esi
andps xmm0, xmm4
comisd xmm5, xmm0
cmovbe ecx, esi
add eax, 8
cmp eax, 0x800
jl 0x101dfe50
test ecx, ecx
je 0x101dff84
movsd xmm2, qword [esp + 0x30]
addsd xmm2, qword [0x103a6470]
movsd xmm1, qword [esp + 0x10]
mulsd xmm1, qword [0x103a6220]
movsd xmm0, qword [esp + 0x18]
divsd xmm2, qword [0x103a64c8]
mulsd xmm0, qword [0x103a6248]
movsd xmm5, qword [0x103a62f0]
addsd xmm1, xmm2
movsd xmm4, qword [0x103a62d0]
movaps xmm3, xmm2
subsd xmm3, xmm0
comisd xmm5, xmm1
jb 0x101dfeeb
movsd xmm0, qword [0x103a62d8]
subsd xmm1, xmm0
mulsd xmm1, xmm4
jmp 0x101dfefe
movaps xmm0, xmm1
mulsd xmm0, xmm1
mulsd xmm1, xmm0
movsd xmm0, qword [0x103a62d8]
comisd xmm5, xmm2
mulsd xmm1, qword [0x103bc180]
movsd qword [edi], xmm1
jb 0x101dff1a
subsd xmm2, xmm0
mulsd xmm2, xmm4
jmp 0x101dff2d
movaps xmm0, xmm2
mulsd xmm0, xmm2
mulsd xmm2, xmm0
movsd xmm0, qword [0x103a62d8]
mulsd xmm2, qword [0x103bc188]
movsd qword [edi + 8], xmm2
comisd xmm5, xmm3
jb 0x101dff4a
subsd xmm3, xmm0
mulsd xmm3, xmm4
jmp 0x101dff55
movaps xmm0, xmm3
mulsd xmm0, xmm3
mulsd xmm3, xmm0
mulsd xmm3, qword [0x103bc190]
mov ecx, dword [esp + 0xc]
movsd qword [edi + 0x10], xmm3
call fcn.1018ca70
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x20ec]
xor ecx, esp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret
subpd xmm1, xmm2
xor eax, eax
nop word [eax + eax]
movups xmm0, xmmword [esp + eax + 0x10f0]
subpd xmm0, xmm2
divpd xmm0, xmm1
movups xmmword [esp + eax + 0x78], xmm0
movups xmm0, xmmword [esp + eax + 0x1100]
subpd xmm0, xmm2
divpd xmm0, xmm1
movups xmmword [esp + eax + 0x88], xmm0
movups xmm0, xmmword [esp + eax + 0x1110]
subpd xmm0, xmm2
divpd xmm0, xmm1
movups xmmword [esp + eax + 0x98], xmm0
movups xmm0, xmmword [esp + eax + 0x1120]
subpd xmm0, xmm2
divpd xmm0, xmm1
movups xmmword [esp + eax + 0xa8], xmm0
add eax, 0x40
cmp eax, 0x800
jl 0x101dff90
cmp edx, 1
jne 0x101e000e
movsd xmm3, qword [0x103a62c0]
movsd xmm2, qword [0x103a6330]
jmp 0x101e001e
movsd xmm3, qword [0x103a6280]
movsd xmm2, qword [0x103a6310]
xor ecx, ecx
xor eax, eax
movsd xmm1, qword [esp + eax + 0x78]
comisd xmm1, xmm3
jb 0x101e0050
comisd xmm2, xmm1
jbe 0x101e0050
movsd xmm0, qword [esp + eax + 0x878]
movsd qword [esp + ecx*8 + 0x10f0], xmm0
movsd qword [esp + ecx*8 + 0x18f0], xmm1
inc ecx
add eax, 8
cmp eax, 0x800
jl 0x101e0022
cmp ecx, 3
jl 0x101e0330
xorps xmm1, xmm1
xorps xmm2, xmm2
movsd qword [esp + 0x30], xmm1
xorps xmm3, xmm3
movsd qword [esp + 0x28], xmm2
xorps xmm5, xmm5
movsd qword [esp + 0x20], xmm3
xorps xmm4, xmm4
xorps xmm6, xmm6
xorps xmm7, xmm7
cmp ecx, 4
jl 0x101e0252
xor eax, eax
test ecx, ecx
jle 0x101e0114
nop dword [eax]
movsd xmm2, qword [esp + eax*8 + 0x10f0]
movsd xmm3, qword [esp + eax*8 + 0x18f0]
movaps xmm1, xmm2
mulsd xmm1, xmm2
movaps xmm0, xmm2
inc eax
addsd xmm5, xmm0
movaps xmm0, xmm1
mulsd xmm1, xmm2
addsd xmm4, xmm0
movaps xmm0, xmm1
mulsd xmm1, xmm2
addsd xmm6, xmm0
addsd xmm7, xmm1
movaps xmm1, xmm3
mulsd xmm3, xmm2
addsd xmm1, qword [esp + 0x30]
movaps xmm0, xmm3
mulsd xmm3, xmm2
movsd qword [esp + 0x30], xmm1
addsd xmm0, qword [esp + 0x28]
addsd xmm3, qword [esp + 0x20]
movsd qword [esp + 0x28], xmm0
movsd qword [esp + 0x20], xmm3
cmp eax, ecx
jl 0x101e00a0
movaps xmm2, xmm0
movd xmm0, ecx
lea eax, [esp + 0x60]
cvtdq2pd xmm0, xmm0
push eax
lea edx, [esp + 0x1094]
lea ecx, [esp + 0x3c]
movsd qword [esp + 0x109c], xmm5
movsd qword [esp + 0x1094], xmm0
movsd qword [esp + 0x10a4], xmm4
movsd qword [esp + 0x10ac], xmm5
movsd qword [esp + 0x10b4], xmm4
movsd qword [esp + 0x10bc], xmm6
movsd qword [esp + 0x10c4], xmm4
movsd qword [esp + 0x10cc], xmm6
movsd qword [esp + 0x10d4], xmm7
movsd qword [esp + 0x64], xmm1
movsd qword [esp + 0x6c], xmm2
movsd qword [esp + 0x74], xmm3
call fcn.101c27c0
add esp, 4
test eax, eax
je 0x101e024f
movsd xmm3, qword [esp + 0x48]
movsd xmm0, qword [0x103a60d0]
movaps xmm1, xmm3
andps xmm1, xmmword [0x103a6b40]
comisd xmm0, xmm1
jbe 0x101e01e7
movsd xmm0, qword [esp + 0x38]
divsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [0x103a6488]
xorps xmm0, xmmword [0x103a6b50]
maxsd xmm1, xmm0
xorps xmm0, xmm0
comisd xmm1, xmm0
jbe 0x101e0240
jmp 0x101e024f
movsd xmm2, qword [esp + 0x40]
movaps xmm0, xmm3
mulsd xmm0, qword [0x103a6438]
xorps xmm1, xmm1
mulsd xmm2, xmm2
mulsd xmm0, qword [esp + 0x38]
subsd xmm2, xmm0
comisd xmm1, xmm2
jae 0x101e0252
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movsd xmm1, qword [esp + 0x48]
subsd xmm0, qword [esp + 0x40]
addsd xmm1, xmm1
divsd xmm0, xmm1
movsd xmm1, qword [0x103a6488]
minsd xmm1, xmm0
xorps xmm0, xmm0
comisd xmm0, xmm1
ja 0x101e024f
comisd xmm0, xmm1
movsd qword [esp + 0x1078], xmm1
jbe 0x101e025b
xorps xmm1, xmm1
movsd qword [esp + 0x1078], xmm1
addsd xmm1, qword [0x103a6470]
movsd xmm2, qword [esp + 0x10]
movsd xmm0, qword [esp + 0x18]
movsd xmm5, qword [0x103a62f0]
movsd xmm4, qword [0x103a62d0]
divsd xmm1, qword [0x103a64c8]
movsd qword [esp + 0x1080], xmm2
mulsd xmm2, qword [0x103a6220]
movaps xmm3, xmm1
movsd qword [esp + 0x1088], xmm0
mulsd xmm0, qword [0x103a6248]
addsd xmm2, xmm1
subsd xmm3, xmm0
comisd xmm5, xmm2
jb 0x101e02cc
movsd xmm0, qword [0x103a62d8]
subsd xmm2, xmm0
mulsd xmm2, xmm4
jmp 0x101e02df
movaps xmm0, xmm2
mulsd xmm0, xmm2
mulsd xmm2, xmm0
movsd xmm0, qword [0x103a62d8]
comisd xmm5, xmm1
mulsd xmm2, qword [0x103bc180]
movsd qword [edi], xmm2
jb 0x101e030b
subsd xmm1, xmm0
mulsd xmm1, xmm4
mulsd xmm1, qword [0x103bc188]
movsd qword [edi + 8], xmm1
jmp 0x101dff3a
movaps xmm0, xmm1
mulsd xmm0, xmm1
mulsd xmm1, xmm0
movsd xmm0, qword [0x103a62d8]
mulsd xmm1, qword [0x103bc188]
movsd qword [edi + 8], xmm1
jmp 0x101dff3a
mov ecx, dword [esp + 0xc]
call fcn.1018ca70
xorps xmm0, xmm0
movsd qword [edi], xmm0
movups xmmword [edi + 8], xmm0
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x20ec]
xor ecx, esp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret
push ecx
push eax
mov edx, esi
mov ecx, edi
call fcn.101df740
mov ecx, dword [esp + 0x20fc]
add esp, 8
pop edi
pop esi
xor ecx, esp
call fcn.101f3fd0
mov esp, ebp
pop ebp
ret