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

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x780
lea rbp, [rsp + 0x40]
mov qword [rbp + 0x110], 0xfffffffffffffffe
mov qword [rbp + 0x770], rbx
mov qword [rbp + 0x778], rsi
mov qword [rbp + 0x780], rdi
mov rax, qword [0x1801563c0]
xor rax, rbp
mov qword [rbp + 0x730], rax
lea rdx, [0x18010d528]
lea rcx, [rbp]
call fcn.1800041c0
nop
mov rax, qword [0x18015f768]
mov qword [rbp + 0x98], rax
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rax
lea rax, vtable.IEBrowserNode.0
mov qword [rbp + 0x90], rax
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x90]
call fcn.18001f650
nop
mov rax, qword [rbp + 0x20]
mov r8, rax
mov edx, dword [rax - 8]
lea rcx, [rbp]
call fcn.180008324
lea rdx, [0x18010d528]
lea rcx, [rbp + 8]
call fcn.1800041c0
nop
lea rdx, [rbp + 8]
lea r12, vtable.CEntryInstaller.0
mov rcx, r12
call fcn.1800225c4
lea rbx, [0x18015f758]
or r15, 0xffffffffffffffff
xor esi, esi
cmp eax, esi
je 0x180024c8b
mov rax, qword [0x18015f768]
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0xe8], rax
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xf8], rax
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x108], rax
lea rax, vtable.FFBrowserNode.0
mov qword [rbp + 0xd0], rax
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0xd0]
call fcn.18001f650
nop
mov rdi, qword [rbp + 0x40]
mov r8, rdi
mov edx, dword [rdi - 8]
lea rcx, [rbp]
call fcn.180008324
nop
lea rcx, [rdi - 0xc]
cmp rcx, rbx
je 0x180024c7f
mov eax, r15d
lock xadd dword [rcx], eax
add eax, r15d
cmp eax, esi
jg 0x180024c7f
call fcn.1800d1434
nop
lea rcx, [rbp + 0xd0]
call fcn.18001f510
lea rdx, [rbp + 8]
mov rcx, r12
call fcn.180022dac
cmp eax, esi
je 0x180024d02
lea rcx, [rbp + 0x120]
call fcn.180024294
nop
lea rdx, [rbp + 0x38]
lea rcx, [rbp + 0x120]
call fcn.18001f650
nop
mov rdi, qword [rbp + 0x38]
mov r8, rdi
mov edx, dword [rdi - 8]
lea rcx, [rbp]
call fcn.180008324
nop
lea rcx, [rdi - 0xc]
cmp rcx, rbx
je 0x180024cea
mov eax, r15d
lock xadd dword [rcx], eax
add eax, r15d
cmp eax, esi
jg 0x180024cea
call fcn.1800d1434
nop
lea rcx, [rbp + 0x160]
call fcn.1800016ac
lea rcx, [rbp + 0x120]
call fcn.18001f510
lea rdx, [rbp + 8]
mov rcx, r12
call fcn.180022ac4
cmp eax, esi
je 0x180024d8e
mov rax, qword [0x18015f768]
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], rax
lea rax, vtable.OperaBrowserNode.0
mov qword [rbp + 0x50], rax
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x50]
call fcn.18001f650
nop
mov rdi, qword [rbp + 0x30]
mov r8, rdi
mov edx, dword [rdi - 8]
lea rcx, [rbp]
call fcn.180008324
nop
lea rcx, [rdi - 0xc]
cmp rcx, rbx
je 0x180024d85
mov eax, r15d
lock xadd dword [rcx], eax
add eax, r15d
cmp eax, esi
jg 0x180024d85
call fcn.1800d1434
nop
lea rcx, [rbp + 0x50]
call fcn.18001f510
lea rdx, [rbp + 0x10]
lea rcx, [0x180163340]
call fcn.180008f88
nop
mov r9d, reloc.WS2_32.dll_inet_ntoa
lea r8d, [r9 - 7]
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x10]
call fcn.18000b144
nop
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.180003500
nop
mov rcx, qword [rbp + 0x18]
add rcx, 0xfffffffffffffff4
cmp rcx, rbx
je 0x180024dec
mov eax, r15d
lock xadd dword [rcx], eax
add eax, r15d
cmp eax, esi
jg 0x180024dec
mov rcx, qword [rbp + 0x18]
add rcx, 0xfffffffffffffff4
call fcn.1800d1434
lea rcx, [rbp + 0x10]
call fcn.180003f8c
mov rbx, qword [rbp + 0x10]
mov rcx, rbx
call fcn.1800d321c
mov rdi, qword [rbp]
mov eax, dword [rdi - 8]
lea r14d, [rax + rax + 2]
mov r12d, r14d
mov ecx, r14d
call fcn.1800d04fc
mov r13, rax
mov edx, dword [rdi - 8]
inc edx
lea rcx, [rbp]
call fcn.180003ee8
mov rdx, rax
mov r8d, r14d
mov rcx, r13
call fcn.1800d47b0
lea rcx, [rbp]
call fcn.180003f8c
mov rdi, qword [rbp]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rdi - 8], eax
movsxd rcx, eax
mov word [rdi + rcx*2], si
cmp rbx, rsi
jne 0x180024e64
mov r9, rsi
jmp 0x180024ee6
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea edx, [rax + 1]
cmp edx, 0x3fffffff
jle 0x180024e7d
mov r9, rsi
jmp 0x180024ee6
movsxd rax, edx
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x180024e96
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1800f12f0
sub rsp, rcx
lea rdi, [rsp + 0x40]
cmp rdi, rsi
je 0x180024ee3
mov byte [rdi], sil
lea eax, [rdx + rdx]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
mov r9d, r15d
mov r8, rbx
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb r9, r9
and r9, rdi
jmp 0x180024ee6
mov r9, rsi
xor eax, eax
mov rcx, r15
mov rdi, r9
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
lea r8, [rbp + 0x190]
mov rcx, r9
call fcn.18000b5f8
mov rcx, r12
call fcn.1800d04fc
mov rsi, rax
mov r8, r12
mov rdx, r13
mov rcx, rax
call fcn.1800d47b0
lea r8, [rbp + 0x190]
mov edx, r14d
mov rcx, rsi
call fcn.18000b6a8
mov rcx, r13
call fcn.1800d1434
lea rdx, [rbp + 0x520]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x180024fdc
lea r8, [rbp + 0x520]
lea rdx, str._s_sbw.tmp
lea rcx, [rbp + 0x310]
call qword [sym.imp.USER32.dll_wsprintfW]
xor eax, eax
mov rcx, r15
lea rdi, [rbp + 0x310]
repne scasw ax, word [rdi]
not rcx
and qword [rbp + 0x28], rax
mov qword [rsp + 0x20], r15
lea r9, [rbp + 0x310]
mov r8, rcx
lea rdx, [rbp + 0x2a0]
lea rcx, [rbp + 0x28]
call fcn.1800d3abc
lea rdx, [0x180118d08]
lea rcx, [rbp + 0x2a0]
call fcn.1800d23dc
mov rdi, rax
mov r9, rax
mov r8, r12
mov edx, 1
mov rcx, rsi
call fcn.1800d2584
mov rcx, rdi
call fcn.1800d3fd0
mov rcx, rdi
call fcn.1800d26b4
mov rcx, rsi
call fcn.1800d1434
nop
lea rcx, [rbx - 0xc]
lea rdi, [0x18015f758]
cmp rcx, rdi
je 0x180025009
mov eax, r15d
lock xadd dword [rcx], eax
add eax, r15d
test eax, eax
jg 0x180025009
call fcn.1800d1434
nop
mov rcx, qword [rbp + 8]
add rcx, 0xfffffffffffffff4
cmp rcx, rdi
je 0x18002502a
mov eax, r15d
lock xadd dword [rcx], eax
add eax, r15d
test eax, eax
jg 0x18002502a
call fcn.1800d1434
nop
mov rcx, qword [rbp + 0x20]
add rcx, 0xfffffffffffffff4
cmp rcx, rdi
je 0x18002504b
mov eax, r15d
lock xadd dword [rcx], eax
add eax, r15d
test eax, eax
jg 0x18002504b
call fcn.1800d1434
nop
lea rcx, [rbp + 0x90]
call fcn.18001f510
nop
mov rcx, qword [rbp]
add rcx, 0xfffffffffffffff4
cmp rcx, rdi
je 0x180025078
mov eax, r15d
lock xadd dword [rcx], eax
add eax, r15d
test eax, eax
jg 0x180025078
call fcn.1800d1434
mov rcx, qword [rbp + 0x730]
xor rcx, rbp
call fcn.1800d12b0
mov rbx, qword [rbp + 0x770]
mov rsi, qword [rbp + 0x778]
mov rdi, qword [rbp + 0x780]
lea rsp, [rbp + 0x740]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret