Function at 0x42714e
Capabilities:
Write file on windows

Disassembly:
movlpd xmm0, qword [esp + 4]
movlpd xmm7, qword [0x4339a0]
movlpd xmm2, qword [0x4339b0]
andpd xmm7, xmm0
movsd xmm4, xmm0
psrlq xmm0, 0x2c
pextrw eax, xmm0, 0
orpd xmm7, xmm2
pextrw ecx, xmm4, 3
and eax, 0xff
add eax, 1
and eax, 0x1fe
mulsd xmm7, qword [eax*4 + 0x430110]
movlpd xmm5, qword [eax*4 + 0x430110]
add eax, eax
movapd xmm6, xmmword [eax*4 + 0x430520]
mov edx, 0x7fef
sub edx, ecx
sub ecx, 0x10
or ecx, edx
cmp ecx, 0x80000000
jae 0x426d57
mov ecx, 0
mov edx, 0x3fe7f
movd xmm1, edx
psubq xmm0, xmm1
psrlq xmm0, 8
cvtdq2pd xmm0, xmm0
movlpd xmm1, qword [0x4339f8]
movsd xmm3, xmm7
psrlq xmm7, 0x26
pextrw eax, xmm7, 0
andpd xmm4, xmmword [0x4339a0]
and eax, 0xff
add eax, 1
and eax, 0x1fe
mulsd xmm3, qword [eax*4 + 0x430d30]
mulsd xmm5, qword [eax*4 + 0x430d30]
add eax, eax
addpd xmm6, xmmword [eax*4 + 0x431140]
orpd xmm4, xmmword [0x4339b0]
addsd xmm6, xmm0
andpd xmm1, xmm4
movsd xmm2, xmm3
psrlq xmm3, 0x1f
pextrw eax, xmm3, 0
movlpd xmm0, qword [0x4339f8]
subsd xmm4, xmm1
movlpd xmm7, qword [0x433a00]
and eax, 0x1ff
add eax, 1
and eax, 0x3fe
mulsd xmm5, qword [eax*4 + 0x431950]
mulsd xmm2, qword [eax*4 + 0x431950]
addpd xmm6, xmmword [eax*8 + 0x432160]
andpd xmm0, xmm5
subsd xmm5, xmm0
addsd xmm7, xmm2
movsd xmm3, xmm0
mulsd xmm0, xmm1
mulsd xmm1, xmm5
mulsd xmm3, xmm4
subsd xmm2, xmm0
mulsd xmm4, xmm5
movsd xmm0, xmm6
subsd xmm2, xmm1
addsd xmm6, xmm7
movlpd xmm1, qword [esp + 0xc]
pextrw eax, xmm1, 3
subsd xmm2, xmm3
subsd xmm0, xmm6
movlpd xmm3, qword [0x4339f8]
pextrw edx, xmm6, 3
subsd xmm2, xmm4
movsd xmm4, xmm6
addsd xmm0, xmm7
subsd xmm7, xmm2
subsd xmm6, xmm2
unpcklpd xmm7, xmm7
and eax, 0x7ff0
cmp eax, 0x7ff0
jae 0x4270c8
and edx, 0x7ff0
sub eax, 0x3ff0
add eax, edx
mov edx, 0x40a0
sub edx, eax
sub eax, 0x3c70
or edx, eax
cmp edx, 0x80000000
jae 0x4274b1
subsd xmm4, xmm6
subsd xmm2, xmm4
movlpd xmm4, qword [0x4339f8]
andpd xmm3, xmm1
andpd xmm4, xmm6
subsd xmm0, xmm2
xorpd xmm2, xmm2
mov edx, 0x4060
pinsrw xmm2, edx, 3
movsd xmm5, xmm3
mulsd xmm3, xmm4
subsd xmm6, xmm4
subsd xmm1, xmm5
mulsd xmm3, xmm2
mulsd xmm5, xmm6
movapd xmm2, xmmword [0x433170]
mulsd xmm4, xmm1
cvtsd2si eax, xmm3
mulsd xmm6, xmm1
movapd xmm1, xmmword [0x433180]
addsd xmm5, xmm4
pshufd xmm4, xmm6, 0xee
addsd xmm5, xmm6
mov edx, 0x1ff7f
sub edx, eax
add eax, 0x1e1ff
or edx, eax
sub eax, 0x1e1ff
cmp edx, 0
jle 0x427241
add ecx, eax
and eax, 0x7f
and ecx, 0xffffff80
add ecx, 0x1ff80
addsd xmm4, xmm0
movsd xmm0, xmm3
addsd xmm3, qword [0x433990]
mulpd xmm2, xmm7
subsd xmm3, qword [0x433990]
mulpd xmm7, xmm7
subsd xmm0, xmm3
add eax, eax
add eax, eax
add eax, eax
add eax, eax
movapd xmm3, xmmword [eax + 0x433190]
movapd xmm6, xmmword [0x4339d0]
mulpd xmm1, xmm7
addpd xmm2, xmm1
pshufd xmm1, xmm2, 0xee
mulsd xmm2, xmm7
xorpd xmm7, xmm7
mov edx, 0x3f80
addsd xmm2, xmm1
pinsrw xmm7, edx, 3
addsd xmm2, xmm4
movlpd xmm4, qword [0x4339f0]
movd xmm1, ecx
mulsd xmm2, qword [esp + 0xc]
mulsd xmm0, xmm7
psllq xmm1, 0x2d
pshufd xmm1, xmm1, 0x44
movapd xmm7, xmmword [0x4339e0]
addsd xmm5, xmm2
mulpd xmm3, xmm1
addsd xmm0, xmm5
unpcklpd xmm0, xmm0
mulpd xmm6, xmm0
mulsd xmm4, xmm0
mulpd xmm0, xmm0
addpd xmm7, xmm6
mulpd xmm7, xmm0
mulsd xmm0, xmm3
pshufd xmm6, xmm7, 0xee
mulsd xmm0, xmm7
pshufd xmm5, xmm3, 0xee
mulsd xmm6, xmm3
mulsd xmm4, xmm3
addsd xmm0, xmm5
sub esp, 0x10
addsd xmm0, xmm6
addsd xmm0, xmm4
addsd xmm0, xmm3
movlpd qword [esp + 4], xmm0
fld qword [esp + 4]
add esp, 0x10
ret
movlpd xmm1, qword [esp + 0xc]
movlpd xmm3, qword [0x4339c0]
movd eax, xmm1
movsd xmm2, xmm1
andpd xmm1, xmm3
psrlq xmm1, 0x20
movd ecx, xmm1
cmp ecx, 0x7ff00000
jae 0x426e60
or eax, ecx
cmp eax, 0
je 0x4271a4
cmp edx, 0
jge 0x426e9f
neg edx
add edx, 0x7fef
psllq xmm3, 0x34
orpd xmm2, xmm3
mov ecx, 0x3f3
movd xmm3, ecx
psrlq xmm1, 0x14
psubd xmm1, xmm3
pxor xmm3, xmm3
pmaxsw xmm1, xmm3
psllq xmm2, xmm1
pcmpeqd xmm2, xmm3
pmovmskb eax, xmm2
mov ecx, edx
and edx, 0x7fff
cmp edx, 0x7ff0
jae 0x426f88
and eax, 0xff
cmp eax, 0xff
jne 0x427081
movlpd xmm1, qword [esp + 0xc]
movlpd xmm2, qword [esp + 0xc]
mov ecx, 0x3f4
movd xmm3, ecx
andpd xmm1, xmmword [0x4339c0]
psrlq xmm1, 0x34
psubd xmm1, xmm3
movlpd xmm3, qword [0x433a20]
psllq xmm2, xmm1
pcmpeqd xmm2, xmm3
pmovmskb eax, xmm2
and eax, 0xff
mov ecx, 0x3ff01
add ecx, eax
and ecx, 0x40000
cmp edx, 0x10
jb 0x426ea4
mov edx, 0xbfe7f
movlpd xmm3, qword [0x4339a0]
movlpd xmm2, qword [0x4339b0]
jmp 0x426a86
movlpd xmm7, qword [esp + 4]
movlpd xmm4, qword [esp + 4]
movd edx, xmm7
psrlq xmm7, 0x20
movd eax, xmm7
mov ecx, eax
and eax, 0x7fffffff
cmp eax, 0x7ff00000
jb 0x42711c
ja 0x42706f
cmp edx, 0
ja 0x42706f
jmp 0x42711c
mov ecx, 0
xorpd xmm0, xmm0
mov eax, 0x43f0
pinsrw xmm0, eax, 3
movlpd xmm7, qword [0x4339a0]
movlpd xmm2, qword [0x4339b0]
mulsd xmm0, xmm4
movd edx, xmm4
psrlq xmm4, 0x20
movd eax, xmm4
cmp edx, 0
je 0x426f2a
andpd xmm7, xmm0
movsd xmm4, xmm0
andpd xmm0, xmmword [0x4339c0]
psrlq xmm0, 0x2c
pextrw eax, xmm0, 0
orpd xmm7, xmm2
and eax, 0xff
add eax, 1
and eax, 0x1fe
mulsd xmm7, qword [eax*4 + 0x430110]
movlpd xmm5, qword [eax*4 + 0x430110]
add eax, eax
movapd xmm6, xmmword [eax*4 + 0x430520]
mov edx, 0x43e7f
jmp 0x426a86
mov edx, eax
and edx, 0x7fffffff
cmp edx, 0
jne 0x426ed8
mov edx, dword [esp + 0x10]
and edx, 0x80000000
cmp edx, 0
je 0x426f77
shl ecx, 0xd
and eax, ecx
mov edx, 0x7ff00000
or edx, eax
movd xmm0, edx
psllq xmm0, 0x20
movlpd xmm1, qword [0x4339b0]
movlpd xmm2, qword [esp + 4]
divsd xmm1, xmm2
mov edx, 0x1b
jmp 0x427211
shl ecx, 0xd
and eax, ecx
cmp eax, 0
jne 0x427029
fldz
ret
movlpd xmm3, qword [0x4339a0]
xorpd xmm1, xmm1
andpd xmm3, xmm4
pcmpeqd xmm1, xmm3
pmovmskb ecx, xmm1
and ecx, 0xff
cmp ecx, 0xff
jne 0x42706f
pextrw ecx, xmm4, 3
and ecx, 0x8000
cmp ecx, 0
je 0x427053
and eax, 0xff
cmp eax, 0xff
jne 0x427037
movlpd xmm1, qword [esp + 0xc]
movlpd xmm2, qword [esp + 0xc]
mov ecx, 0x3f4
movd xmm3, ecx
andpd xmm1, xmmword [0x4339c0]
psrlq xmm1, 0x34
psubd xmm1, xmm3
pxor xmm3, xmm3
psllq xmm2, xmm1
pcmpeqd xmm2, xmm3
pmovmskb eax, xmm2
and eax, 0xff
cmp eax, 0xff
je 0x427037
movlpd xmm1, qword [esp + 0xc]
pextrw eax, xmm1, 3
and eax, 0x8000
cmp eax, 0
je 0x427030
fld qword [0x433a20]
ret
fld qword [0x433a18]
ret
movlpd xmm1, qword [esp + 0xc]
pextrw eax, xmm1, 3
and eax, 0x8000
cmp eax, 0
je 0x42718e
fldz
ret
movlpd xmm1, qword [esp + 0xc]
pextrw eax, xmm1, 3
and eax, 0x8000
cmp eax, 0
je 0x42718e
fldz
ret
addsd xmm4, xmm4
movsd xmm0, xmm4
mov edx, 0x3ee
jmp 0x427211
movlpd xmm2, qword [esp + 4]
movd eax, xmm2
psrlq xmm2, 0x20
movd edx, xmm2
and edx, 0x7fffffff
or eax, edx
mov ecx, 0
cmp eax, 0
je 0x426f2a
movlpd xmm1, qword [0x433a08]
movlpd xmm0, qword [0x433a30]
mulsd xmm1, xmm1
mov edx, 0x1c
jmp 0x427211
movlpd xmm4, qword [esp + 4]
movlpd xmm2, qword [esp + 0xc]
movd eax, xmm4
cmp eax, 0
jne 0x42711c
psrlq xmm4, 0x20
movd edx, xmm4
cmp edx, 0x3ff00000
je 0x4271fa
cmp edx, 0xbff00000
jne 0x42711c
movlpd xmm3, qword [0x4339a0]
xorpd xmm1, xmm1
andpd xmm3, xmm2
pcmpeqd xmm1, xmm3
pmovmskb eax, xmm1
cmp eax, 0xff
jne 0x427195
fld1
ret
movlpd xmm3, qword [0x4339a0]
xorpd xmm1, xmm1
andpd xmm3, xmm2
pcmpeqd xmm1, xmm3
pmovmskb eax, xmm1
and eax, 0xff
cmp eax, 0xff
jne 0x427195
pextrw eax, xmm2, 3
movlpd xmm4, qword [esp + 4]
and eax, 0x8000
xor ecx, 0xbff00000
or edx, ecx
cmp edx, 0
je 0x4271fa
cmp eax, 0
je 0x42717a
pextrw eax, xmm4, 3
and eax, 0x7ff0
cmp eax, 0x3ff0
jb 0x42718e
fldz
ret
pextrw eax, xmm4, 3
and eax, 0x7ff0
cmp eax, 0x3ff0
jae 0x42718e
fldz
ret
fld qword [0x433a10]
ret
addsd xmm2, xmm2
movsd xmm0, xmm2
mov edx, 0x3ee
jmp 0x427211
movd eax, xmm4
psrlq xmm4, 0x20
movd edx, xmm4
and edx, 0x7fffffff
mov ecx, eax
or eax, edx
movlpd xmm0, qword [0x4339b0]
mov edx, 0x1a
cmp eax, 0
je 0x427211
movd eax, xmm4
mov edx, 0x1d
and eax, 0x7fffffff
cmp eax, 0x7ff00000
ja 0x427211
jb 0x4271e9
cmp ecx, 0
ja 0x427211
sub esp, 0x10
movlpd qword [esp + 4], xmm0
fld qword [esp + 4]
add esp, 0x10
ret
movlpd xmm1, qword [0x433a30]
movlpd xmm0, qword [esp + 0xc]
addsd xmm0, xmm1
mov edx, 0x1c
sub esp, 0x1c
movlpd qword [esp + 0x10], xmm0
mov dword [esp + 0xc], edx
mov edx, esp
add edx, 0x10
mov dword [esp + 8], edx
add edx, 0x18
mov dword [esp + 4], edx
sub edx, 8
mov dword [esp], edx
call fcn.0042658a
fld qword [esp + 0x10]
add esp, 0x1c
ret
cmp eax, 0
jle 0x42726e
cmp eax, 0x40000
jae 0x42748d
push esi
mov edx, eax
and eax, 0x7f
add ecx, 0x3ff00
sub edx, 0x80
and edx, 0xffffff80
push edi
mov edi, 0x3ff0
jmp 0x427294
cmp eax, 0xfffc0200
jle 0x42746a
push esi
mov edx, eax
and eax, 0x7f
add ecx, 0x80
and edx, 0xffffff80
add edx, 0x3fe80
push edi
mov edi, 0
addsd xmm4, xmm0
movsd xmm0, xmm3
addsd xmm3, qword [0x433990]
mov esi, edx
sub esi, 0x1ff80
mulpd xmm2, xmm7
subsd xmm3, qword [0x433990]
mulpd xmm7, xmm7
subsd xmm0, xmm3
add eax, eax
add eax, eax
add eax, eax
add eax, eax
movapd xmm3, xmmword [eax + 0x433190]
movapd xmm6, xmmword [0x4339d0]
mulpd xmm1, xmm7
addpd xmm2, xmm1
pshufd xmm1, xmm2, 0xee
mulsd xmm2, xmm7
addsd xmm2, xmm1
addsd xmm2, xmm4
movlpd xmm4, qword [0x4339f0]
movd xmm1, edx
sub edx, 0x1ff80
neg edx
sar edx, 7
add edx, 2
mov eax, edx
and eax, 0x20
add edx, eax
xorpd xmm7, xmm7
mov eax, 0x3f80
pinsrw xmm7, eax, 3
mulsd xmm2, qword [esp + 0x14]
mulsd xmm0, xmm7
psllq xmm1, 0x2d
pshufd xmm1, xmm1, 0x44
movapd xmm7, xmmword [0x4339e0]
addsd xmm5, xmm2
mulpd xmm3, xmm1
addsd xmm0, xmm5
unpcklpd xmm0, xmm0
mulpd xmm6, xmm0
mulsd xmm4, xmm0
mulpd xmm0, xmm0
addpd xmm7, xmm6
mulpd xmm7, xmm0
mulsd xmm0, xmm3
pshufd xmm6, xmm7, 0xee
mulsd xmm0, xmm7
pshufd xmm5, xmm3, 0xee
mulsd xmm6, xmm3
mulsd xmm4, xmm3
movd xmm7, ecx
psllq xmm7, 0x2d
movd xmm2, edx
pcmpeqd xmm1, xmm1
psllq xmm1, xmm2
addsd xmm0, xmm5
addsd xmm0, xmm6
andpd xmm1, xmm3
addsd xmm0, xmm4
xorpd xmm6, xmm6
pcmpeqd xmm4, xmm4
psllq xmm4, xmm2
subsd xmm3, xmm1
movsd xmm2, xmm1
addsd xmm1, xmm0
andpd xmm1, xmm4
pinsrw xmm6, edi, 3
pop edi
subsd xmm2, xmm1
addsd xmm0, xmm2
addsd xmm0, xmm3
cmp esi, 0
jg 0x427420
pop esi
mulsd xmm0, xmm7
mulsd xmm1, xmm7
addsd xmm0, xmm1
mulsd xmm6, xmm0
addsd xmm0, xmm6
pextrw eax, xmm0, 3
and eax, 0x7ff0
mov edx, 0x18
cmp eax, 0x7ff0
je 0x427211
mov edx, 0x19
cmp eax, 0
je 0x427211
sub esp, 0x10
movlpd qword [esp + 4], xmm0
fld qword [esp + 4]
add esp, 0x10
ret
pop esi
addsd xmm0, xmm1
mulsd xmm0, xmm7
mulsd xmm6, xmm0
addsd xmm0, xmm6
pextrw eax, xmm0, 3
and eax, 0x7ff0
mov edx, 0x18
cmp eax, 0x7ff0
je 0x427211
mov edx, 0x19
cmp eax, 0
je 0x427211
sub esp, 0x10
movlpd qword [esp + 4], xmm0
fld qword [esp + 4]
add esp, 0x10
ret
movlpd xmm0, qword [0x433a28]
movd xmm1, ecx
mulsd xmm0, xmm0
psllq xmm1, 0x2d
orpd xmm0, xmm1
mov edx, 0x19
jmp 0x427211
mov edx, 0x18
cmp ecx, 0
je 0x4274a4
movlpd xmm0, qword [0x433a18]
jmp 0x427211
movlpd xmm0, qword [0x433a10]
jmp 0x427211
pshufd xmm4, xmm1, 0x44
mulpd xmm4, xmm6
pextrw eax, xmm4, 3
and eax, 0x7ff0
mov edx, 0x40a0
sub edx, eax
sub eax, 0x3c70
or edx, eax
cmp edx, 0x80000000
jb 0x426bd8
cmp eax, 0x80000000
jb 0x427505
or ecx, 0x1ff80
movd xmm0, ecx
psllq xmm0, 0x2d
sub esp, 0x10
movlpd qword [esp + 4], xmm0
fld qword [esp + 4]
add esp, 0x10
ret
movlpd xmm4, qword [esp + 4]
pextrw edx, xmm4, 3
and edx, 0x7ff0
sub edx, 0x3ff0
pextrw eax, xmm1, 3
xor eax, edx
and eax, 0x8000
cmp eax, 0
jne 0x42746a
jmp 0x42748d