Function at 0x140003288
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r12
push r13
push r15
mov rbp, rsp
sub rsp, 0x80
xor r12d, r12d
mov r15, rcx
cmp qword [0x14000e7d0], r12
mov ebx, 0x8000ffff
je 0x1400037f7
cmp qword [0x14000ea20], r12
je 0x1400037f7
cmp qword [0x14000e7e0], r12
je 0x1400037f7
mov qword [rax - 0x78], r12
xor r9d, r9d
mov dword [rax - 0x80], 0x80
xor r8d, r8d
mov edx, 0x40000000
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileW]
nop dword [rax + rax]
mov qword [0x14000e0c0], rax
cmp rax, 0xffffffffffffffff
je 0x1400037c2
xorps xmm0, xmm0
mov qword [rbp - 0x40], r12
xorps xmm1, xmm1
mov qword [rbp - 0x20], r12
lea r13d, [r12 + 1]
mov edx, 0x400
lea rcx, [rbp - 0x30]
mov dword [rbp - 0x38], r13d
movdqu xmmword [rbp - 0x30], xmm0
movdqu xmmword [rbp - 0x18], xmm1
call fcn.14000381c
lea rcx, [rbp - 0x40]
call fcn.140002b74
mov ebx, eax
test eax, eax
js 0x140003780
lea rdx, str.roots
lea rcx, [rbp - 0x40]
call fcn.140002bfc
mov ebx, eax
test eax, eax
js 0x140003780
lea rcx, [rbp - 0x40]
call fcn.140002b74
mov ebx, eax
test eax, eax
js 0x140003780
lea rdx, str.bookmark_bar
lea rcx, [rbp - 0x40]
call fcn.140002bfc
mov ebx, eax
test eax, eax
js 0x140003780
lea rcx, [rbp - 0x40]
call fcn.140002b74
mov ebx, eax
test eax, eax
js 0x140003780
lea edi, [r12 + 3]
mov ecx, edi
lea rdx, [rbp - 0x40]
call fcn.140002d34
mov ebx, eax
test eax, eax
js 0x1400033df
lea r8, str.Bookmarks_bar
lea rdx, str.name
lea rcx, [rbp - 0x40]
call fcn.140003d40
mov ebx, eax
jmp 0x1400033f8
mov r9d, edi
lea rdx, str.GetSortedBookmarksFromParentId
mov r8d, eax
lea rcx, str.FIREFOX
call fcn.140002854
test ebx, ebx
js 0x140003780
lea r8, str.folder
lea rdx, str.type
lea rcx, [rbp - 0x40]
call fcn.140003d40
mov ebx, eax
test eax, eax
js 0x140003780
lea rsi, [0x14000b1d0]
mov r8, r13
mov rdx, rsi
lea rcx, [rbp - 0x30]
call fcn.140003a54
mov ebx, eax
test eax, eax
jne 0x140003453
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x140003453
mov rax, qword [rcx + 8]
mov qword [rbp - 0x40], rax
call fcn.140008a28
test ebx, ebx
js 0x140003780
lea rdx, str.other
lea rcx, [rbp - 0x40]
call fcn.140002bfc
mov ebx, eax
test eax, eax
js 0x140003780
lea rcx, [rbp - 0x40]
call fcn.140002b74
mov ebx, eax
test eax, eax
js 0x140003780
lea rdx, [rbp - 0x40]
mov ecx, 2
call fcn.140002d34
mov ebx, eax
test eax, eax
js 0x1400034b7
lea r8, str.Bookmarks_Menu
lea rdx, str.name
lea rcx, [rbp - 0x40]
call fcn.140003d40
mov ebx, eax
jmp 0x1400034d3
mov r9d, 2
lea rdx, str.GetFolderChildren
mov r8d, eax
lea rcx, str.FIREFOX
call fcn.140002854
test ebx, ebx
js 0x140003780
lea r8, str.folder
lea rdx, str.type
lea rcx, [rbp - 0x40]
call fcn.140003d40
mov ebx, eax
test eax, eax
js 0x140003780
mov r8, r13
lea rcx, [rbp - 0x30]
mov rdx, rsi
call fcn.140003a54
mov ebx, eax
test eax, eax
jne 0x140003527
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x140003527
mov rax, qword [rcx + 8]
mov qword [rbp - 0x40], rax
call fcn.140008a28
test ebx, ebx
js 0x140003780
lea rdx, str.other
lea rcx, [rbp - 0x40]
call fcn.140002bfc
mov ebx, eax
test eax, eax
js 0x140003780
lea rcx, [rbp - 0x40]
call fcn.140002b74
mov ebx, eax
test eax, eax
js 0x140003780
mov edi, 5
lea rdx, [rbp - 0x40]
mov ecx, edi
call fcn.140002d34
mov ebx, eax
test eax, eax
js 0x14000358d
lea r8, str.Unsorted_Bookmarks
lea rdx, str.name
lea rcx, [rbp - 0x40]
call fcn.140003d40
mov ebx, eax
jmp 0x1400035a6
mov r9d, edi
lea rdx, str.GetFolderChildren
mov r8d, eax
lea rcx, str.FIREFOX
call fcn.140002854
test ebx, ebx
js 0x140003780
lea r8, str.folder
lea rdx, str.type
lea rcx, [rbp - 0x40]
call fcn.140003d40
mov ebx, eax
test eax, eax
js 0x140003780
mov r8, r13
lea rcx, [rbp - 0x30]
mov rdx, rsi
call fcn.140003a54
mov ebx, eax
test eax, eax
jne 0x1400035fa
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x1400035fa
mov rax, qword [rcx + 8]
mov qword [rbp - 0x40], rax
call fcn.140008a28
test ebx, ebx
js 0x140003780
mov r8, r13
lea rcx, [rbp - 0x30]
mov rdx, rsi
call fcn.140003a54
mov ebx, eax
test eax, eax
jne 0x14000362d
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14000362d
mov rax, qword [rcx + 8]
mov qword [rbp - 0x40], rax
call fcn.140008a28
test ebx, ebx
js 0x140003780
lea rdx, str.version
lea rcx, [rbp - 0x40]
call fcn.140002bfc
mov ebx, eax
test eax, eax
jne 0x140003660
mov r8d, r13d
lea rdx, [0x14000b1ec]
lea rcx, [rbp - 0x30]
call fcn.1400038b4
mov ebx, eax
test ebx, ebx
js 0x140003780
mov r8, r13
lea rcx, [rbp - 0x30]
mov rdx, rsi
call fcn.140003a54
mov ebx, eax
test eax, eax
jne 0x140003693
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x140003693
mov rax, qword [rcx + 8]
mov qword [rbp - 0x40], rax
call fcn.140008a28
test ebx, ebx
js 0x140003780
lea rdx, [rbp + 0x38]
mov qword [rbp + 0x38], r12
lea rcx, [rbp - 0x40]
mov rsi, r12
call fcn.140002c98
mov rdi, qword [rbp + 0x38]
mov ebx, eax
test eax, eax
js 0x140003708
test rdi, rdi
je 0x1400036f5
mov edx, 0x7fffffff
mov rax, rdi
mov ecx, edx
cmp word [rax], r12w
je 0x1400036d7
add rax, 2
sub rcx, r13
jne 0x1400036c8
mov rax, rcx
neg rax
sbb ebx, ebx
sub rdx, rcx
not ebx
and ebx, 0x80070057
neg rcx
sbb rsi, rsi
and rsi, rdx
jmp 0x1400036fa
mov ebx, 0x80070057
test ebx, ebx
mov rax, r12
cmovns rax, rsi
mov rsi, rax
jmp 0x14000372f
lea r9, [0x14000ae1c]
mov qword [rsp + 0x28], r15
mov r8d, eax
mov qword [rsp + 0x20], r9
lea rdx, str.GetSerializedJSONInCoTaskMemory
lea rcx, str.FIREFOX
call fcn.140002998
test ebx, ebx
js 0x14000376c
mov rcx, qword [0x14000e0c0]
lea r8d, [rsi + rsi]
lea r9, [rbp + 0x38]
mov dword [rbp + 0x38], r12d
mov rdx, rdi
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteFile]
nop dword [rax + rax]
test eax, eax
jne 0x14000376c
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test rdi, rdi
je 0x140003780
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
mov rcx, qword [0x14000e0c0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
jmp 0x1400037a2
mov rax, qword [rcx + 8]
mov qword [rbp - 0x40], rax
call fcn.140008a28
mov rcx, qword [rbp - 0x40]
test rcx, rcx
jne 0x140003795
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x1400037f7
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
jmp 0x1400037f7
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
lea r9, [0x14000ae1c]
mov qword [rsp + 0x28], r15
mov r8d, eax
mov qword [rsp + 0x20], r9
lea rdx, str.CreateTempBookmarkFile
mov ebx, eax
lea rcx, str.FIREFOX
call fcn.140002998
lea r11, [rsp + 0x80]
mov eax, ebx
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r13
pop r12
pop rdi
pop rbp
ret