Function at 0x18006b970
Capabilities:
Write file on windows

Disassembly:
test rdx, rdx
je 0x18006be5e
mov qword [rsp + 0x20], rbx
push rbp
push rdi
push r14
lea rbp, [rsp - 0x47]
sub rsp, 0xf0
mov rax, qword [0x180180040]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rax, qword [0x180182ea0]
mov r14, r9
shl rax, 5
mov rdi, r8
add rax, qword [0x180181078]
mov rbx, rdx
movaps xmmword [rsp + 0xe0], xmm7
cmp qword [rax + 0x10], 8
lea rcx, [rax + 0x18]
jbe 0x18006b9cd
mov rcx, qword [rcx]
cmp byte [rcx], 0
je 0x18006bcc4
mov rax, qword [r8 + 0x10]
test al, 1
jne 0x18006b9e6
or rax, 1
mov qword [r8 + 0x10], rax
mov rcx, qword [r8 + 0x18]
add rcx, 0x18
mov qword [rsp + 0x110], rsi
movss xmm1, dword [rcx]
movd eax, xmm1
and eax, 0x7f800000
cmp eax, 0x7f800000
setne al
cmp al, 1
jne 0x18006bae4
mov eax, dword [rcx + 4]
lea r8, [rcx + 4]
and eax, 0x7f800000
cmp eax, 0x7f800000
setne al
cmp al, 1
jne 0x18006bae4
mov eax, dword [rcx + 8]
lea rdx, [rcx + 8]
and eax, 0x7f800000
cmp eax, 0x7f800000
setne al
cmp al, 1
jne 0x18006bae4
movss xmm0, dword [0x180168130]
comiss xmm0, xmm1
mov dword [rbp - 0x79], 0x42b20000
ja 0x18006ba72
comiss xmm1, dword [0x180168080]
lea rax, [rbp - 0x79]
cmovbe rax, rcx
movss xmm0, dword [rax]
movss dword [rcx], xmm0
movss xmm1, dword [r8]
movss xmm0, dword [0x18016813c]
comiss xmm0, xmm1
mov dword [rbp - 0x79], 0x43340000
ja 0x18006baa2
comiss xmm1, dword [0x18016809c]
lea rax, [rbp - 0x79]
cmovbe rax, r8
movss xmm0, dword [rax]
movss dword [r8], xmm0
movss xmm1, dword [rdx]
movss xmm0, dword [0x18016812c]
comiss xmm0, xmm1
mov dword [rbp - 0x79], 0x42340000
ja 0x18006bad2
comiss xmm1, dword [0x180168068]
lea rax, [rbp - 0x79]
cmovbe rax, rdx
movss xmm0, dword [rax]
movss dword [rdx], xmm0
xor esi, esi
mov rax, qword [rdi + 0x18]
mov dword [rax + 0x20], esi
jmp 0x18006bcbc
xor esi, esi
mov dl, 2
mov qword [rcx], rsi
mov dword [rcx + 8], esi
call fcn.1800795c0
movabs rax, 0x17ff023cc67c16fd
movabs rcx, 0x243d609b5edd473a
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x69], rax
movabs rax, 0xe8e6fe55d4a833a8
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x61], rax
movabs rax, 0xbca59527abb59e9d
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x59], rax
movabs rax, 0xdaaa409f88fca49
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x51], rax
movabs rax, 0xb82053d5fd44cf93
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x49], rax
movabs rax, 0x7e93a5e86b279114
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x41], rax
movabs rax, 0xa64e054a705c6664
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x39], rax
mov qword [rbp - 0x79], rcx
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x31], rax
movabs rax, 0x7091631cb1197f8b
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x29], rax
movabs rax, 0x8d909f3df4db56c4
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x21], rax
movabs rax, 0xdf85db46e595ffbd
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x19], rax
movabs rax, 0x79c4c16797ffa726
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x11], rax
movabs rax, 0xd95673b09530efbf
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 9], rax
movabs rax, 0xcb3d6814b42e478
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 1], rax
movabs rax, 0xa64e054a04391501
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp + 7], rax
mov qword [rbp - 0x79], rcx
lea rcx, [rbp - 0x69]
mov rax, qword [rbp - 0x79]
movdqa xmm0, xmmword [rbp - 0x59]
xorps xmm0, xmmword [rbp - 0x19]
movdqa xmm2, xmmword [rbp - 0x69]
movdqa xmm1, xmmword [rbp - 0x49]
xorps xmm2, xmmword [rbp - 0x29]
xorps xmm1, xmmword [rbp - 9]
movdqa xmmword [rbp - 0x59], xmm0
movdqa xmm0, xmmword [rbp - 0x39]
mov qword [rbp + 0xf], rax
xorps xmm0, xmmword [rbp + 7]
movdqa xmmword [rbp - 0x39], xmm0
movdqa xmmword [rbp - 0x69], xmm2
movdqa xmmword [rbp - 0x49], xmm1
movq rax, xmm2
lea rdx, [rbp - 0x69]
mov r8d, edx
test al, al
je 0x18006bca0
inc rcx
mov r8, rcx
cmp byte [rcx], sil
jne 0x18006bc95
mov rcx, qword [0x180180ed8]
sub r8d, edx
lea rdx, [rbp - 0x69]
mov qword [rsp + 0x20], rsi
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rsi, qword [rsp + 0x110]
mov r8, r14
mov rdx, rdi
mov rcx, rbx
call fcn.18006be60
mov rcx, qword [rbx + 0x38]
mov rax, qword [rcx + 0x10]
test al, 1
jne 0x18006bce6
or rax, 1
mov qword [rcx + 0x10], rax
movss xmm0, dword [rbx + 0x50]
xorps xmm7, xmm7
comiss xmm0, xmm7
jbe 0x18006bcfe
mov rax, qword [rbx + 0x38]
or qword [rax + 0x18], 8
jmp 0x18006bd0c
comiss xmm7, xmm0
jbe 0x18006bd0c
mov rax, qword [rbx + 0x38]
or qword [rax + 0x18], 0x10
movss xmm0, dword [rbx + 0x54]
comiss xmm0, xmm7
jbe 0x18006bd24
mov rax, qword [rbx + 0x38]
or qword [rax + 0x18], 0x100
jmp 0x18006bd35
comiss xmm7, xmm0
jbe 0x18006bd35
mov rax, qword [rbx + 0x38]
or qword [rax + 0x18], 0x80
mov rax, qword [rdi + 0x18]
movss xmm2, dword [rax + 0x18]
ucomiss xmm2, xmm7
jp 0x18006bd61
jne 0x18006bd61
movss xmm0, dword [rax + 0x1c]
ucomiss xmm0, xmm7
jp 0x18006bd61
jne 0x18006bd61
movss xmm1, dword [rax + 0x20]
ucomiss xmm1, xmm7
jp 0x18006bd61
je 0x18006be37
subss xmm2, dword [0x180182660]
movss xmm1, dword [0x1801680b4]
movaps xmmword [rsp + 0xd0], xmm8
movaps xmm0, xmm2
call fcn.1800ea834
mov rax, qword [rdi + 0x18]
movaps xmm8, xmm0
movss xmm1, dword [0x1801680b4]
movss xmm0, dword [rax + 0x1c]
subss xmm0, dword [0x180182664]
call fcn.1800ea834
mov rax, qword [0x180182808]
movaps xmm2, xmm0
movss xmm4, dword [rax + 0x40]
mov rax, qword [0x180182820]
movss xmm3, dword [rax + 0x40]
mov rax, qword [0x180182818]
movss xmm1, dword [rax + 0x40]
ucomiss xmm1, xmm7
jp 0x18006bdda
jne 0x18006bdda
movss xmm1, dword [0x180167f6c]
mov rdx, qword [rbx + 0x10]
bt rdx, 0xb
jb 0x18006bdee
bts rdx, 0xb
mov qword [rbx + 0x10], rdx
movaps xmm0, xmm1
mulss xmm0, xmm4
divss xmm8, xmm0
cvttss2si eax, xmm8
movaps xmm8, xmmword [rsp + 0xd0]
movsx ecx, ax
mov dword [rbx + 0x68], ecx
bt rdx, 0xc
jb 0x18006be1e
bts rdx, 0xc
mov qword [rbx + 0x10], rdx
xorps xmm2, xmmword [0x180168510]
mulss xmm1, xmm3
divss xmm2, xmm1
cvttss2si eax, xmm2
movsx ecx, ax
mov dword [rbx + 0x6c], ecx
movaps xmm7, xmmword [rsp + 0xe0]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1800dea20
mov rbx, qword [rsp + 0x128]
add rsp, 0xf0
pop r14
pop rdi
pop rbp
ret