Function at 0x1800bc260
Capabilities:
Write file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb90]
sub rsp, 0xc90
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rsp + 0xcd8], rbx
mov rax, qword [0x1801c1080]
xor rax, rsp
mov qword [rbp + 0xb80], rax
mov rax, r8
mov qword [rsp + 0x50], rax
mov rbx, rdx
mov qword [rsp + 0x40], rcx
test rcx, rcx
je 0x1800bc473
mov rdx, rax
cmp qword [r8 + 0x18], 8
jb 0x1800bc2c3
mov rdx, qword [r8]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectory]
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x20]
call fcn.1801099b0
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x440]
call fcn.1801099b0
cmp qword [rbx + 0x18], 8
jb 0x1800bc2fa
mov rbx, qword [rbx]
mov edx, 0x104
lea rcx, [rbp + 0x20]
lea rax, [rbp + 0x20]
sub rbx, rax
nop word [rax + rax]
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x1800bc334
movzx eax, word [rbx + rcx]
test ax, ax
je 0x1800bc334
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1800bc310
jmp 0x1800bc339
test rdx, rdx
jne 0x1800bc33d
sub rcx, 2
xor r13d, r13d
mov word [rcx], r13w
cmp word [rbp + 0x20], r13w
je 0x1800bc3b3
lea rax, [rbp + 0x20]
mov rbx, 0xffffffffffffffff
inc rbx
cmp word [rax + rbx*2], r13w
jne 0x1800bc356
lea rdx, [0x1801823b8]
lea rcx, [rbp + 0x20]
call fcn.180116818
cmp eax, ebx
jge 0x1800bc3b3
sub ebx, eax
lea rax, [rbp + 0x20]
mov rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], r13w
jne 0x1800bc381
sub ecx, ebx
je 0x1800bc3b3
test ebx, ebx
je 0x1800bc3b3
add rbx, rbx
movsxd rax, ecx
lea rdx, [rbp + 0x20]
lea rdx, [rdx + rax*2]
mov r8, rbx
lea rcx, [rbp + 0x20]
call fcn.180109540
mov word [rbp + rbx + 0x20], r13w
mov r14d, r13d
mov r15d, 1
lea rax, [rbp + 0x20]
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp word [rax + rbx*2], r13w
jne 0x1800bc3d0
mov rdi, r13
movsxd r12, ebx
test ebx, ebx
jle 0x1800bc449
lea rsi, [rbp + r12*2 + 0x1e]
nop dword [rax]
test r15d, r15d
je 0x1800bc427
movzx edx, word [rsi]
lea rcx, [0x1801823b8]
call fcn.180109184
test rax, rax
je 0x1800bc40e
inc r14d
jmp 0x1800bc411
mov r15d, r13d
inc rdi
sub rsi, 2
cmp rdi, r12
jl 0x1800bc3f0
test r15d, r15d
je 0x1800bc427
test r14d, r14d
jle 0x1800bc449
sub ebx, r14d
lea rcx, [rbp + 0x20]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r13w
jne 0x1800bc435
cmp eax, ebx
jl 0x1800bc449
mov word [rbp + rbx*2 + 0x20], r13w
lea rcx, [rbp + 0x20]
call fcn.18005df20
mov qword [rsp + 0x48], r13
lea rdx, [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.1800ddef0
test eax, eax
je 0x1800bc47d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, 0x80004005
jmp 0x1800bca3c
cmp dword [rsp + 0x48], r13d
ja 0x1800bc48b
xor eax, eax
jmp 0x1800bca3c
call fcn.1800de470
test eax, eax
jne 0x1800bc46d
lea ecx, [rax + 0x30]
call fcn.18010280c
mov qword [rsp + 0x60], rax
lea rcx, vtable.CSTSmartObjectImpl_struct_ISmartObject_.0
mov qword [rax], rcx
mov dword [rax + 8], r13d
lea rcx, vtable.CMemBufferAlloc.0
mov qword [rax], rcx
mov qword [rax + 0x20], 0x100
mov qword [rax + 0x28], r13
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], r13
mov qword [rbp - 0x78], rax
mov rcx, rax
call sym.cloudinputx64.dll_protected:_void___cdecl_boost::serialization::singleton_class_boost::serialization::extended_type_info_typeid_struct_weasel::CandidateInfo__::constructor_void____ptr64
mov rcx, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1800bc4ec
mov rax, qword [rax]
call qword [rax + 8]
lea rax, vtable.CSmartPtr_class_CMemBufferAlloc_.0
mov qword [rbp - 0x80], rax
nop word [rax + rax]
xor edx, edx
lea r8d, [rdx + 0x50]
lea rcx, [rbp - 0x70]
call fcn.1801099b0
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x650]
call fcn.1801099b0
mov r9d, 0x104
lea r8, [rbp + 0x650]
lea rdx, [rbp - 0x70]
mov rcx, rdi
call fcn.1800de3b0
test eax, eax
je 0x1800bc54b
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1800bca10
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x970]
call fcn.1801099b0
mov dword [rsp + 0x28], 0x104
lea rax, [rbp + 0x970]
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
lea r8, [rbp + 0x650]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x230]
call fcn.1801099b0
mov edx, 0x104
lea rcx, [rbp + 0x230]
lea r8, [rbp + 0x970]
lea rax, [rbp + 0x230]
sub r8, rax
nop
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x1800bc5e5
movzx eax, word [r8 + rcx]
test ax, ax
je 0x1800bc5e5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1800bc5c0
jmp 0x1800bc5ea
test rdx, rdx
jne 0x1800bc5ee
sub rcx, 2
mov word [rcx], r13w
mov r14d, r13d
mov r15d, 1
lea rax, [rbp + 0x230]
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp word [rax + rbx*2], r14w
jne 0x1800bc610
mov rsi, r13
movsxd r12, ebx
test ebx, ebx
jle 0x1800bc6a3
lea rdi, [rbp + r12*2 + 0x22e]
nop dword [rax]
test r15d, r15d
je 0x1800bc667
movzx edx, word [rdi]
lea rcx, [0x1801823b8]
call fcn.180109184
test rax, rax
je 0x1800bc64e
inc r14d
jmp 0x1800bc651
mov r15d, r13d
inc rsi
sub rdi, 2
cmp rsi, r12
jl 0x1800bc630
test r15d, r15d
je 0x1800bc667
test r14d, r14d
jle 0x1800bc69e
sub ebx, r14d
lea rcx, [rbp + 0x230]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x1800bc680
mov rdi, qword [rsp + 0x40]
cmp eax, ebx
jl 0x1800bc6a3
mov word [rbp + rbx*2 + 0x230], r13w
jmp 0x1800bc6a3
mov rdi, qword [rsp + 0x40]
cmp word [rbp + 0x230], 0
je 0x1800bc72c
lea rax, [rbp + 0x230]
mov rbx, 0xffffffffffffffff
nop dword [rax + rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x1800bc6c0
lea rdx, [0x1801823b8]
lea rcx, [rbp + 0x230]
call fcn.180116818
cmp eax, ebx
jge 0x1800bc72c
sub ebx, eax
lea rax, [rbp + 0x230]
mov rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], 0
jne 0x1800bc6f1
sub ecx, ebx
je 0x1800bc72c
test ebx, ebx
je 0x1800bc72c
add rbx, rbx
movsxd rax, ecx
lea rdx, [rbp + 0x230]
lea rdx, [rdx + rax*2]
mov r8, rbx
lea rcx, [rbp + 0x230]
call fcn.180109540
mov word [rbp + rbx + 0x230], r13w
lea rcx, [rbp + 0x230]
call fcn.18005df20
cmp word [rbp + 0x20], 0
je 0x1800bc7f1
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x760]
call fcn.1801099b0
mov edx, 0x104
lea rcx, [rbp + 0x760]
lea r8, [rbp + 0x230]
lea rax, [rbp + 0x760]
sub r8, rax
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x1800bc799
movzx eax, word [r8 + rcx]
test ax, ax
je 0x1800bc799
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1800bc774
jmp 0x1800bc79e
test rdx, rdx
jne 0x1800bc7a2
sub rcx, 2
mov word [rcx], r13w
mov dword [rsp + 0x20], 0x80
lea r9, [rbp + 0x760]
mov r8d, 0x10
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x440]
call qword [sym.imp.SHLWAPI.dll_PathRelativePathToW]
test eax, eax
je 0x1800bca10
lea rdx, [0x18017b744]
lea rcx, [rbp + 0x440]
call fcn.180139ed0
test rax, rax
je 0x1800bc842
jmp 0x1800bca10
mov edx, 0x104
lea rcx, [rbp + 0x440]
lea r8, [rbp + 0x230]
lea rax, [rbp + 0x440]
sub r8, rax
nop
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x1800bc835
movzx eax, word [r8 + rcx]
test ax, ax
je 0x1800bc835
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1800bc810
jmp 0x1800bc83a
test rdx, rdx
jne 0x1800bc83e
sub rcx, 2
mov word [rcx], r13w
test byte [rbp - 0x3c], 0x10
je 0x1800bc8d6
mov rdx, qword [rsp + 0x50]
lea rcx, [rbp - 0x20]
call fcn.1800520d0
nop
mov r8d, 1
lea rdx, [0x180179e58]
lea rcx, [rbp - 0x20]
call fcn.180053290
lea rax, [rbp + 0x440]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x1800bc880
lea rdx, [rbp + 0x440]
lea rcx, [rbp - 0x20]
call fcn.180053290
mov r8d, 1
lea rdx, [0x180179e58]
lea rcx, [rbp - 0x20]
call fcn.180053290
lea rdx, [rbp - 0x20]
cmp qword [rbp - 8], 8
cmovae rdx, qword [rbp - 0x20]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectory]
nop
lea rcx, [rbp - 0x20]
call fcn.18004f5d0
jmp 0x1800bca10
mov ebx, dword [rbp - 0x54]
cmp ebx, 0x50000000
ja 0x1800bca22
mov rcx, rdi
call fcn.1800deb90
test eax, eax
je 0x1800bc8fc
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1800bca10
mov qword [rsp + 0x70], rdi
mov rdx, rbx
mov rcx, qword [rsp + 0x60]
call fcn.1800c0b40
mov rsi, rax
test rax, rax
jne 0x1800bc92b
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop
mov rcx, rdi
call fcn.1800dee70
nop
jmp 0x1800bca10
mov rdx, qword [rsp + 0x50]
lea rcx, [rbp]
call fcn.1800520d0
nop
mov r8d, 1
lea rdx, [0x180179e58]
lea rcx, [rbp]
call fcn.180053290
lea rax, [rbp + 0x440]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x1800bc960
lea rdx, [rbp + 0x440]
lea rcx, [rbp]
call fcn.180053290
lea rcx, [rbp]
cmp qword [rbp + 0x18], 8
cmovae rcx, qword [rbp]
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], 4
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x1800bc9f8
mov qword [rsp + 0x78], rax
mov r8d, ebx
mov rdx, rsi
mov rcx, qword [rsp + 0x40]
call fcn.1800deba0
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x58]
mov r8d, ebx
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1800bc9ee
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rbp]
call fcn.18004f5d0
nop
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.1800dee70
nop
mov rcx, rdi
call fcn.1800de4e0
test eax, eax
je 0x1800bc500
jmp 0x1800bca28
mov r13d, 0x80004005
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x1800bca39
mov rdx, qword [rcx]
call qword [rdx + 0x10]
nop
mov eax, r13d
mov rcx, qword [rbp + 0xb80]
xor rcx, rsp
call fcn.1801027e0
mov rbx, qword [rsp + 0xcd8]
add rsp, 0xc90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret