Function at 0x140006ad0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r14, rdx
mov rdi, rcx
je case.default.0x140006b00
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], rsi
mov rsi, rbx
mov r9, qword [rax]
test r9, r9
je 0x140006b28
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x140006b2a
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x140006b83
test ecx, ecx
jle 0x140006b63
cmp rbx, rbp
mov rcx, r9
cmovl rbp, rbx
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 0x58]
sub rbx, rbp
add r14, rbp
sub dword [rax], ebp
mov rcx, qword [rdi + 0x40]
movsxd rax, ebp
add qword [rcx], rax
test rbx, rbx
jle 0x140006b83
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x140006b83
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
sub rbx, rax
mov rbp, qword [rsp + 0x30]
sub rsi, rbx
mov rbx, qword [rsp + 0x40]
mov rax, rsi
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
add dword [rax], eax
add dl, dh
mulps xmm7, xmmword [rax*4 + 0x494290]
movlpd xmm5, qword [rax*4 + 0x494290]
add eax, eax
movapd xmm6, xmmword [rax*4 + 0x4946a0]
mov edx, 0x7fef
sub edx, ecx
sub ecx, 0x10
or ecx, edx
cmp ecx, 0x80000000
jae 0x14021c767
mov ecx, 0
mov edx, 0x3fe7f
movd xmm1, edx
psubq xmm0, xmm1
psrlq xmm0, 8
cvtdq2pd xmm0, xmm0
movlpd xmm1, qword [0x1406b4027]
movsd xmm3, xmm7
psrlq xmm7, 0x26
pextrw eax, xmm7, 0
andpd xmm4, xmmword [0x1406b3fe5]
jnp 0x14021c50d
add byte [0x14021c5c9], ah
add eax, 1
and eax, 0x1fe
mulsd xmm3, qword [rax*4 + 0x494eb0]
mulsd xmm5, qword [rax*4 + 0x494eb0]
mov al, Ordinal_79
invalid
invalid
add eax, eax
addpd xmm6, xmmword [rax*4 + 0x4952c0]
orpd xmm4, xmmword [0x1406b4027]
addsd xmm6, xmm0
andpd xmm1, xmm4
movsd xmm2, xmm3
shl dword [rsi + 0xf], cl
jae 0x14021c4da
invalid
pextrw eax, xmm3, 0
movlpd xmm0, qword [0x1406b408d]
subsd xmm4, xmm1
movlpd xmm7, qword [0x1406b40a1]
and eax, 0x1ff
add eax, 1
and eax, 0x3fe
mulsd xmm5, qword [rax*4 + 0x495ad0]
mulsd xmm2, qword [rax*4 + 0x495ad0]
addpd xmm6, xmmword [rax*8 + 0x4962e0]
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 [rsp + 0xc]
pextrw eax, xmm1, 3
subsd xmm2, xmm3
subsd xmm0, xmm6
movlpd xmm3, qword [0x1406b410c]
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 0x14021cad8
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 0x14021cecc
subsd xmm4, xmm6
subsd xmm2, xmm4
movlpd xmm4, qword [0x1406b4170]
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 [0x1406b3922]
mulsd xmm4, xmm1
cvtsd2si eax, xmm3
mulsd xmm6, xmm1
movapd xmm1, xmmword [0x1406b3946]
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 0x14021cc50
add ecx, eax
and eax, 0x7f
and ecx, 0xffffff80
add ecx, 0x1ff80
addsd xmm4, xmm0
movsd xmm0, xmm3
addsd xmm3, qword [0x1406b419d]
mulpd xmm2, xmm7
subsd xmm3, qword [0x1406b41a9]
mulpd xmm7, xmm7
subsd xmm0, xmm3
add eax, eax
add eax, eax
add eax, eax
add eax, eax
movapd xmm3, xmmword [rax + 0x497310]
movapd xmm6, xmmword [0x1406b4209]
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 [0x1406b4258]
movd xmm1, ecx
mulsd xmm2, qword [rsp + 0xc]
mulsd xmm0, xmm7
psllq xmm1, 0x2d
pshufd xmm1, xmm1, 0x44
movapd xmm7, xmmword [0x1406b4268]
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 [rsp + 4], xmm0
fld qword [rsp + 4]
add esp, 0x10
ret
movlpd xmm1, qword [rsp + 0xc]
movlpd xmm3, qword [0x1406b42b5]
movd eax, xmm1
movsd xmm2, xmm1
andpd xmm1, xmm3
psrlq xmm1, 0x20
movd ecx, xmm1
cmp ecx, 0x7ff00000
jae 0x14021c870
or eax, ecx
cmp eax, 0
je 0x14021cbbd
cmp edx, 0
jge 0x14021c8af
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 0x14021c998
and eax, 0xff
cmp eax, 0xff
jne 0x14021ca91
movlpd xmm1, qword [rsp + 0xc]
movlpd xmm2, qword [rsp + 0xc]
mov ecx, 0x3f4
movd xmm3, ecx
andpd xmm1, xmmword [0x1406b4362]
psrlq xmm1, 0x34
psubd xmm1, xmm3
movlpd xmm3, qword [0x1406b43d3]
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 0x14021c8b4
mov edx, 0xbfe7f
movlpd xmm3, qword [0x1406b4383]
movlpd xmm2, qword [0x1406b439b]
jmp case.0x14000322d.36
movlpd xmm7, qword [rsp + 4]
movlpd xmm4, qword [rsp + 4]
movd edx, xmm7
psrlq xmm7, 0x20
movd eax, xmm7
mov ecx, eax
and eax, 0x7fffffff
cmp eax, 0x7ff00000
jb 0x14021cb35
ja 0x14021ca7f
cmp edx, 0
ja 0x14021ca7f
jmp 0x14021cb35
mov ecx, 0
xorpd xmm0, xmm0
mov eax, 0x43f0
pinsrw xmm0, eax, 3
movlpd xmm7, qword [0x1406b43ea]
movlpd xmm2, qword [0x1406b4402]
mulsd xmm0, xmm4
movd edx, xmm4
psrlq xmm4, 0x20
movd eax, xmm4
cmp edx, 0
je 0x14021c93a
andpd xmm7, xmm0
movsd xmm4, xmm0
andpd xmm0, xmmword [0x1406b4438]
psrlq xmm0, 0x2c
pextrw eax, xmm0, 0
orpd xmm7, xmm2
and eax, 0xff
add eax, 1
and eax, 0x1fe
mulsd xmm7, qword [rax*4 + 0x494290]
movlpd xmm5, qword [rax*4 + 0x494290]
add eax, eax
movapd xmm6, xmmword [rax*4 + 0x4946a0]
mov edx, 0x43e7f
jmp case.0x14000322d.36
mov edx, eax
and edx, 0x7fffffff
cmp edx, 0
jne 0x14021c8e8
mov edx, dword [rsp + 0x10]
and edx, 0x80000000
cmp edx, 0
je 0x14021c987
shl ecx, 0xd
and eax, ecx
mov edx, 0x7ff00000
or edx, eax
movd xmm0, edx
psllq xmm0, 0x20
movlpd xmm1, qword [0x1406b44a3]
movlpd xmm2, qword [rsp + 4]
divsd xmm1, xmm2
mov edx, reloc.WLDAP32.dll_Ordinal_27
jmp 0x14021cc20
shl ecx, 0xd
and eax, ecx
cmp eax, 0
jne 0x14021ca39
fldz
ret
movlpd xmm3, qword [0x1406b44c0]
xorpd xmm1, xmm1
andpd xmm3, xmm4
pcmpeqd xmm1, xmm3
pmovmskb ecx, xmm1
and ecx, 0xff
cmp ecx, 0xff
jne 0x14021ca7f
pextrw ecx, xmm4, 3
and ecx, 0x8000
cmp ecx, 0
je 0x14021ca63
and eax, 0xff
cmp eax, 0xff
jne 0x14021ca47
movlpd xmm1, qword [rsp + 0xc]
movlpd xmm2, qword [rsp + 0xc]
mov ecx, 0x3f4
movd xmm3, ecx
andpd xmm1, xmmword [0x1406b453f]
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 0x14021ca47
movlpd xmm1, qword [rsp + 0xc]
pextrw eax, xmm1, 3
and eax, 0x8000
cmp eax, 0
je 0x14021ca40
fld qword [0x1406b45df]
ret
fld qword [0x1406b45de]
ret
movlpd xmm1, qword [rsp + 0xc]
pextrw eax, xmm1, 3
and eax, 0x8000
cmp eax, 0
je 0x14021cba7
fldz
ret
movlpd xmm1, qword [rsp + 0xc]
pextrw eax, xmm1, 3
and eax, 0x8000
cmp eax, 0
je 0x14021cba7
fldz
ret
addsd xmm4, xmm4
movsd xmm0, xmm4
mov edx, 0x3ee
jmp 0x14021cc20
movlpd xmm2, qword [rsp + 4]
movd eax, xmm2
psrlq xmm2, 0x20
movd edx, xmm2
and edx, 0x7fffffff
or eax, edx
mov ecx, 0
cmp eax, 0
je 0x14021c93a
movlpd xmm1, qword [0x1406b464a]
movlpd xmm0, qword [0x1406b468a]
mulsd xmm1, xmm1
mov edx, Ordinal_30
jmp 0x14021cc20
movlpd xmm4, qword [rsp + 4]
movlpd xmm2, qword [rsp + 0xc]
movlpd xmm3, qword [0x1406b460c]
xorpd xmm1, xmm1
andpd xmm3, xmm2
pcmpeqd xmm1, xmm3
pmovmskb eax, xmm1
and eax, 0xff
cmp eax, 0xff
jne 0x14021cbae
movd eax, xmm4
cmp eax, 0
jne 0x14021cb35
psrlq xmm4, 0x20
movd edx, xmm4
cmp edx, 0x3ff00000
je 0x14021cc13
cmp edx, 0xbff00000
jne 0x14021cb35
fld1
ret
movlpd xmm3, qword [0x1406b465d]
xorpd xmm1, xmm1
andpd xmm3, xmm2
pcmpeqd xmm1, xmm3
pmovmskb eax, xmm1
and eax, 0xff
cmp eax, 0xff
jne 0x14021cbae
pextrw eax, xmm2, 3
movlpd xmm4, qword [rsp + 4]
and eax, 0x8000
xor ecx, 0xbff00000
or edx, ecx
cmp edx, 0
je 0x14021cc13
cmp eax, 0
je 0x14021cb93
pextrw eax, xmm4, 3
and eax, 0x7ff0
cmp eax, 0x3ff0
jb 0x14021cba7
fldz
ret
pextrw eax, xmm4, 3
and eax, 0x7ff0
cmp eax, 0x3ff0
jae 0x14021cba7
fldz
ret
fld qword [0x1406b473d]
ret
addsd xmm2, xmm2
movsd xmm0, xmm2
mov edx, 0x3ee
jmp 0x14021cc20
movd eax, xmm4
psrlq xmm4, 0x20
movd edx, xmm4
and edx, 0x7fffffff
mov ecx, eax
or eax, edx
movlpd xmm0, qword [0x1406b470c]
mov edx, reloc.WLDAP32.dll_Ordinal_26
cmp eax, 0
je 0x14021cc20
movd eax, xmm4
mov edx, Ordinal_30
and eax, 0x7fffffff
cmp eax, 0x7ff00000
ja 0x14021cc20
jb 0x14021cc02
cmp ecx, 0
ja 0x14021cc20
sub esp, 0x10
movlpd qword [rsp + 4], xmm0
fld qword [rsp + 4]
add esp, 0x10
ret
movlpd xmm0, qword [0x1406b0eab]
mov edx, Ordinal_30
sub esp, 0x1c
movlpd qword [rsp + 0x10], xmm0
mov dword [rsp + 0xc], edx
mov edx, esp
add edx, 0x10
mov dword [rsp + 8], edx
add edx, 0x18
mov dword [rsp + 4], edx
sub edx, 8
mov dword [rsp], edx
call 0x140220718
fld qword [rsp + 0x10]
add esp, 0x1c
ret
cmp eax, 0
jle 0x14021cc7d
cmp eax, 0x40000
jae 0x14021ce9c
push rsi
mov edx, eax
and eax, 0x7f
add ecx, 0x3ff00
sub edx, 0x80
and edx, 0xffffff80
push rdi
mov edi, 0x3ff0
jmp 0x14021cca3
cmp eax, 0xfffc0200
jle 0x14021ce79
push rsi
mov edx, eax
and eax, 0x7f
add ecx, 0x80
and edx, 0xffffff80
add edx, 0x3fe80
push rdi
mov edi, 0
addsd xmm4, xmm0
movsd xmm0, xmm3
addsd xmm3, qword [0x1406b47c3]
mov esi, edx
sub esi, 0x1ff80
mulpd xmm2, xmm7
subsd xmm3, qword [0x1406b47d7]
mulpd xmm7, xmm7
subsd xmm0, xmm3
add eax, eax
add eax, eax
add eax, eax
add eax, eax
movapd xmm3, xmmword [rax + 0x497310]
movapd xmm6, xmmword [0x1406b4837]
mulpd xmm1, xmm7
addpd xmm2, xmm1
pshufd xmm1, xmm2, 0xee
mulsd xmm2, xmm7
addsd xmm2, xmm1
addsd xmm2, xmm4
movlpd xmm4, qword [0x1406b4878]
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 [rsp + 0x14]
mulsd xmm0, xmm7
psllq xmm1, 0x2d
pshufd xmm1, xmm1, 0x44
movapd xmm7, xmmword [0x1406b48ab]
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 rdi
subsd xmm2, xmm1
addsd xmm0, xmm2
addsd xmm0, xmm3
cmp esi, 0
jg 0x14021ce2f
pop rsi
mulsd xmm0, xmm7
mulsd xmm1, xmm7
addsd xmm0, xmm1
mulsd xmm6, xmm0
addsd xmm0, xmm6
pextrw eax, xmm0, 3
and eax, 0x7ff0
mov edx, Ordinal_26
cmp eax, 0x7ff0
je 0x14021cc20
mov edx, Ordinal_26
cmp eax, 0
je 0x14021cc20
sub esp, 0x10
movlpd qword [rsp + 4], xmm0
fld qword [rsp + 4]
add esp, 0x10
ret
pop rsi
addsd xmm0, xmm1
mulsd xmm0, xmm7
mulsd xmm6, xmm0
addsd xmm0, xmm6
pextrw eax, xmm0, 3
and eax, 0x7ff0
mov edx, Ordinal_26
cmp eax, 0x7ff0
je 0x14021cc20
mov edx, Ordinal_26
cmp eax, 0
je 0x14021cc20
sub esp, 0x10
movlpd qword [rsp + 4], xmm0
fld qword [rsp + 4]
add esp, 0x10
ret
movlpd xmm0, qword [0x1406b4a39]
movd xmm1, ecx
mulsd xmm0, xmm0
psllq xmm1, 0x2d
orpd xmm0, xmm1
mov edx, Ordinal_26
jmp 0x14021cc20
mov edx, Ordinal_26
cmp ecx, 0
je 0x14021cebb
movlpd xmm0, qword [0x1406b4a56]
mulsd xmm0, qword [0x1406b4a66]
jmp 0x14021cc20
movlpd xmm0, qword [0x1406b4a73]
mulsd xmm0, xmm0
jmp 0x14021cc20
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 0x14021c5e8
cmp eax, 0x80000000
jb 0x14021cf20
or ecx, 0x1ff80
movd xmm0, ecx
psllq xmm0, 0x2d
sub esp, 0x10
movlpd qword [rsp + 4], xmm0
fld qword [rsp + 4]
add esp, 0x10
ret
movlpd xmm4, qword [rsp + 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 0x14021ce79
jmp 0x14021ce9c