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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push edi
push esi
push ebx
push ecx
push edx
push eax
mov eax, 0x13908
call fcn.00455570
mov ecx, dword [esp + 0x13910]
mov edx, dword [esp + 0x1390c]
mov eax, dword [esp + 0x13908]
movss xmm1, dword [0x4618a8]
mov dword [esp + 0x74], ecx
mov ecx, dword [eax]
mov dword [esp + 0x78], edx
mov edx, dword [ebp + 0x28]
movss xmm0, dword [edx]
addss xmm0, xmm1
movss dword [esp + 0x7c], xmm0
test ecx, ecx
jle 0x419c23
movss xmm2, dword [0x4618ac]
movaps xmm4, xmm2
movss xmm0, dword [0x4618b0]
movaps xmm3, xmm0
mov edx, 1
movss xmm6, dword [0x4618b4]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
movss xmm5, dword [ebx + edx*4 - 4]
comiss xmm6, xmm5
jbe 0x419556
movaps xmm7, xmm4
movaps xmm4, xmm5
movss xmm1, dword [esi + edx*4 - 4]
minss xmm4, xmm7
movaps xmm7, xmm2
movaps xmm2, xmm1
minss xmm2, xmm7
movaps xmm7, xmm3
movaps xmm3, xmm5
movaps xmm5, xmm0
movaps xmm0, xmm1
maxss xmm3, xmm7
maxss xmm0, xmm5
inc edx
cmp edx, ecx
jle 0x41951d
movss xmm1, dword [0x4618a8]
movss xmm5, dword [0x4618b8]
subss xmm4, xmm5
addss xmm3, xmm5
subss xmm2, xmm5
addss xmm0, xmm5
cmp ecx, 0xf
jge 0x4195a8
mov edx, dword [ebp + 0x14]
movss xmm1, dword [0x4618bc]
mov dword [edx], 1
mov ebx, 1
subss xmm3, xmm4
divss xmm3, xmm1
subss xmm0, xmm2
divss xmm0, xmm1
jmp 0x419604
movaps xmm6, xmm1
movss xmm5, dword [esp + 0x7c]
mov edi, dword [ebp + 0x14]
subss xmm3, xmm4
mulss xmm6, xmm3
divss xmm6, xmm5
cvttss2si ebx, xmm6
subss xmm0, xmm2
mulss xmm1, xmm0
divss xmm1, xmm5
cvttss2si edx, xmm1
mov esi, 9
cmp ebx, edx
jge 0x4195df
mov ebx, edx
test ebx, ebx
jg 0x4195e8
mov ebx, 1
cmp ebx, 9
cmovge ebx, esi
cvtsi2ss xmm7, ebx
divss xmm3, xmm7
divss xmm0, xmm7
mov dword [edi], ebx
test ebx, ebx
jle 0x4199a4
mov edx, dword [ebp + 0x24]
and edx, 0xf
je 0x41961d
test dl, 3
jne 0x419c00
neg edx
add edx, 0x10
shr edx, 2
lea esi, [edx + 4]
cmp ebx, esi
jl 0x419c00
mov esi, ebx
sub esi, edx
and esi, 3
neg esi
add esi, ebx
test edx, edx
jbe 0x4196cf
mov dword [esp + 0x13904], ecx
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x34], esi
mov esi, dword [ebp + 0x24]
mov dword [esp], edx
mov edx, dword [ebp + 0x18]
xor edi, edi
mov dword [esp + 0x70], ebx
mov ebx, dword [ebp + 0x20]
mov dword [esp + 0x13900], eax
movaps xmm1, xmm3
movaps xmm5, xmm3
pxor xmm6, xmm6
lea eax, [edi + 1]
cmp eax, dword [esp]
pxor xmm7, xmm7
cvtsi2ss xmm6, edi
mulss xmm1, xmm6
mulss xmm6, xmm0
addss xmm1, xmm4
movss dword [edx + edi*4], xmm1
addss xmm6, xmm2
movss dword [ebx + edi*4], xmm6
cvtsi2ss xmm7, eax
mulss xmm5, xmm7
mulss xmm7, xmm0
addss xmm5, xmm4
movss dword [ecx + edi*4], xmm5
addss xmm7, xmm2
movss dword [esi + edi*4], xmm7
mov edi, eax
jb 0x419662
mov ecx, dword [esp + 0x13904]
mov esi, dword [esp + 0x34]
mov edx, dword [esp]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x13900]
movss dword [esp + 0x30], xmm0
mov dword [esp + 0x70], ebx
lea ebx, [edx + 1]
mov dword [esp + 0x34], esi
movd xmm0, ebx
mov ebx, dword [ebp + 0x20]
mov dword [esp + 0x13904], ecx
lea esi, [edx + 2]
lea edi, [edx + 3]
mov ecx, 4
movd xmm5, ecx
pshufd xmm6, xmm5, 0
movdqa xmmword [esp], xmm6
lea ecx, [edx + 4]
movd xmm6, esi
movdqa xmm7, xmm6
lea esi, [ebx + edx*4]
mov ebx, dword [esp + 0x70]
test esi, 0xf
mov esi, dword [esp + 0x34]
movd xmm1, edi
punpckldq xmm7, xmm1
movd xmm5, edx
punpckldq xmm5, xmm0
punpcklqdq xmm5, xmm7
movdqa xmmword [esp + 0x20], xmm5
punpckldq xmm0, xmm6
movd xmm7, ecx
punpckldq xmm1, xmm7
punpcklqdq xmm0, xmm1
mov ecx, dword [esp + 0x13904]
movdqa xmmword [esp + 0x10], xmm0
movss xmm0, dword [esp + 0x30]
je 0x41982c
mov edi, dword [ebp + 0x24]
movss dword [esp + 0x30], xmm0
movss dword [esp + 0x34], xmm3
movss dword [esp + 0x38], xmm2
movss dword [esp + 0x3c], xmm4
movaps xmm7, xmm4
mov dword [esp + 0x13904], ecx
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x70], ebx
mov ebx, dword [ebp + 0x20]
mov dword [esp + 0x13900], eax
shufps xmm7, xmm7, 0
mov eax, dword [ebp + 0x18]
movaps xmmword [esp + 0x50], xmm7
movaps xmm6, xmm3
movdqa xmm3, xmmword [esp + 0x20]
shufps xmm6, xmm6, 0
movaps xmmword [esp + 0x60], xmm6
movdqa xmm6, xmmword [esp]
movaps xmm1, xmm2
shufps xmm1, xmm1, 0
movaps xmm5, xmm0
shufps xmm5, xmm5, 0
movaps xmmword [esp + 0x40], xmm5
movdqa xmm5, xmmword [esp + 0x10]
cvtdq2ps xmm2, xmm3
movaps xmm4, xmmword [esp + 0x60]
movaps xmm0, xmm4
mulps xmm0, xmm2
movaps xmm7, xmmword [esp + 0x50]
paddd xmm3, xmm6
addps xmm0, xmm7
movups xmmword [eax + edx*4], xmm0
cvtdq2ps xmm0, xmm5
mulps xmm4, xmm0
paddd xmm5, xmm6
addps xmm4, xmm7
movaps xmm7, xmmword [esp + 0x40]
movups xmmword [ecx + edx*4], xmm4
mulps xmm2, xmm7
mulps xmm0, xmm7
addps xmm2, xmm1
movups xmmword [ebx + edx*4], xmm2
addps xmm0, xmm1
movaps xmmword [edi + edx*4], xmm0
add edx, 4
cmp edx, esi
jb 0x4197d8
jmp 0x4198ed
mov edi, dword [ebp + 0x24]
movss dword [esp + 0x30], xmm0
movss dword [esp + 0x34], xmm3
movss dword [esp + 0x38], xmm2
movss dword [esp + 0x3c], xmm4
movaps xmm7, xmm4
mov dword [esp + 0x13904], ecx
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x70], ebx
mov ebx, dword [ebp + 0x20]
mov dword [esp + 0x13900], eax
shufps xmm7, xmm7, 0
mov eax, dword [ebp + 0x18]
movaps xmmword [esp + 0x50], xmm7
movaps xmm6, xmm3
movdqa xmm3, xmmword [esp + 0x20]
shufps xmm6, xmm6, 0
movaps xmmword [esp + 0x60], xmm6
movdqa xmm6, xmmword [esp]
movaps xmm1, xmm2
shufps xmm1, xmm1, 0
movaps xmm5, xmm0
shufps xmm5, xmm5, 0
movaps xmmword [esp + 0x40], xmm5
movdqa xmm5, xmmword [esp + 0x10]
cvtdq2ps xmm2, xmm3
movaps xmm4, xmmword [esp + 0x60]
movaps xmm0, xmm4
mulps xmm0, xmm2
movaps xmm7, xmmword [esp + 0x50]
paddd xmm3, xmm6
addps xmm0, xmm7
movups xmmword [eax + edx*4], xmm0
cvtdq2ps xmm0, xmm5
mulps xmm4, xmm0
paddd xmm5, xmm6
addps xmm4, xmm7
movaps xmm7, xmmword [esp + 0x40]
movups xmmword [ecx + edx*4], xmm4
mulps xmm2, xmm7
mulps xmm0, xmm7
addps xmm2, xmm1
movaps xmmword [ebx + edx*4], xmm2
addps xmm0, xmm1
movaps xmmword [edi + edx*4], xmm0
add edx, 4
cmp edx, esi
jb 0x41989e
movss xmm0, dword [esp + 0x30]
movss xmm3, dword [esp + 0x34]
movss xmm2, dword [esp + 0x38]
movss xmm4, dword [esp + 0x3c]
mov ecx, dword [esp + 0x13904]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x13900]
cmp esi, ebx
jae 0x4199a4
mov edx, dword [ebp + 0x18]
mov edi, dword [ebp + 0x24]
mov dword [esp + 0x13904], ecx
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x70], ebx
mov ebx, dword [ebp + 0x20]
mov dword [esp + 0x13900], eax
movaps xmm1, xmm3
movaps xmm5, xmm3
pxor xmm6, xmm6
lea eax, [esi + 1]
cmp eax, dword [esp + 0x70]
pxor xmm7, xmm7
cvtsi2ss xmm6, esi
mulss xmm1, xmm6
mulss xmm6, xmm0
addss xmm1, xmm4
movss dword [edx + esi*4], xmm1
addss xmm6, xmm2
movss dword [ebx + esi*4], xmm6
cvtsi2ss xmm7, eax
mulss xmm5, xmm7
mulss xmm7, xmm0
addss xmm5, xmm4
movss dword [ecx + esi*4], xmm5
addss xmm7, xmm2
movss dword [edi + esi*4], xmm7
mov esi, eax
jb 0x41993d
mov ecx, dword [esp + 0x13904]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x13900]
mov edx, dword [ebp + 0x30]
mov esi, edx
and esi, 0xf
je 0x4199d0
test esi, 3
jne 0x419c07
neg esi
add esi, 0x10
shr esi, 2
xor edi, edi
mov dword [edx + edi*4], 0
inc edi
cmp edi, esi
jb 0x4199c4
mov edi, esi
neg edi
add edi, 8
and edi, 0xf
neg edi
add edi, 0xc8
pxor xmm0, xmm0
movdqa xmmword [edx + esi*4], xmm0
movdqa xmmword [edx + esi*4 + 0x10], xmm0
movdqa xmmword [edx + esi*4 + 0x20], xmm0
movdqa xmmword [edx + esi*4 + 0x30], xmm0
add esi, 0x10
cmp esi, edi
jb 0x4199e6
cmp edi, 0xc8
jb 0x419c0e
mov esi, dword [ebp + 0x34]
mov edi, dword [ebp + 0x2c]
mov dword [esi], 0
xor esi, esi
mov dword [edi], 0x64
test ebx, ebx
jle 0x419bb7
mov dword [esp], esi
mov esi, dword [ebp + 0x14]
mov dword [esp + 0x13904], ecx
mov edi, 1
mov dword [esp + 0x70], ebx
mov dword [esp + 0x13900], eax
mov ebx, dword [esi]
test ebx, ebx
jle 0x419b9f
mov esi, dword [ebp + 0x30]
mov dword [esp + 0x18], ebx
mov ebx, dword [ebp + 0x34]
mov dword [esp + 4], edi
mov ecx, 1
mov dword [esp + 0x1c], ecx
lea edx, [edi + edi*4]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x18]
movss xmm4, dword [esp + 0x7c]
lea edi, [edi + eax*2]
cvtsi2ss xmm0, edi
mulss xmm0, dword [0x4618b8]
cvttss2si edx, xmm0
movss xmm1, dword [ecx + edx*4 - 4]
mov ecx, dword [ebp + 0x1c]
movss xmm2, dword [ecx + edx*4 - 4]
lea eax, [edx + edx*8]
add eax, edx
neg eax
mov edx, dword [ebp + 0x20]
add eax, edi
movss xmm3, dword [edx + eax*4 - 4]
mov edx, dword [ebp + 0x24]
movss xmm5, dword [edx + eax*4 - 4]
subss xmm1, xmm4
movss dword [esp + 8], xmm1
addss xmm2, xmm4
movss dword [esp + 0xc], xmm2
subss xmm3, xmm4
movss dword [esp + 0x10], xmm3
addss xmm5, xmm4
movss dword [esp + 0x14], xmm5
add esp, 0xffffffe0
lea eax, [esp + 0x28]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x10], eax
lea edx, [esp + 0x30]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x98]
lea ecx, [esp + 0x34]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x94]
lea eax, [esp + 0xa0]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x13920]
call fcn.00419c4c
mov eax, dword [esp + 0x13900]
mov eax, dword [eax]
mov ecx, dword [ebx]
test eax, eax
jle 0x419b77
mov dword [esp + 0x13904], eax
mov eax, dword [ebp + 0x38]
mov edx, 1
cmp dword [esp + edx*4 + 0x7c], 0
je 0x419b66
inc ecx
cmp dword [esi + edi*8 - 8], 0
mov dword [ebx], ecx
mov dword [eax + ecx*4 - 4], edx
jne 0x419b66
mov dword [esi + edi*8 - 8], ecx
inc edx
cmp edx, dword [esp + 0x13904]
jle 0x419b4d
mov eax, dword [esp + 0x13904]
mov edx, dword [esp + 0x1c]
mov dword [esi + edi*8 - 4], ecx
inc edx
cmp edx, dword [esp + 0x18]
mov dword [esp + 0x1c], edx
jle 0x419a71
mov edi, dword [esp + 4]
mov esi, dword [ebp + 0x14]
mov dword [esp], ecx
mov dword [esp + 0x13904], eax
inc edi
cmp edi, dword [esp + 0x70]
jle 0x419a49
mov esi, dword [esp]
mov ecx, dword [esp + 0x13904]
mov edx, dword [ebp + 0x30]
test ecx, ecx
jle 0x419beb
mov edi, dword [ebp + 0x38]
mov eax, dword [edx + 0x318]
mov ebx, 1
inc esi
mov dword [edi + esi*4 - 4], ebx
test eax, eax
jne 0x419be1
mov eax, esi
mov dword [edx + 0x318], esi
inc ebx
cmp ebx, ecx
jle 0x419bc9
jmp 0x419be6
inc ebx
cmp ebx, ecx
jle 0x419bc9
mov eax, dword [ebp + 0x34]
mov dword [eax], esi
mov dword [edx + 0x31c], esi
add esp, 0x13914
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x34
xor esi, esi
jmp 0x419917
xor edi, edi
jmp 0x419a04
mov dword [edx + edi*4], 0
inc edi
cmp edi, 0xc8
jb 0x419c0e
jmp 0x419a10
movss xmm4, dword [0x4618ac]
movaps xmm2, xmm4
movss xmm3, dword [0x4618b0]
movaps xmm0, xmm3
jmp 0x419563