Function at 0x140014530
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
mov rax, qword [0x1400590c0]
xor rax, rsp
mov qword [rbp - 0x29], rax
mov r13, rdx
mov qword [rbp - 0x71], rcx
xor ebx, ebx
mov dword [rbp - 0x79], ebx
cmp qword [rcx], rbx
je 0x140014944
xor ecx, ecx
call fcn.14002ba54
mov qword [rbp - 0x49], rax
xorps xmm9, xmm9
movsd qword [rbp - 0x69], xmm9
mov dword [rbp - 0x61], ebx
lea rdx, [rbp - 0x49]
lea rcx, [rbp - 0x69]
call fcn.14000c000
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x49], xmm0
mov dword [rbp - 0x49], 0x107b2
mov r12d, 1
mov qword [rbp - 0x43], 0x80001
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x49]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToSystemTime]
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
test eax, eax
je 0x14001462e
lea rdx, [rbp - 0x39]
movsd xmm0, qword [rbp - 0x59]
call qword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
test eax, eax
je 0x14001462e
movzx eax, word [rbp - 0x39]
cmp word [rbp - 0x49], ax
jne 0x14001462e
movzx eax, word [rbp - 0x37]
cmp word [rbp - 0x47], ax
jne 0x14001462e
movzx eax, word [rbp - 0x33]
cmp word [rbp - 0x43], ax
jne 0x14001462e
movzx eax, word [rbp - 0x31]
cmp word [rbp - 0x41], ax
jne 0x14001462e
movzx eax, word [rbp - 0x2f]
cmp word [rbp - 0x3f], ax
jne 0x14001462e
movzx eax, word [rbp - 0x2d]
cmp word [rbp - 0x3d], ax
mov eax, ebx
je 0x140014631
mov eax, r12d
mov dword [rbp - 0x51], eax
movsd xmm6, qword [rbp - 0x69]
movsd xmm8, qword [0x1400457b0]
comisd xmm6, xmm8
ja 0x14001465f
movaps xmm0, xmm6
call fcn.14002bb14
movaps xmm1, xmm6
subsd xmm1, xmm0
movaps xmm6, xmm0
subsd xmm6, xmm1
movsd xmm7, qword [rbp - 0x59]
comisd xmm7, xmm8
ja 0x140014681
movaps xmm0, xmm7
call fcn.14002bb14
movaps xmm1, xmm7
subsd xmm1, xmm0
movaps xmm7, xmm0
subsd xmm7, xmm1
subsd xmm6, xmm7
comisd xmm9, xmm6
ja 0x140014695
movsd xmm8, qword [0x140045790]
addsd xmm6, xmm8
mulsd xmm6, qword [0x1400457a0]
cvttsd2si rax, xmm6
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [0x140045798]
cvttsd2si rbx, xmm0
call fcn.1400033f0
mov rcx, rax
test rax, rax
je 0x140014995
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x39], rax
mov r8, rbx
lea rdx, str._lld_
lea rcx, [rbp - 0x39]
call fcn.1400031a0
nop
call fcn.1400033f0
mov rcx, rax
test rax, rax
je 0x1400149a0
mov rax, qword [rax]
call qword [rax + 0x18]
lea rsi, [rax + 0x18]
mov qword [rsp + 0x38], rsi
mov rdi, qword [rbp - 0x39]
lea r15, [rdi - 0x18]
mov rcx, qword [r15]
test rcx, rcx
je 0x14001472d
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
test rax, rax
jne 0x14001473e
call fcn.1400033f0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x14001497f
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x49], rbx
mov dword [rbp - 0x79], r12d
mov r13, qword [r13]
mov edx, dword [r13 - 0x10]
mov dword [rsp + 0x30], edx
mov ecx, dword [rdi - 0x10]
mov dword [rbp - 0x75], ecx
lea r14d, [rdx + rcx]
test r14d, r14d
js 0x14001498a
sub r12d, dword [rax + 0x10]
mov eax, dword [rax + 0xc]
sub eax, r14d
or eax, r12d
jge 0x14001479a
mov edx, r14d
lea rcx, [rbp - 0x49]
call fcn.1400045e0
mov rbx, qword [rbp - 0x49]
mov ecx, dword [rbp - 0x75]
movsxd rax, ecx
lea r12, [rax + rax]
test r12, r12
je 0x1400147cb
test rbx, rbx
jne 0x1400147bd
call fcn.140023c08
mov dword [rax], 0x16
call fcn.140023ae4
jmp 0x1400147cb
mov r8, r12
mov rdx, rdi
mov rcx, rbx
call fcn.14003f6b0
movsxd r8, dword [rsp + 0x30]
add r8, r8
lea rcx, [r12 + rbx]
je 0x140014804
test rcx, rcx
je 0x1400147f4
test r13, r13
je 0x1400147ed
mov rdx, r13
call fcn.14003f6b0
jmp 0x140014804
xor edx, edx
call fcn.14003fd50
call fcn.140023c08
mov dword [rax], 0x16
call fcn.140023ae4
cmp r14d, dword [rbx - 0xc]
jg 0x14001498a
mov dword [rbx - 0x10], r14d
movsxd rax, r14d
xor r12d, r12d
mov word [rbx + rax*2], r12w
lea r14, [rbx - 0x18]
add rsi, 0xffffffffffffffe8
mov edi, 0xffffffff
cmp r14, rsi
je 0x140014884
cmp dword [rsi + 0x10], r12d
jl 0x140014872
mov rax, qword [rsi]
cmp qword [r14], rax
jne 0x140014872
mov rcx, r14
call fcn.140002eb0
mov rbx, rax
mov ecx, edi
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x140014867
mov r9, qword [rsi]
mov rcx, qword [r9]
mov r8, qword [rcx + 8]
mov rdx, rsi
mov rcx, r9
call r8
lea rax, [rbx + 0x18]
mov qword [rsp + 0x38], rax
jmp 0x140014884
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.1400048b0
nop
mov eax, edi
lock xadd dword [r14 + 0x10], eax
sub eax, 1
jg 0x14001489d
mov rcx, qword [r14]
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + 8]
lea rdx, [0x140044a74]
lea rcx, [rsp + 0x38]
call fcn.140002880
mov qword [rbp - 0x49], r12
mov r9d, 2
lea r8, [rbp - 0x45]
xor edx, edx
mov rsi, qword [rbp - 0x71]
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x1400148d5
call fcn.14000c900
mov rbx, qword [rsp + 0x38]
mov r8d, dword [rbx - 0x10]
add r8d, r8d
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x30]
mov rdx, rbx
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x140014900
call fcn.14000c900
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
jne 0x140014913
call fcn.14000c900
nop
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001492d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lock xadd dword [r15 + 0x10], edi
sub edi, 1
jg 0x140014944
mov rcx, qword [r15]
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + 8]
mov rcx, qword [rbp - 0x29]
xor rcx, rsp
call fcn.14001d590
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.140002a90
nop
mov ecx, 0x80070057
call fcn.140002a90
nop
mov ecx, 0x80004005
call fcn.140002a90
nop
mov ecx, 0x80004005
call fcn.140002a90
int3