Function at 0x140034850
Capabilities:
Download url
Get file size
Receive data

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov qword [rbp - 0x80], 0xfffffffffffffffe
mov qword [rsp + 0x1c8], rbx
mov rax, qword [0x140200d38]
xor rax, rsp
mov qword [rbp + 0x60], rax
movsxd r13, r8d
mov r14, rdx
mov rdi, rcx
movdqa xmm0, xmmword [0x1401b5c90]
movdqu xmmword [rbp - 0x10], xmm0
xor r15d, r15d
mov word [rbp - 0x20], r15w
xor r12b, r12b
xor eax, eax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
lea r8, [rsp + 0x30]
mov edx, 0x104
lea rcx, [rbp - 0x58]
call fcn.140023900
nop
mov rax, qword [rbp - 0x50]
mov rsi, qword [rbp - 0x58]
sub rax, rsi
sar rax, 1
cmp qword [rdi + 0x18], 8
jb 0x1400348e1
mov rdi, qword [rdi]
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9d, eax
mov r8, rsi
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.urlmon.dll_URLDownloadToCacheFileW]
test eax, eax
js 0x14003495d
mov r12b, 1
mov rdx, 0xffffffffffffffff
nop word [rax + rax]
inc rdx
cmp word [rsi + rdx*2], 0
jne 0x140034910
mov rax, qword [rbp - 8]
cmp rdx, rax
ja 0x14003494d
lea rbx, [rbp - 0x20]
cmp rax, 8
cmovae rbx, qword [rbp - 0x20]
mov qword [rbp - 0x10], rdx
lea rdi, [rdx + rdx]
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.14013fdb0
mov word [rdi + rbx], r15w
jmp 0x14003495d
mov r9, rsi
xor r8d, r8d
lea rcx, [rbp - 0x20]
call fcn.140014f60
nop
test rsi, rsi
je 0x14003499d
mov rax, qword [rbp - 0x48]
sub rax, rsi
sar rax, 1
lea rdx, [rax + rax]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140034995
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003519e
mov rcx, rsi
call fcn.1401218ec
test r12b, r12b
je 0x140035131
xor eax, eax
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rax
lea rdx, [rbp - 0x20]
lea rcx, [rbp]
call fcn.140030490
nop
mov rdi, qword [rbp + 0x38]
mov esi, 0xffffffff
mov dword [rsp + 0x38], esi
xor eax, eax
mov dword [rsp + 0x3c], eax
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x140034a01
lea rdx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov esi, dword [rsp + 0x38]
test rdi, rdi
je 0x1400350c6
test esi, esi
je 0x1400350c6
movsxd r8, esi
lea rax, [r8 + rdi]
movdqa xmm0, xmmword [0x1401b5ca0]
movdqu xmmword [rbp + 0x50], xmm0
mov byte [rbp + 0x40], 0
cmp rdi, rax
je 0x140034a3c
mov rdx, rdi
lea rcx, [rbp + 0x40]
call fcn.14001d330
nop
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbp - 0x40], 0
movdqa xmm0, xmmword [0x1401b5ca0]
movdqu xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x40], 0
mov r8d, 5
lea rdx, str._____
lea rcx, [rsp + 0x40]
call fcn.14001d330
nop
movdqa xmm0, xmmword [0x1401b5ca0]
movdqu xmmword [rbp - 0x68], xmm0
mov byte [rbp - 0x78], 0
mov r8d, SafeArrayCopy
lea rdx, str._meta.charset_s____
lea rcx, [rbp - 0x78]
call fcn.14001d330
nop
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0x40]
call fcn.1400359f0
movzx r12d, al
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x140034af4
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034aef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400351a4
call fcn.1401218ec
movdqa xmm0, xmmword [0x1401b5ca0]
movdqu xmmword [rbp - 0x68], xmm0
mov byte [rbp - 0x78], 0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x140034b42
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034b3d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400351aa
call fcn.1401218ec
test r12b, r12b
je 0x14003503f
lea r15, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae r15, qword [rbp - 0x40]
lea rbx, [rbp - 0x40]
cmovae rbx, qword [rbp - 0x40]
add r15, qword [rbp - 0x30]
movdqa xmm0, xmmword [0x1401b5c90]
movdqu xmmword [rbp - 0x68], xmm0
xor eax, eax
mov word [rbp - 0x78], ax
mov rdx, r15
sub rdx, rbx
cmp rdx, 8
jb 0x140034b94
lea rcx, [rbp - 0x78]
call fcn.140022110
xor eax, eax
mov qword [rbp - 0x68], rax
mov r8, r15
mov rdx, rbx
lea rcx, [rbp - 0x78]
call fcn.140036e30
nop
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x60]
call fcn.14001e100
mov rcx, rax
call fcn.140033d10
mov r15d, eax
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x140034bfd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034bf8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400351b0
call fcn.1401218ec
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8, rdi
xor edx, edx
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jle 0x14003503c
cmp eax, 0x7a
je 0x14003503c
cmp eax, 0x3ec
je 0x14003503c
cmp eax, 0x57
je 0x14003503c
cmp eax, 0x459
je 0x14003503c
xor ecx, ecx
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rcx
inc eax
movsxd rdx, eax
lea r8, [rsp + 0x30]
lea rcx, [rbp - 0x58]
call fcn.140023900
nop
mov rax, qword [rbp - 0x50]
mov rbx, qword [rbp - 0x58]
sub rax, rbx
sar rax, 1
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, esi
mov r8, rdi
xor edx, edx
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jle 0x140034ff7
cmp eax, 0x7a
je 0x140034ff7
cmp eax, 0x3ec
je 0x140034ff7
cmp eax, 0x57
je 0x140034ff7
xor r15d, r15d
cmp eax, 0x459
je 0x140034ffa
movdqa xmm0, xmmword [0x1401b5c90]
movdqu xmmword [rbp - 0x68], xmm0
mov word [rbp - 0x78], r15w
mov rsi, 0xffffffffffffffff
mov rdx, rsi
inc rdx
cmp word [rbx + rdx*2], r15w
jne 0x140034ce2
lea rcx, [rbp - 0x78]
cmp rdx, 7
ja 0x140034d11
mov qword [rbp - 0x68], rdx
lea rdi, [rdx + rdx]
mov r8, rdi
mov rdx, rbx
call fcn.14013fdb0
mov word [rbp + rdi - 0x78], r15w
jmp 0x140034d1d
mov r9, rbx
xor r8d, r8d
call fcn.140014f60
nop
movdqa xmm0, xmmword [0x1401b5c90]
movdqu xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x60], r15w
lea r9, str.__title_
xor r8d, r8d
lea edx, [r8 + 0xa]
lea rcx, [rsp + 0x60]
call fcn.140014f60
nop
movdqa xmm0, xmmword [0x1401b5c90]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r15w
lea r9, str._title_
xor r8d, r8d
lea edx, [r8 + 9]
lea rcx, [rsp + 0x40]
call fcn.140014f60
nop
mov r9, r14
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x78]
call fcn.140036080
movzx r12d, al
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x140034dd3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034dce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400351b6
call fcn.1401218ec
movdqa xmm0, xmmword [0x1401b5c90]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r15w
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x140034e29
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034e24
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400351bc
call fcn.1401218ec
test r12b, r12b
je 0x140034fb5
mov r8, qword [r14 + 0x10]
cmp r8d, r13d
jle 0x140034fb5
mov rcx, r13
cmp r13, r8
ja 0x140034e5f
mov qword [r14 + 0x10], rcx
mov rax, r14
cmp qword [r14 + 0x18], 8
jb 0x140034e58
mov rax, qword [r14]
mov word [rax + r13*2], r15w
jmp 0x140034eb3
mov rdx, rcx
sub rdx, r8
mov rdi, qword [r14 + 0x18]
mov rax, rdi
sub rax, r8
cmp rdx, rax
ja 0x140034ea2
mov qword [r14 + 0x10], rcx
mov r9, r14
cmp rdi, 8
jb 0x140034e84
mov r9, qword [r14]
lea rdi, [r9 + r8*2]
test rdx, rdx
je 0x140034e97
movzx eax, r15w
mov rcx, rdx
rep stosw word [rdi], ax
lea rax, [rdx + r8]
mov word [r9 + rax*2], r15w
jmp 0x140034eb3
mov word [rsp + 0x20], r15w
mov r9, rdx
mov rcx, r14
call fcn.140016140
mov rax, qword [r14 + 0x18]
cmp rax, 8
jb 0x140034fb5
mov rdi, qword [r14 + 0x10]
cmp rdi, 8
jae 0x140034ed8
mov rcx, r14
call fcn.140021e90
jmp 0x140034fb5
or rdi, 7
movabs rcx, 0x7ffffffffffffffe
cmp rdi, rcx
cmova rdi, rcx
cmp rdi, rax
jae 0x140034fb5
mov rax, rdi
add rax, 1
cmovb rax, rsi
lea rdx, [rax + rax]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
jbe 0x140034f19
mov rdx, rsi
jmp 0x140034f22
cmp rdx, 0x1000
jb 0x140034f49
lea rcx, [rdx + 0x27]
cmp rcx, rdx
cmovbe rcx, rsi
call fcn.1401218b0
test rax, rax
je 0x1400351c2
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140034f5e
test rdx, rdx
je 0x140034f5b
mov rcx, rdx
call fcn.1401218b0
mov rsi, rax
jmp 0x140034f5e
mov rsi, r15
mov r8, qword [r14 + 0x10]
lea r8, [r8*2 + 2]
mov rdx, qword [r14]
mov rcx, rsi
call fcn.14013fdb0
mov rcx, qword [r14]
mov rax, qword [r14 + 0x18]
lea rdx, [rax*2 + 2]
cmp rdx, 0x1000
jb 0x140034fa9
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400351ce
mov rcx, r8
call fcn.1401218ec
mov qword [r14], rsi
mov qword [r14 + 0x18], rdi
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x140034ffa
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034ff0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400351c8
call fcn.1401218ec
jmp 0x140034ffa
xor r15d, r15d
test rbx, rbx
je 0x14003503f
mov rax, qword [rbp - 0x48]
sub rax, rbx
sar rax, 1
lea rdx, [rax + rax]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140035032
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400351d4
mov rcx, rbx
call fcn.1401218ec
jmp 0x14003503f
xor r15d, r15d
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x14003507a
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140035075
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400351da
call fcn.1401218ec
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbp - 0x40], 0
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x1400350c6
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400350c0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400351e0
call fcn.1401218ec
nop
mov rcx, qword [rbp + 0x38]
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, qword [rbp + 0x30]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x28], r15
mov rdx, qword [rbp + 0x18]
cmp rdx, 8
jb 0x140035131
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003512b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400351e6
call fcn.1401218ec
nop
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x14003516d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140035168
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140035198
call fcn.1401218ec
movzx eax, r12b
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.140121cc0
mov rbx, qword [rsp + 0x1c8]
add rsp, 0x170
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1401431ac
nop
call fcn.1401431ac
nop
call fcn.1401431ac
nop
call fcn.1401431ac
int3
call fcn.1401431ac
nop
call fcn.1401431ac
nop
call fcn.1401431ac
int3
call fcn.1401431ac
nop
call fcn.1401431ac
nop
call fcn.1401431ac
nop
call fcn.1401431ac
nop
call fcn.1401431ac
nop
call fcn.1401431ac
nop
call fcn.1401431ac
int3