Function at 0x1400864c0
Capabilities:
Write file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 8]
sub rsp, 0x108
mov rax, qword [0x1401b4a98]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov r14d, r9d
mov dword [rsp + 0x44], r9d
mov r15, r8
mov qword [rsp + 0x48], r8
mov rdi, rdx
mov rbx, rcx
call fcn.140085e00
test al, al
jne 0x14008653c
mov qword [rsp + 0x28], rbx
lea rax, str.CreateDir_failed_for__s
mov qword [rsp + 0x20], rax
mov r9d, 0x86
lea r8, str.XMLUpdater::v2::NUtils::StoreBufferInFile
lea rdx, str.E:BT5141214d_e130_48fa_889d_d54b39cac869xmlupdater_srcXmlUpdaterFileUtils.cpp
mov ecx, 1
call fcn.14007d3e0
xor al, al
jmp 0x140086a37
lea rax, [0x14017013c]
test rdi, rdi
cmove rdi, rax
xor r13d, r13d
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x40], r13
mov esi, 7
mov qword [rbp - 0x38], rsi
mov word [rbp - 0x50], r13w
mov r12, 0xffffffffffffffff
mov r8, r12
nop dword [rax]
inc r8
cmp word [rdi + r8*2], 0
jne 0x140086570
mov rdx, rdi
lea rcx, [rbp - 0x50]
call fcn.140002fb0
nop
test rbx, rbx
jne 0x1400865a2
movups xmm0, xmmword [rbp - 0x50]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rbp - 0x40]
movups xmmword [rbp - 0x60], xmm1
jmp 0x14008692d
mov qword [rbp - 0x30], r13
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], rsi
mov word [rbp - 0x30], r13w
mov r8, r12
nop word [rax + rax]
inc r8
cmp word [rbx + r8*2], 0
jne 0x1400865c0
mov rdx, rbx
lea rcx, [rbp - 0x30]
call fcn.140002fb0
nop
mov rdx, qword [rbp - 0x20]
test rdx, rdx
jne 0x140086637
movups xmm0, xmmword [rbp - 0x50]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rbp - 0x40]
movups xmmword [rbp - 0x60], xmm1
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x140086632
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008662c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140086a63
call fcn.140074f80
nop
jmp 0x14008692d
lea rax, [rbp - 0x30]
mov r14, qword [rbp - 0x18]
cmp r14, 8
setae r8b
mov byte [rsp + 0x41], r8b
mov rbx, qword [rbp - 0x30]
cmovae rax, rbx
lea r15, [rdx + rdx]
movabs rcx, 0x7ffffffffffffffe
cmp word [rax + r15 - 2], 0x5c
jne 0x1400867d3
mov rax, rcx
sub rax, rdx
mov r13, qword [rbp - 0x40]
cmp rax, r13
jb 0x140086a5d
lea rax, [rbp - 0x30]
test r8b, r8b
cmovne rax, rbx
mov qword [rbp - 0x80], rax
lea r8, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
setae byte [rsp + 0x40]
mov rdi, qword [rbp - 0x50]
cmovae r8, rdi
mov qword [rsp + 0x78], r8
mov qword [rbp - 0x70], 0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
lea rax, [rdx + r13]
mov qword [rsp + 0x70], rax
lea r12, [rbp - 0x70]
cmp rax, 7
jbe 0x140086713
mov rsi, rax
or rsi, 7
cmp rsi, rcx
jbe 0x1400866e0
mov rsi, rcx
jmp 0x1400866ec
mov eax, 0xa
cmp rsi, rax
cmovb rsi, rax
mov rdx, rsi
add rdx, 1
mov rax, 0xffffffffffffffff
cmovb rdx, rax
lea rcx, [rbp - 0x70]
call fcn.14000ce60
mov r12, rax
mov qword [rbp - 0x70], rax
mov rax, qword [rsp + 0x70]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rsi
mov r8, r15
mov rdx, qword [rbp - 0x80]
mov rcx, r12
call fcn.1400fe220
lea rcx, [r12 + r15]
lea r8, [r13*2]
mov rdx, qword [rsp + 0x78]
call fcn.1400fe220
mov rax, qword [rsp + 0x70]
xor r13d, r13d
mov word [r12 + rax*2], r13w
cmp byte [rsp + 0x41], r13b
je 0x14008678a
lea rdx, [r14*2 + 2]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140086781
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140086a63
mov rcx, rbx
call fcn.140074f80
nop
cmp byte [rsp + 0x40], 0
je 0x140086923
mov rdx, qword [rbp - 0x38]
lea rdx, [rdx*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1400867c6
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140086a69
mov rcx, rdi
call fcn.140074f80
jmp 0x140086923
cmp rdx, rcx
je 0x140086a57
lea r12, [rbp - 0x30]
test r8b, r8b
cmovne r12, rbx
mov qword [rsp + 0x50], r13
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
lea r14, [rdx + 1]
mov rbx, rsi
lea rdi, [rsp + 0x50]
cmp r14, rbx
jbe 0x140086847
mov rbx, r14
or rbx, 7
cmp rbx, rcx
jbe 0x140086817
mov rbx, rcx
jmp 0x140086823
mov eax, 0xa
cmp rbx, rax
cmovb rbx, rax
mov rdx, rbx
add rdx, 1
mov rax, 0xffffffffffffffff
cmovb rdx, rax
lea rcx, [rsp + 0x50]
call fcn.14000ce60
mov rdi, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], rbx
mov r8, r15
mov rdx, r12
mov rcx, rdi
call fcn.1400fe220
mov eax, 0x5c
mov word [rdi + r15], ax
mov word [rdi + r14*2], r13w
lea r9, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae r9, qword [rbp - 0x50]
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
mov rax, r8
sub rax, rcx
mov rdx, qword [rbp - 0x40]
cmp rdx, rax
ja 0x1400868c9
lea rdi, [rcx + rdx]
mov qword [rsp + 0x60], rdi
lea rbx, [rsp + 0x50]
cmp r8, 8
cmovae rbx, qword [rsp + 0x50]
lea rcx, [rbx + rcx*2]
lea r8, [rdx + rdx]
mov rdx, r9
call fcn.1400fe220
mov word [rbx + rdi*2], r13w
lea rax, [rsp + 0x50]
jmp 0x1400868de
mov qword [rsp + 0x20], rdx
movzx r8d, byte [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.1400208c0
mov qword [rbp - 0x70], r13
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x60], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], rsi
mov word [rax], r13w
lea rcx, [rsp + 0x50]
call fcn.14000cd60
nop
lea rcx, [rbp - 0x30]
call fcn.14000cd60
nop
lea rcx, [rbp - 0x50]
call fcn.14000cd60
mov r14d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x48]
lea rcx, [rbp - 0x70]
cmp qword [rbp - 0x58], 8
cmovae rcx, qword [rbp - 0x70]
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x2000080
mov dword [rsp + 0x20], 2
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x1400869b4
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [rbp - 0x70]
cmp qword [rbp - 0x58], 8
cmovae rcx, qword [rbp - 0x70]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rcx
lea rax, str.CreateFile_failed_for__s:__d
mov qword [rsp + 0x20], rax
mov r9d, 0x8f
lea r8, str.XMLUpdater::v2::NUtils::StoreBufferInFile
lea rdx, str.E:BT5141214d_e130_48fa_889d_d54b39cac869xmlupdater_srcXmlUpdaterFileUtils.cpp
lea ecx, [rbx + 2]
call fcn.14007d3e0
xor dil, dil
jmp 0x140086a2a
mov qword [rsp + 0x78], rbx
mov dword [rbp - 0x78], r13d
mov qword [rsp + 0x20], r13
lea r9, [rbp - 0x78]
mov r8d, r14d
mov rdx, r15
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x1400869e4
cmp dword [rbp - 0x78], r14d
jne 0x1400869e4
mov dil, 1
jmp 0x140086a1b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x28], eax
lea rax, str.WriteFile_failed:__d
mov qword [rsp + 0x20], rax
mov r9d, 0x97
lea r8, str.XMLUpdater::v2::NUtils::StoreBufferInFile
lea rdx, str.E:BT5141214d_e130_48fa_889d_d54b39cac869xmlupdater_srcXmlUpdaterFileUtils.cpp
mov ecx, 1
call fcn.14007d3e0
xor dil, dil
test rbx, rbx
je 0x140086a2a
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rbp - 0x70]
call fcn.14000cd60
movzx eax, dil
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1400fb890
add rsp, 0x108
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140001790
nop
call fcn.140001790
nop
call fcn.140103230
nop
call fcn.140103230
int3