Function at 0x18003b770
Capabilities:
Create thread

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov qword [rsp + 0xa0], 0xfffffffffffffffe
cmp dword [0x1800a9900], 0
jne 0x18003b821
movzx eax, byte [0x1800a98e8]
test al, al
jne 0x18003b7b9
lea rcx, [0x1800a9600]
call fcn.180006570
mov al, byte [0x1800a98e8]
mov rbx, qword [0x1800a9650]
test rbx, rbx
je 0x18003b7ce
cmp dword [0x1800a9658], 0
jne 0x18003b7d5
lea rbx, [0x1800a965c]
test al, al
jne 0x18003b7e5
lea rcx, [0x1800a9600]
call fcn.180006570
mov rdx, qword [0x1800a9638]
test rdx, rdx
je 0x18003b7fa
cmp dword [0x1800a9640], 0
jne 0x18003b801
lea rdx, [0x1800a9644]
mov dword [rsp + 0x20], 0x50030
lea r9, str.Download_with_IDM
mov r8, rbx
xor ecx, ecx
call fcn.18001fcf0
xor eax, eax
jmp 0x18003be0c
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
lea r11, [rsp + 0x48]
mov qword [rsp + 0x20], r11
lea r9, [0x180088588]
xor edx, edx
lea r8d, [rdx + 4]
lea rcx, [0x1800885a8]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
je 0x18003b87f
movsxd r9, eax
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x28], rax
xor r14d, r14d
mov dword [rsp + 0x20], r14d
lea r8, [0x180030760]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x18003bdfc
xor r14d, r14d
mov dword [rsp + 0x5c], r14d
mov dword [rsp + 0x58], 0xa
mov dword [rsp + 0x64], r14d
mov dword [rsp + 0x60], 8
lea ecx, [r14 + 8]
lea r8, [rsp + 0x58]
lea edx, [rcx - 6]
call qword [sym.imp.OLEAUT32.dll_SafeArrayDestroy]
mov rdi, rax
mov qword [rsp + 0x108], rax
test rax, rax
jne 0x18003b8c8
mov eax, 0x80004005
jmp 0x18003be0c
mov qword [rsp + 0x38], r14
cmp dword [0x1800a7880], r14d
je 0x18003b94f
lea r12, [0x1800a7884]
mov r8, r12
mov rax, qword [0x1800a7878]
test rax, rax
cmovne r8, rax
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
or r9d, 0xffffffff
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
test eax, eax
je 0x18003b94f
mov edx, eax
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov qword [rsp + 0x38], rax
test rax, rax
je 0x18003b94f
mov r8, qword [0x1800a7878]
test r8, r8
je 0x18003b935
cmp dword [0x1800a7880], r14d
jne 0x18003b938
mov r8, r12
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
or r9d, 0xffffffff
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r15d, r14d
mov dword [rsp + 0x30], r14d
lea rsi, [0x1800a98f0]
nop
cmp r15d, 0xa
jge 0x18003bd36
movsxd rax, r15d
lea rbx, [rax + rax*2]
shl rbx, 7
cmp dword [rbx + rsi + 0x10], 0
je 0x18003bd29
mov dword [rsp + 0xf8], r15d
mov dword [rsp + 0xfc], r14d
cmp qword [rbx + rsi + 8], 0
je 0x18003b9a6
cmp dword [rbx + rsi + 0x10], 0
je 0x18003b9a6
mov rdx, qword [rbx + rsi + 8]
jmp 0x18003b9ab
lea rdx, [rbx + rsi + 0x14]
lea rcx, [rsp + 0x68]
call fcn.180003e60
nop
mov r13, qword [rsp + 0x68]
mov r8, r13
lea rdx, [rsp + 0xf8]
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SafeArrayCopy]
mov dword [rsp + 0xf8], r15d
mov dword [rsp + 0xfc], 1
mov r12, r14
mov qword [rsp + 0x40], r14
cmp dword [rbx + rsi + 0x28], 0
je 0x18003ba2b
cmp qword [rbx + rsi + 0x20], 0
je 0x18003ba07
cmp dword [rbx + rsi + 0x28], 0
je 0x18003ba07
mov rdx, qword [rbx + rsi + 0x20]
jmp 0x18003ba0c
lea rdx, [rbx + rsi + 0x2c]
lea rcx, [rsp + 0x40]
call fcn.180003f30
mov r12, qword [rsp + 0x40]
test r12, r12
je 0x18003ba2b
mov rcx, r12
call qword [sym.imp.OLEAUT32.dll_VariantInit]
jmp 0x18003ba2e
mov eax, r14d
mov r8, r14
test eax, eax
cmovne r8, r12
lea rdx, [rsp + 0xf8]
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SafeArrayCopy]
mov rsi, r14
mov qword [rsp + 0x50], r14
lea rax, [0x1800a98f0]
cmp dword [rbx + rax + 0xb8], 0
je 0x18003ba97
cmp qword [rbx + rax + 0xb0], 0
je 0x18003ba80
cmp dword [rbx + rax + 0xb8], 0
je 0x18003ba80
mov rdx, qword [rbx + rax + 0xb0]
jmp 0x18003ba88
lea rdx, [rbx + rax + 0xbc]
lea rcx, [rsp + 0x50]
call fcn.180003f30
mov rsi, qword [rsp + 0x50]
mov dword [rsp + 0xf8], r15d
mov dword [rsp + 0xfc], 2
test rsi, rsi
jne 0x18003bab4
mov eax, r14d
jmp 0x18003babd
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov r8, r14
test eax, eax
cmovne r8, rsi
lea rdx, [rsp + 0xf8]
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SafeArrayCopy]
mov dword [rsp + 0xf8], r15d
mov dword [rsp + 0xfc], 3
mov r8, r14
test r15d, r15d
cmove r8, qword [rsp + 0x38]
lea rdx, [rsp + 0xf8]
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SafeArrayCopy]
mov dword [rsp + 0xf8], r15d
mov dword [rsp + 0xfc], 4
xor r8d, r8d
lea rdx, [rsp + 0xf8]
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SafeArrayCopy]
lea rdx, [0x1800a98f0]
mov rdx, qword [rbx + rdx + 0xf8]
mov rcx, r13
call fcn.18001e1f0
mov rdi, rax
mov dword [rsp + 0xf8], r15d
mov dword [rsp + 0xfc], 5
mov r8, rax
lea rdx, [rsp + 0xf8]
mov rcx, qword [rsp + 0x108]
call qword [sym.imp.OLEAUT32.dll_SafeArrayCopy]
test rdi, rdi
je 0x18003bb82
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [rsp + 0xf8], r15d
mov dword [rsp + 0xfc], 6
mov rdi, r14
mov qword [rsp + 0x100], r14
lea rax, [0x1800a98f0]
cmp dword [rbx + rax + 0xa0], 0
je 0x18003bbea
cmp qword [rbx + rax + 0x98], 0
je 0x18003bbd0
cmp dword [rbx + rax + 0xa0], 0
je 0x18003bbd0
mov rdx, qword [rbx + rax + 0x98]
jmp 0x18003bbd8
lea rdx, [rbx + rax + 0xa4]
lea rcx, [rsp + 0x100]
call fcn.180003f30
jmp 0x18003bc6a
cmp dword [rbx + rax + 0xb8], 0
je 0x18003bc82
cmp qword [rbx + rax + 0xb0], 0
je 0x18003bc17
cmp dword [rbx + rax + 0xb8], 0
je 0x18003bc17
mov rdx, qword [rbx + rax + 0xb0]
jmp 0x18003bc1f
lea rdx, [rbx + rax + 0xbc]
lea rcx, [rsp + 0x100]
call fcn.180003f30
lea rcx, str..flv
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x98], rax
mov rcx, rax
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x100]
call fcn.180003d90
nop
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rdi, qword [rsp + 0x100]
test rdi, rdi
je 0x18003bc82
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
jmp 0x18003bc85
mov eax, r14d
mov r8, r14
test eax, eax
cmovne r8, rdi
lea rdx, [rsp + 0xf8]
mov rcx, qword [rsp + 0x108]
call qword [sym.imp.OLEAUT32.dll_SafeArrayCopy]
lea rcx, [0x1800872b0]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x90], rax
mov dword [rsp + 0xf8], r15d
mov dword [rsp + 0xfc], 7
mov r8, rax
lea rdx, [rsp + 0xf8]
mov rcx, qword [rsp + 0x108]
call qword [sym.imp.OLEAUT32.dll_SafeArrayCopy]
nop
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, r12
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, r13
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rdi, qword [rsp + 0x108]
lea rsi, [0x1800a98f0]
inc r15d
mov dword [rsp + 0x30], r15d
jmp 0x18003b960
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
or r9d, 0xffffffff
lea r8, [0x180087720]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
test eax, eax
je 0x18003bd95
mov edx, eax
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov r14, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x18003bd95
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
or r9d, 0xffffffff
lea r8, [0x180087722]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rcx, [rsp + 0x78]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov r11d, 0x2008
mov word [rsp + 0x78], r11w
mov qword [rsp + 0x80], rdi
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea r8, [rsp + 0x78]
mov rdx, r14
call qword [rax + 0x28]
test r14, r14
je 0x18003bdd5
mov rcx, r14
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x18003bde8
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
call qword [sym.imp.ole32.dll_CoUninitialize]
nop
xor eax, eax
jmp 0x18003be0c
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret