Function at 0x180065200
Capabilities:
Write file on windows

Disassembly:
test rdx, rdx
je 0x180065704
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 8]
sub rsp, 0x108
mov rax, qword [0x180141040]
xor rax, rsp
mov qword [rbp - 0x40], rax
mov rax, qword [0x1801423a8]
mov rbx, rcx
shl rax, 5
mov rsi, r8
add rax, qword [0x1801414b8]
mov rdi, rdx
vmovaps xmmword [rsp + 0xd0], xmm8
cmp qword [rax + 0x10], 8
lea rcx, [rax + 0x18]
jbe 0x180065259
mov rcx, qword [rcx]
cmp byte [rcx], 0
je 0x180065590
mov r9, qword [r8 + 0x18]
mov qword [rsp + 0x100], r14
lea rcx, [r9 + 0x18]
vmovss xmm1, dword [rcx]
vmovd eax, xmm1
and eax, 0x7f800000
cmp eax, 0x7f800000
setne al
cmp al, 1
jne 0x180065370
mov eax, dword [rcx + 4]
lea r8, [rcx + 4]
and eax, 0x7f800000
cmp eax, 0x7f800000
setne al
cmp al, 1
jne 0x180065370
mov eax, dword [rcx + 8]
lea rdx, [rcx + 8]
and eax, 0x7f800000
cmp eax, 0x7f800000
setne al
cmp al, 1
jne 0x180065370
vmovss xmm0, dword [0x180130750]
vcomiss xmm0, xmm1
vmovss xmm2, dword [0x18013069c]
vmovss dword [rsp + 0x30], xmm2
ja 0x1800652f4
vcomiss xmm1, xmm2
lea rax, [rsp + 0x30]
cmovbe rax, rcx
vmovss xmm0, dword [rax]
vmovss xmm1, dword [0x1801306b8]
vmovss dword [rcx], xmm0
vmovss xmm2, dword [r8]
vmovss xmm0, dword [0x180130758]
vcomiss xmm0, xmm2
vmovss dword [rsp + 0x30], xmm1
ja 0x18006532a
vcomiss xmm2, xmm1
lea rax, [rsp + 0x30]
cmovbe rax, r8
vmovss xmm0, dword [rax]
vmovss xmm1, dword [0x180130684]
vmovss dword [r8], xmm0
vmovss xmm2, dword [rdx]
vmovss xmm0, dword [0x18013074c]
vcomiss xmm0, xmm2
vmovss dword [rsp + 0x30], xmm1
ja 0x180065360
vcomiss xmm2, xmm1
lea rax, [rsp + 0x30]
cmovbe rax, rdx
vmovss xmm0, dword [rax]
xor r14d, r14d
vmovss dword [rdx], xmm0
mov dword [r9 + 0x20], r14d
jmp 0x180065588
xor r14d, r14d
mov dl, 2
mov qword [rcx], r14
mov dword [rcx + 8], r14d
call fcn.180072d40
movabs rax, 0xfd7ad92604c53935
movabs rcx, 0x745d4465e9e53be6
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], rax
movabs rax, 0x6f1904eb2f38d39c
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
movabs rax, 0xa75e4cb5960829bd
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x50], rax
movabs rax, 0x781b4dfeffdb3dd
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x58], rax
movabs rax, 0x22d04e1f9b77a5fb
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x60], rax
movabs rax, 0x8ad840ae4a0811b8
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x68], rax
movabs rax, 0x3d268448c650ee54
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x30], rcx
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x78], rax
movabs rax, 0x9a14b80673a05043
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x80], rax
movabs rax, 0xa6f65830f4bb6f0
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x78], rax
movabs rax, 0xc47e02d4d828489d
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x70], rax
movabs rax, 0x73efd1b1808ddeb2
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x68], rax
movabs rax, 0x43a66e7af30385d7
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x60], rax
movabs rax, 0xf8f833c76a6d64d4
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x58], rax
movabs rax, 0x3d268448b2359d31
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x50], rax
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x40]
mov rax, qword [rsp + 0x30]
vmovdqu xmm0, xmmword [rsp + 0x40]
vpxor xmm3, xmm0, xmmword [rbp - 0x80]
vmovdqu xmm0, xmmword [rsp + 0x50]
vpxor xmm1, xmm0, xmmword [rbp - 0x70]
vmovdqu xmm2, xmmword [rsp + 0x60]
vpxor xmm0, xmm2, xmmword [rbp - 0x60]
vmovdqu xmmword [rsp + 0x50], xmm1
vmovdqu xmm1, xmmword [rsp + 0x70]
mov qword [rbp - 0x48], rax
vpxor xmm2, xmm1, xmmword [rbp - 0x50]
vmovdqu xmmword [rsp + 0x70], xmm2
vmovdqu xmmword [rsp + 0x40], xmm3
vmovdqu xmmword [rsp + 0x60], xmm0
vmovq rax, xmm3
lea rdx, [rsp + 0x40]
mov r8d, edx
test al, al
je 0x18006556b
nop dword [rax]
inc rcx
mov r8, rcx
cmp byte [rcx], r14b
jne 0x180065560
mov rcx, qword [0x180141318]
sub r8d, edx
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x20], r14
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r14, qword [rsp + 0x100]
lea r8, [0x180141b60]
mov rdx, rsi
mov rcx, rdi
call fcn.180065710
mov rax, qword [rbx + 0x50]
mov qword [rbx + 0x50], rax
vmovss xmm0, dword [rdi + 0x50]
vxorps xmm8, xmm8, xmm8
vcomiss xmm0, xmm8
jbe 0x1800655c1
or rax, 8
jmp 0x1800655cb
vcomiss xmm8, xmm0
jbe 0x1800655cf
or rax, 0x10
mov qword [rbx + 0x50], rax
vmovss xmm0, dword [rdi + 0x54]
vcomiss xmm0, xmm8
jbe 0x1800655e2
bts rax, 8
jmp 0x1800655ed
vcomiss xmm8, xmm0
jbe 0x1800655f1
bts rax, 7
mov qword [rbx + 0x50], rax
mov rax, qword [rsi + 0x18]
vmovss xmm1, dword [rax + 0x18]
vucomiss xmm1, xmm8
jp 0x180065623
jne 0x180065623
vmovss xmm0, dword [rax + 0x1c]
vucomiss xmm0, xmm8
jp 0x180065623
jne 0x180065623
vmovss xmm0, dword [rax + 0x20]
vucomiss xmm0, xmm8
jp 0x180065623
je 0x1800656e4
vsubss xmm0, xmm1, dword [0x180141b60]
vmovss xmm1, dword [0x1801306d0]
vmovaps xmmword [rsp + 0xf0], xmm6
vmovaps xmmword [rsp + 0xe0], xmm7
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
mov rax, qword [rsi + 0x18]
vmovss xmm1, dword [0x1801306d0]
vmovaps xmm7, xmm0
vmovss xmm2, dword [rax + 0x1c]
vsubss xmm0, xmm2, dword [0x180141b64]
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
mov rcx, qword [0x180141ef0]
mov rax, qword [0x180141ed8]
vmovss xmm1, dword [0x1801305bc]
vmovaps xmm6, xmm0
vmovss xmm5, dword [rcx + 0x40]
mov rcx, qword [0x180141ee8]
vmovss xmm3, dword [rcx + 0x40]
vcmpeqss xmm2, xmm3, xmm8
vblendvps xmm4, xmm3, xmm1, xmm2
vmulss xmm1, xmm4, dword [rax + 0x40]
vdivss xmm0, xmm7, xmm1
vxorps xmm1, xmm6, xmmword [0x1801309b0]
vmovaps xmm7, xmmword [rsp + 0xe0]
vmovaps xmm6, xmmword [rsp + 0xf0]
vcvttss2si eax, xmm0
movsx ecx, ax
vmulss xmm0, xmm4, xmm5
vdivss xmm1, xmm1, xmm0
vcvttss2si eax, xmm1
mov dword [rdi + 0x68], ecx
movsx ecx, ax
mov dword [rdi + 0x6c], ecx
vmovaps xmm8, xmmword [rsp + 0xd0]
mov rcx, qword [rbp - 0x40]
xor rcx, rsp
call fcn.1800d7380
add rsp, 0x108
pop rdi
pop rsi
pop rbx
pop rbp
ret