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

Disassembly:
sub esp, 0x58
push ebx
push ebp
push esi
push edi
mov edx, dword [esp + 0x6c]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x7c]
mov eax, dword [edx + 0x10]
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x50], eax
mov eax, dword [edx + 0x14]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov eax, dword [edx + 0x18]
mov dword [esp + 0x5c], eax
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov eax, dword [edx + 0x20]
mov dword [esp + 0x38], eax
mov eax, dword [edx + 0x24]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x24]
sub ebp, edx
mov dword [esp + 0x48], eax
mov esi, 1
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x78]
sub eax, ecx
movlpd qword [esp + 0x1c], xmm0
mov edi, dword [esp + 0x74]
mov dword [esp + 0x28], eax
shl esi, cl
lea ecx, [edx + 0x28]
dec esi
mov dword [esp + 0x30], 0
lea eax, [edi + 8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], eax
lea eax, [edi + 0x44]
mov dword [esp + 0x14], eax
xor edi, edi
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x1c], eax
jmp 0x101248c9
mov ebp, dword [esp + 0x70]
mov ebx, dword [esp + edi + 0x5c]
mov eax, ebx
mov edx, dword [esp + edi + 0x50]
imul eax, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x6c]
test byte [eax + 0x8c], 8
je 0x1012491e
cmp dword [esp + 0x28], 0
mov ebp, dword [ecx + ebp]
mov eax, dword [esp + edi + 0x44]
mov ecx, dword [ecx]
je 0x1012490e
push dword [esp + 0x28]
push ebx
push edx
push eax
push ebp
push dword [esp + edi + 0x4c]
push ecx
call fcn.10125a00
add esp, 0x1c
jmp 0x10124935
push ebx
push edx
push eax
push ebp
push dword [esp + edi + 0x48]
push ecx
call fcn.101258b0
jmp 0x10124932
push ebx
push edx
push dword [esp + edi + 0x4c]
push dword [ecx + ebp]
push dword [esp + edi + 0x48]
push dword [ecx]
call fcn.10125760
add esp, 0x18
mov ecx, dword [esp + 0x14]
mov ebx, eax
mov eax, dword [esp + 0x18]
mov ebp, edx
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], ebp
mov eax, dword [esp + 0x10]
mov dword [ecx], eax
mov ecx, ebx
call fcn.10511e80
movaps xmm1, xmm0
xorps xmm0, xmm0
comisd xmm1, xmm0
jbe 0x101249a5
mov eax, dword [esp + 0x10]
xorps xmm0, xmm0
xorps xmm2, xmm2
cvtsi2sd xmm2, esi
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1059bac0]
mulsd xmm0, xmm2
mulsd xmm0, xmm2
divsd xmm0, xmm1
call fcn.10526e30
mulsd xmm0, qword [0x105e46e8]
movsd xmm1, qword [0x105fe908]
minsd xmm1, xmm0
jmp 0x101249ad
movsd xmm1, qword [0x105fe908]
mov eax, dword [esp + 0x18]
add dword [esp + 0x1c], ebx
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
adc edx, ebp
mov ebp, dword [esp + 0x30]
add edi, 4
add ebp, dword [esp + 0x10]
add ecx, 4
add dword [esp + 0x14], 4
movsd qword [eax], xmm1
add eax, 8
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ecx
mov dword [esp + 0x18], eax
cmp edi, 0xc
jl 0x101248c5
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0x1c]
mov ecx, eax
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], edx
mov dword [edi + 0x40], ebp
call fcn.10511e80
movaps xmm1, xmm0
xorps xmm0, xmm0
comisd xmm1, xmm0
jbe 0x10124a57
xorps xmm0, xmm0
xorps xmm2, xmm2
cvtsi2sd xmm0, ebp
shr ebp, 0x1f
cvtsi2sd xmm2, esi
addsd xmm0, qword [ebp*8 + 0x1059bac0]
mulsd xmm0, xmm2
mulsd xmm0, xmm2
divsd xmm0, xmm1
call fcn.10526e30
mulsd xmm0, qword [0x105e46e8]
movsd xmm1, qword [0x105fe908]
minsd xmm1, xmm0
jmp 0x10124a5f
movsd xmm1, qword [0x105fe908]
mov eax, dword [esp + 0x6c]
movsd qword [edi], xmm1
test byte [eax + 0x8c], 8
je 0x10124c1e
mov ecx, dword [esp + 0x78]
cmp dword [esp + 0x7c], ecx
jae 0x10124c1e
mov edx, dword [esp + 0x24]
lea ebx, [edi + 0x58]
mov eax, 1
xorps xmm0, xmm0
shl eax, cl
xor ebp, ebp
dec eax
movlpd qword [esp + 0x1c], xmm0
mov dword [esp + 0x34], eax
xor esi, esi
lea eax, [edi + 0x94]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x78], eax
nop dword [eax]
mov eax, dword [esp + esi + 0x5c]
mov edi, eax
mov ecx, dword [esp + esi + 0x50]
push eax
mov eax, dword [esp + 0x74]
push ecx
push dword [esp + esi + 0x4c]
imul edi, ecx
push dword [eax + edx]
push dword [esp + esi + 0x48]
push dword [edx]
call fcn.101258b0
mov ecx, dword [esp + 0x84]
add esp, 0x18
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], edx
mov dword [esp + 0x30], eax
mov dword [ecx], edi
mov ecx, eax
mov dword [esp + 0x2c], edx
call fcn.10511e80
movaps xmm2, xmm0
xorps xmm0, xmm0
comisd xmm2, xmm0
jbe 0x10124b59
xorps xmm0, xmm0
mov eax, edi
cvtsi2sd xmm0, edi
shr eax, 0x1f
xorps xmm1, xmm1
addsd xmm0, qword [eax*8 + 0x1059bac0]
mov eax, dword [esp + 0x34]
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
mulsd xmm0, xmm1
divsd xmm0, xmm2
call fcn.10526e30
mulsd xmm0, qword [0x105e46e8]
movsd xmm1, qword [0x105fe908]
minsd xmm1, xmm0
jmp 0x10124b61
movsd xmm1, qword [0x105fe908]
mov ecx, dword [esp + 0x78]
add ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x7c]
adc eax, dword [esp + 0x2c]
add ebp, edi
mov edx, dword [esp + 0x24]
add esi, 4
add dword [esp + 0x6c], 4
add edx, 4
movsd qword [ebx], xmm1
add ebx, 8
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x24], edx
cmp esi, 0xc
jl 0x10124ac0
mov edi, dword [esp + 0x74]
mov edx, eax
mov dword [edi + 0x70], ecx
mov dword [edi + 0x74], eax
mov dword [edi + 0x90], ebp
call fcn.10511e80
movaps xmm2, xmm0
xorps xmm0, xmm0
comisd xmm2, xmm0
jbe 0x10124c11
mov eax, dword [esp + 0x34]
xorps xmm0, xmm0
cvtsi2sd xmm0, ebp
shr ebp, 0x1f
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
addsd xmm0, qword [ebp*8 + 0x1059bac0]
mulsd xmm0, xmm1
mulsd xmm0, xmm1
divsd xmm0, xmm2
call fcn.10526e30
mulsd xmm0, qword [0x105e46e8]
movsd xmm1, qword [0x105fe908]
minsd xmm1, xmm0
movsd qword [edi + 0x50], xmm1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
movsd xmm1, qword [0x105fe908]
movsd qword [edi + 0x50], xmm1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret