Function at 0x1400028e8
Capabilities:
Copy file
Get common file path
Write file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x838]
sub rsp, 0x910
mov rax, qword [0x140015010]
xor rax, rsp
mov qword [rbp + 0x800], rax
mov esi, ecx
mov ebx, 0x208
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x1d0]
call sub.VCRUNTIME140.dll_memset
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x5f0]
call sub.VCRUNTIME140.dll_memset
lea eax, [rsi - 1]
xor r12d, r12d
mov edx, r12d
lea r13d, [r12 + 1]
cmp eax, r13d
setbe dl
lea rax, str.http:__acroipm2.adobe.com_assets_AWBM_R_
lea rdi, str.http:__acroipm2.adobe.com_assets_AWBM_
test edx, edx
cmovne rdi, rax
lea rdx, str.S1.txt
mov rcx, rdi
call fcn.140002838
lea rcx, [rbp + 0x5f0]
call fcn.14000385c
lea rcx, [rbp + 0x1d0]
call fcn.1400020e8
test al, al
je 0x1400031ae
lea rcx, [rbp + 0x1d0]
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r12w
jne 0x1400029aa
test rax, rax
je 0x1400031ae
lea r8, str.GoogleChromeUser_Data_
mov r14d, 0x104
mov edx, r14d
lea rcx, [rbp + 0x1d0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
lea r8, [rbp + 0x5f0]
mov edx, r14d
lea rcx, [rbp + 0x1d0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
lea r8, str.Bookmarks
mov edx, r14d
lea rcx, [rbp + 0x1d0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
xor edx, edx
lea r8d, [r14 + 0xc]
lea rcx, [rbp + 0xc0]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp + 0xc0]
call fcn.140006184
nop
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp + 0xc0]
call fcn.14000609c
cmp qword [rbp + 0x150], r12
je 0x140003144
mov qword [rsp + 0x20], r12
mov word [rsp + 0x28], 1
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm0
mov rax, qword [rbp + 0xc0]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + rcx + 0x108]
mov qword [rsp + 0x20], rax
test rax, rax
sete byte [rsp + 0x28]
mov byte [rsp + 0x29], r12b
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x60]
call fcn.140006e3c
nop
mov r15d, 0x58
mov r8d, r15d
xor edx, edx
lea rcx, [rbp + 0x60]
call sub.VCRUNTIME140.dll_memset
mov dword [rbp + 0x70], r12d
mov r8d, 0x400
lea rcx, [rbp + 0x78]
call fcn.140006804
mov qword [rbp + 0xa8], r12
mov qword [rbp + 0xb0], r12
mov rcx, qword [rbp - 0x50]
add rcx, 2
call fcn.14000af10
mov rbx, rax
mov r8, qword [rbp - 0x50]
add r8, 2
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
lea rdx, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae rdx, qword [rbp - 0x60]
mov r8, qword [rbp - 0x50]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rdx, rbx
lea rcx, [rbp + 0x60]
call fcn.140006f58
cmp qword [rax + 0x48], r12
jne 0x1400030ab
lea rdx, str.roots
lea rcx, [rbp + 0x60]
call fcn.140005430
test al, al
je 0x1400030ab
lea rdx, str.roots
lea rcx, [rbp + 0x60]
call fcn.1400054a8
mov rbx, rax
lea rdx, str.bookmark_bar
mov rcx, rax
call fcn.140005430
test al, al
je 0x1400030a2
lea rdx, str.bookmark_bar
mov rcx, rbx
call fcn.1400054a8
mov rbx, rax
lea rdx, str.children
mov rcx, rax
call fcn.140005430
test al, al
je 0x140003099
lea rdx, str.children
mov rcx, rbx
call fcn.1400054a8
mov rbx, rax
cmp dword [rax + 0x10], 4
jne 0x140003099
cmp dword [rax + 8], r12d
jbe 0x140003099
mov r8d, r15d
xor edx, edx
lea rcx, [rbp - 0x40]
call sub.VCRUNTIME140.dll_memset
mov dword [rbp - 0x30], r12d
mov r8d, 0x400
lea rcx, [rbp - 0x28]
call fcn.140006804
mov qword [rbp + 8], r12
mov qword [rbp + 0x10], r12
lea rcx, [rbp - 0x40]
call fcn.140005578
lea eax, [r15 - 0x55]
mov dword [rbp - 0x30], eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov dword [rsp + 0x40], eax
xorps xmm1, xmm1
movups xmmword [rsp + 0x30], xmm1
mov r9, qword [rbp - 0x28]
lea r8, str.13346689990798272
lea rdx, str.date_added
lea rcx, [rsp + 0x30]
call fcn.140007098
mov r9, qword [rbp - 0x28]
lea r8, [0x14000d1b4]
lea rdx, str.date_last_used
lea rcx, [rsp + 0x30]
call fcn.140007098
mov r9, qword [rbp - 0x28]
lea r8, str.d4d3e7d2_cdf9_4163_bb68_73a465fc09dc
lea rdx, str.guid
lea rcx, [rsp + 0x30]
call fcn.140007098
mov r9, qword [rbp - 0x28]
lea r8, [0x14000d1f8]
lea rdx, [0x14000d1fc]
lea rcx, [rsp + 0x30]
call fcn.140007098
mov r9, qword [rbp - 0x28]
lea r8, str.Adobe_Acrobat
lea rdx, str.name
lea rcx, [rsp + 0x30]
call fcn.140007098
mov r9, qword [rbp - 0x28]
lea r15, [0x14000d218]
mov r8, r15
lea rdx, str.type
lea rcx, [rsp + 0x30]
call fcn.140007098
lea eax, [rsi - 1]
cmp eax, r13d
ja 0x140002cd1
mov r9, qword [rbp - 0x28]
lea r8, str.https:__acrobat.adobe.com__x_api_client_idbookmarkx_api_client_locationReader
mov rdx, r15
lea rcx, [rsp + 0x30]
call fcn.140007098
lea eax, [rsi - 3]
cmp eax, r13d
ja 0x140002cf1
mov r9, qword [rbp - 0x28]
lea r8, str.https:__acrobat.adobe.com__x_api_client_idbookmarkx_api_client_locationAcrobat
mov rdx, r15
lea rcx, [rsp + 0x30]
call fcn.140007098
mov eax, dword [rbx + 8]
mov ecx, dword [rbx + 0xc]
cmp eax, ecx
jb 0x140002d32
test ecx, ecx
jne 0x140002d04
lea esi, [rcx + 0x10]
jmp 0x140002d0b
lea esi, [rcx + rcx]
cmp esi, ecx
jbe 0x140002d32
mov eax, esi
lea r9, [rax + rax*4]
shl r9, 2
lea r8, [rcx + rcx*4]
shl r8, 2
mov rdx, qword [rbx]
mov rcx, qword [rbp - 0x28]
call fcn.140006b94
mov qword [rbx], rax
mov dword [rbx + 0xc], esi
mov eax, dword [rbx + 8]
lea rdx, [rax + rax*4]
mov rcx, qword [rbx]
inc eax
mov dword [rbx + 8], eax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rcx + rdx*4], xmm0
mov eax, dword [rsp + 0x40]
mov dword [rcx + rdx*4 + 0x10], eax
mov dword [rsp + 0x40], r12d
lea rcx, [rbp + 0xc0]
call fcn.140006004
xor edx, edx
mov r8d, 0x20c
lea rcx, [rbp + 0x3e0]
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x20], r12
lea rdx, [rbp + 0x3e0]
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x140003052
lea r8, str.temp_awbm_copy.txt
mov rdx, r14
lea rcx, [rbp + 0x3e0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
lea r8, [0x14000d310]
lea rdx, [rbp + 0x3e0]
lea rcx, [rsp + 0x20]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wfopen_s]
cmp qword [rsp + 0x20], r12
je 0x140003052
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], 0x100
mov rcx, r13
call fcn.14000ac84
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rbp - 0x80], rax
mov rdx, qword [rbp - 0x68]
add rdx, rax
mov qword [rbp - 0x70], rdx
mov qword [rbp - 0x78], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], rax
lea rax, [rsp + 0x70]
mov qword [rbp + 0x20], rax
mov r8d, 0x200
lea rcx, [rbp + 0x28]
call fcn.140006804
nop
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x60]
call fcn.140007168
mov rsi, qword [rbp - 0x78]
lea rax, [rsi + 1]
cmp rax, qword [rbp - 0x70]
jb 0x140002e95
mov rax, qword [rbp - 0x68]
add rax, rax
mov rcx, qword [rbp - 0x80]
sub rsi, rcx
lea rbx, [rsi + 1]
cmp rax, rbx
cmovae rbx, rax
mov rdx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x68], rbx
add rsi, rax
add rax, rbx
mov qword [rbp - 0x70], rax
lea rax, [rsi + 1]
mov qword [rbp - 0x78], rax
mov byte [rsi], r12b
sub qword [rbp - 0x78], r13
mov r15, qword [rbp - 0x80]
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], r12b
or rdx, 0xffffffffffffffff
mov rbx, rdx
inc rbx
cmp byte [r15 + rbx], r12b
jne 0x140002ebd
cmp rbx, 0xf
ja 0x140002eed
mov qword [rsp + 0x60], rbx
mov r8, rbx
mov rdx, r15
lea rcx, [rsp + 0x50]
call sub.VCRUNTIME140.dll_memmove
mov byte [rsp + rbx + 0x50], r12b
mov r14, qword [rsp + 0x50]
jmp 0x140002f4e
movabs rsi, 0x7fffffffffffffff
cmp rbx, rsi
ja 0x140003200
mov rax, rbx
or rax, 0xf
cmp rax, rsi
ja 0x140002f1b
mov rsi, rax
mov ecx, 0x16
cmp rax, rcx
cmovb rsi, rcx
mov rcx, rsi
add rcx, r13
cmovb rcx, rdx
call fcn.140007b80
mov r14, rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rsi
mov r8, rbx
mov rdx, r15
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov byte [r14 + rbx], r12b
mov qword [rsp + 0x50], r14
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rcx, r14
mov r9, qword [rsp + 0x20]
mov r8, r13
mov rdx, qword [rsp + 0x60]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
xor r8d, r8d
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp + 0x3e0]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
lea rdx, str.S7.txt
mov rcx, rdi
call fcn.140002838
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x140002fe1
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002fdc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002fdc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000aa14
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], r12b
mov rbx, qword [rbp + 0x30]
test rbx, rbx
je 0x14000303a
cmp qword [rbx], r12
je 0x140003020
mov rdi, qword [rbx]
mov rcx, rdi
cmp rdi, qword [rbx + 0x10]
je 0x140003020
mov rdi, qword [rdi + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx], rdi
test rdi, rdi
jne 0x140003005
mov rdx, r13
mov rcx, qword [rbx + 0x20]
call fcn.14000aa14
mov edx, 0x28
mov rcx, rbx
call fcn.14000aa14
nop
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, r13
mov rcx, qword [rsp + 0x78]
call fcn.14000aa14
nop
mov rbx, qword [rbp - 0x20]
test rbx, rbx
je 0x1400030bb
cmp qword [rbx], r12
je 0x14000307e
mov rdi, qword [rbx]
mov rcx, rdi
cmp rdi, qword [rbx + 0x10]
je 0x14000307e
mov rdi, qword [rdi + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx], rdi
test rdi, rdi
jne 0x140003063
mov rdx, r13
mov rcx, qword [rbx + 0x20]
call fcn.14000aa14
mov edx, 0x28
mov rcx, rbx
call fcn.14000aa14
jmp 0x1400030bb
lea rdx, str.S6.txt
jmp 0x1400030b2
lea rdx, str.S5.txt
jmp 0x1400030b2
lea rdx, str.S4.txt
mov rcx, rdi
call fcn.140002838
nop
mov rbx, qword [rbp + 0x80]
test rbx, rbx
je 0x140003104
cmp qword [rbx], r12
je 0x1400030ea
mov rdi, qword [rbx]
mov rcx, rdi
cmp rdi, qword [rbx + 0x10]
je 0x1400030ea
mov rdi, qword [rdi + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx], rdi
test rdi, rdi
jne 0x1400030cf
mov rdx, r13
mov rcx, qword [rbx + 0x20]
call fcn.14000aa14
mov edx, 0x28
mov rcx, rbx
call fcn.14000aa14
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x140003154
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000313d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000313d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000aa14
jmp 0x140003154
lea rdx, str.S3.txt
mov rcx, rdi
call fcn.140002838
nop
mov rax, qword [rbp + 0xc0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0xc0], rax
mov rax, qword [rbp + 0xc0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0xbc], edx
lea rcx, [rbp + 0xd0]
call fcn.140005f5c
lea rcx, [rbp + 0xd8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x170]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
jmp 0x1400031d0
lea rdx, [0x14000c978]
lea rcx, str.AddEntryToChromeBookmark::_FAILED_to_get_local_appdata_folder_path
call fcn.1400017b8
lea rdx, str.S2.txt
mov rcx, rdi
call fcn.140002838
mov rcx, qword [rbp + 0x800]
xor rcx, rsp
call fcn.14000a9f0
lea r11, [rsp + 0x910]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400012d0
nop
int3