Function at 0x140040330
Capabilities:
Download url
Get common file path
Receive data

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x2f0]
sub rsp, 0x3f0
mov rax, qword [0x140090040]
xor rax, rsp
mov qword [rbp + 0x2e0], rax
mov rdi, rcx
mov qword [rsp + 0x50], rcx
xor esi, esi
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
mov qword [rbp + 8], rsi
mov qword [rbp + 0x10], 0xf
mov byte [rbp - 8], sil
movups xmmword [rbp - 0x28], xmm0
movdqa xmm1, xmmword [0x140084880]
movdqu xmmword [rbp - 0x18], xmm1
mov byte [rbp - 0x28], sil
add rdx, 0x110
lea rcx, [rbp - 0x48]
call fcn.140004900
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], rax
lea rdx, str._______
lea rcx, [rbp + 0x90]
call fcn.14001a730
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x20], rsi
mov byte [rbp + 0x28], sil
movdqa xmmword [rbp + 0x30], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x40], xmm1
mov qword [rbp + 0x50], rsi
mov byte [rbp + 0x58], sil
mov qword [rbp + 0x60], rsi
mov qword [rbp + 0x68], rsi
mov byte [rbp + 0x70], sil
mov qword [rbp + 0x78], rsi
mov qword [rbp + 0x80], rsi
mov byte [rbp + 0x88], sil
lea rcx, [rbp - 0x48]
mov rax, qword [rbp - 0x48]
mov r8, qword [rbp - 0x30]
cmp r8, 0xf
cmova rcx, rax
mov ebx, esi
movabs r14, 0x2aaaaaaaaaaaaaab
nop dword [rax + rax]
lea rdx, [rbp - 0x48]
cmp r8, 0xf
cmova rdx, rax
add rdx, qword [rbp - 0x38]
mov qword [rsp + 0x28], rcx
lea r9, [rbp + 0x90]
lea r8, [rbp + 0x20]
call fcn.14001f7c0
test al, al
je 0x14004064d
test ebx, ebx
jne 0x140040558
mov rcx, qword [rbp + 0x38]
mov r8, qword [rbp + 0x30]
sub rcx, r8
mov rax, r14
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 1
lea rax, [rbp + 0x78]
jbe 0x1400404b2
lea rax, [r8 + 0x18]
cmp byte [rax + 0x10], 0
je 0x1400404c2
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x50], xmm0
jmp 0x1400404cb
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rsi
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
cmp rdx, r8
jne 0x1400404fc
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
jmp 0x140040509
sub r8, rdx
lea rcx, [rsp + 0x30]
call fcn.1400055d0
mov rdx, qword [rbp + 0x10]
cmp rdx, 0xf
jbe 0x140040544
inc rdx
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004053f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040df9
call fcn.1400491b0
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp - 8], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp + 8], xmm1
jmp 0x14004055d
cmp ebx, 1
je 0x140040570
inc ebx
mov rcx, qword [rbp + 0x60]
mov r8, qword [rbp - 0x30]
mov rax, qword [rbp - 0x48]
jmp 0x140040450
mov rcx, qword [rbp + 0x38]
mov r8, qword [rbp + 0x30]
sub rcx, r8
mov rax, r14
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 1
ja 0x1400405a2
lea rax, [rbp + 0x78]
lea r8, [rbp + 0x88]
jmp 0x1400405aa
lea rax, [r8 + 0x18]
add r8, 0x28
cmp byte [r8], 0
je 0x1400405ba
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x50], xmm0
jmp 0x1400405c3
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
cmp rdx, r8
jne 0x1400405f3
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
jmp 0x140040600
sub r8, rdx
lea rcx, [rsp + 0x30]
call fcn.1400055d0
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x14004063b
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040636
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040df9
call fcn.1400491b0
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp - 0x28], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp - 0x18], xmm1
lea rdx, [rbp + 0x1d0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
jne 0x1400408af
lea rcx, [rsp + 0x30]
call fcn.1400136e0
nop
mov r9d, 0x1a
lea r8, str.Error_downloading_file_to
mov rcx, rax
call fcn.14000b200
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8d, 0x15
lea rdx, str._Cannot_get_Temp_Path
lea rcx, [rsp + 0x50]
call fcn.140004e50
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140040737
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040732
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040dff
call fcn.1400491b0
movdqa xmm0, xmmword [0x140084880]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140040787
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040782
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040e05
call fcn.1400491b0
movdqa xmm0, xmmword [0x140084880]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
lea rcx, [rbp + 0x30]
call fcn.14001a610
nop
lea rcx, [rbp + 0x90]
call fcn.14001ab50
mov rcx, qword [rbp + 0xb0]
test rcx, rcx
je 0x1400407d5
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rax
test rax, rax
je 0x1400407d5
mov rax, qword [rax]
mov edx, 1
call qword [rax]
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0xf
jbe 0x140040810
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004080b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040e0b
call fcn.1400491b0
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x14004085b
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040856
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040e11
call fcn.1400491b0
movdqa xmm0, xmmword [0x140084880]
movdqu xmmword [rbp - 0x18], xmm0
mov byte [rbp - 0x28], 0
mov rdx, qword [rbp + 0x10]
cmp rdx, 0xf
jbe 0x140040dbd
inc rdx
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040db8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040ded
jmp 0x140040db8
lea r8, [rbp - 0x28]
cmp qword [rbp - 0x10], 0xf
cmova r8, qword [rbp - 0x28]
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp + 0xc0]
call qword [sym.imp.SHLWAPI.dll_PathCombineA]
lea rdx, [rbp - 8]
cmp qword [rbp + 0x10], 0xf
cmova rdx, qword [rbp - 8]
mov qword [rsp + 0x20], rsi
xor r9d, r9d
lea r8, [rbp + 0xc0]
xor ecx, ecx
call qword [sym.imp.urlmon.dll_URLDownloadToFileA]
test eax, eax
je 0x140040aae
lea rcx, [rsp + 0x30]
call fcn.1400136e0
nop
mov r9d, 0x1a
lea r8, str.Error_downloading_file_to
mov rcx, rax
call fcn.14000b200
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140040986
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040981
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040e17
call fcn.1400491b0
movdqa xmm0, xmmword [0x140084880]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
lea rcx, [rbp + 0x30]
call fcn.14001a610
nop
lea rcx, [rbp + 0x90]
call fcn.14001ab50
mov rcx, qword [rbp + 0xb0]
test rcx, rcx
je 0x1400409d4
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rax
test rax, rax
je 0x1400409d4
mov rax, qword [rax]
mov edx, 1
call qword [rax]
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0xf
jbe 0x140040a0f
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040a0a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040e1d
call fcn.1400491b0
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x140040a5a
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040a55
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040e23
call fcn.1400491b0
movdqa xmm0, xmmword [0x140084880]
movdqu xmmword [rbp - 0x18], xmm0
mov byte [rbp - 0x28], 0
mov rdx, qword [rbp + 0x10]
cmp rdx, 0xf
jbe 0x140040dbd
inc rdx
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040db8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040df3
jmp 0x140040db8
lea rcx, [rbp - 0x68]
call fcn.1400136e0
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
lea rax, [rbp + 0xc0]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140040ae0
lea rdx, [rbp + 0xc0]
lea rcx, [rsp + 0x30]
call fcn.1400055d0
nop
mov r9d, 0x13
lea r8, str.Downloaded_file_to
lea rcx, [rsp + 0x30]
call fcn.14000b200
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8d, 4
lea rdx, str._on
lea rcx, [rsp + 0x50]
call fcn.140004e50
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x78], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r9, rbx
lea r8, [rsp + 0x78]
mov rcx, rdi
call fcn.140035540
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 0xf
jbe 0x140040bc8
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040bc2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040e29
call fcn.1400491b0
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x140040c05
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040c00
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040e2f
call fcn.1400491b0
movdqa xmm0, xmmword [0x140084880]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140040c55
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040c50
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040e35
call fcn.1400491b0
movdqa xmm0, xmmword [0x140084880]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
mov rdx, qword [rbp - 0x50]
cmp rdx, 0xf
jbe 0x140040ca3
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040c9e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040e3b
call fcn.1400491b0
movdqa xmm0, xmmword [0x140084880]
movdqu xmmword [rbp - 0x58], xmm0
mov byte [rbp - 0x68], 0
lea rcx, [rbp + 0x30]
call fcn.14001a610
nop
lea rcx, [rbp + 0x90]
call fcn.14001ab50
mov rcx, qword [rbp + 0xb0]
test rcx, rcx
je 0x140040cef
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rax
test rax, rax
je 0x140040cef
mov rax, qword [rax]
mov edx, 1
call qword [rax]
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 0xf
jbe 0x140040d2a
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040d25
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040e41
call fcn.1400491b0
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x140040d75
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040d70
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040e47
call fcn.1400491b0
movdqa xmm0, xmmword [0x140084880]
movdqu xmmword [rbp - 0x18], xmm0
mov byte [rbp - 0x28], 0
mov rdx, qword [rbp + 0x10]
cmp rdx, 0xf
jbe 0x140040dbd
inc rdx
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040db8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040de7
call fcn.1400491b0
mov rax, rdi
mov rcx, qword [rbp + 0x2e0]
xor rcx, rsp
call fcn.140049190
lea r11, [rsp + 0x3f0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
call fcn.1400500ac
int3
call fcn.1400500ac
int3
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
nop
call fcn.1400500ac
int3