Function at 0x14009c914
Capabilities:
Create thread

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov rax, qword [0x140109328]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov r14, r8
mov rbx, rdx
mov rsi, rcx
lea rax, [0x140106190]
mov edx, 5
lea r13, [0x1400e75a8]
mov rcx, qword [0x140106190]
cmp rcx, rax
je 0x14009c986
test byte [rcx + 0x1c], 1
je 0x14009c986
cmp byte [rcx + 0x19], dl
jb 0x14009c986
mov edx, SafeArrayAccessData
mov r9, rbx
mov r8, r13
mov rcx, qword [rcx + 0x10]
call fcn.140003670
cmp qword [rsi + 0x60], rbx
je 0x14009c9bb
test rbx, rbx
je 0x14009c9a1
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14006e230.0]
mov rcx, qword [rsi + 0x60]
test rcx, rcx
je 0x14009c9b7
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14006e230.0]
mov qword [rsi + 0x60], rbx
lea r15, [rsi + 0x68]
mov rcx, r15
call qword [sym.imp.wmpmde.dll_MFCreateNetVRoot]
mov ebx, eax
mov edi, 2
mov rax, qword [0x140106190]
lea rcx, [0x140106190]
cmp rax, rcx
je 0x14009ca0e
test byte [rax + 0x1c], dil
je 0x14009ca0e
movzx edx, byte [rax + 0x19]
mov ecx, edi
test ebx, ebx
lea r8d, [rdi + 3]
cmovns ecx, r8d
cmp edx, ecx
jl 0x14009ca0e
lea edx, [rdi + 0x11]
mov r9d, ebx
mov r8, r13
mov rcx, qword [rax + 0x10]
call fcn.140003634
mov dword [r14], 0xc00d3813
test ebx, ebx
js 0x14009cdc3
and qword [rbp - 0x50], 0
mov rcx, qword [r15]
mov rax, qword [rcx]
lea r8, [rbp - 0x50]
lea rdx, [0x1400e7cd8]
mov rax, qword [rax]
call qword [case.0x14006e230.0]
mov ebx, eax
mov r10, qword [0x140106190]
lea rax, [0x140106190]
cmp r10, rax
je 0x14009ca80
test byte [r10 + 0x1c], dil
je 0x14009ca80
movzx ecx, byte [r10 + 0x19]
mov eax, edi
test ebx, ebx
mov edx, 5
cmovns eax, edx
cmp ecx, eax
jl 0x14009ca80
mov edx, SafeArrayAccessData
mov r9d, ebx
mov r8, r13
mov rcx, qword [r10 + 0x10]
call fcn.140003634
mov dword [r14], 0xc00d3813
test ebx, ebx
js 0x14009cb24
movups xmm0, xmmword [0x1400e9050]
movdqu xmmword [rbp - 0x28], xmm0
and dword [rbp - 0x18], 0
xor eax, eax
mov qword [rbp - 0x46], rax
mov qword [rbp - 0x3e], rax
mov dword [rbp - 0x36], eax
mov word [rbp - 0x32], ax
mov eax, reloc.WSOCK32.dll_inet_ntoa
mov word [rbp - 0x48], ax
or eax, 0xffffffff
mov word [rbp - 0x40], ax
mov rcx, qword [rbp - 0x50]
mov rax, qword [rcx]
lea r8, [rbp - 0x48]
lea rdx, [rbp - 0x28]
mov rax, qword [rax + 0x30]
call qword [case.0x14006e230.0]
mov ebx, eax
mov r10, qword [0x140106190]
lea rax, [0x140106190]
cmp r10, rax
je 0x14009cb1d
test byte [r10 + 0x1c], dil
je 0x14009cb1d
movzx ecx, byte [r10 + 0x19]
mov eax, edi
test ebx, ebx
mov edx, 5
cmovns eax, edx
cmp ecx, eax
jl 0x14009cb1d
mov edx, reloc.OLEAUT32.dll_SafeArrayUnlock
mov r9d, ebx
mov r8, r13
mov rcx, qword [r10 + 0x10]
call fcn.140003634
mov dword [r14], 0xc00d3813
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x14009cb3a
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14006e230.0]
test ebx, ebx
js 0x14009cdc3
mov rcx, qword [r15]
mov rax, qword [rcx]
lea r8, [rsi + 0x40]
mov edx, 0x252f
mov rax, qword [rax + 0x18]
call qword [case.0x14006e230.0]
mov ebx, eax
mov r10, qword [0x140106190]
lea rax, [0x140106190]
cmp r10, rax
je 0x14009cb9f
test byte [r10 + 0x1c], dil
je 0x14009cb9f
movzx ecx, byte [r10 + 0x19]
mov eax, edi
test ebx, ebx
mov edx, 5
cmovns eax, edx
cmp ecx, eax
jl 0x14009cb9f
mov edx, reloc.OLEAUT32.dll_SafeArrayAccessData
mov r9d, ebx
mov r8, r13
mov rcx, qword [r10 + 0x10]
call fcn.140003634
mov dword [r14], 0xc00d3814
test ebx, ebx
js 0x14009cdc3
mov rcx, qword [r15]
mov rax, qword [rcx]
lea r8, [rsi + 0x48]
mov edx, 0x2531
mov rax, qword [rax + 0x18]
call qword [case.0x14006e230.0]
mov ebx, eax
mov r10, qword [0x140106190]
lea rax, [0x140106190]
cmp r10, rax
je 0x14009cc0b
test byte [r10 + 0x1c], dil
je 0x14009cc0b
movzx ecx, byte [r10 + 0x19]
mov eax, edi
test ebx, ebx
mov edx, 5
cmovns eax, edx
cmp ecx, eax
jl 0x14009cc0b
mov edx, DispGetParam
mov r9d, ebx
mov r8, r13
mov rcx, qword [r10 + 0x10]
call fcn.140003634
mov dword [r14], 0xc00d3814
test ebx, ebx
js 0x14009cdc3
mov rcx, qword [r15]
mov rax, qword [rcx]
lea r8, [rsi + 0x50]
mov edx, 0x253b
mov rax, qword [rax + 0x18]
call qword [case.0x14006e230.0]
mov ebx, eax
mov r10, qword [0x140106190]
lea rax, [0x140106190]
cmp r10, rax
je 0x14009cc77
test byte [r10 + 0x1c], dil
je 0x14009cc77
movzx ecx, byte [r10 + 0x19]
mov eax, edi
test ebx, ebx
mov edx, 5
cmovns eax, edx
cmp ecx, eax
jl 0x14009cc77
mov edx, DispGetParam
mov r9d, ebx
mov r8, r13
mov rcx, qword [r10 + 0x10]
call fcn.140003634
mov dword [r14], 0xc00d3814
test ebx, ebx
js 0x14009cdc3
lea rdx, str.https:__:10245_WMPNSSv4_LibraryInfo_
lea rcx, [rsi + 0x78]
call fcn.140008d6c
mov rcx, qword [0x140106190]
lea rax, [0x140106190]
cmp rcx, rax
je 0x14009ccca
test byte [rcx + 0x1c], dil
je 0x14009ccca
cmp byte [rcx + 0x19], 4
jb 0x14009ccca
mov edx, DispGetParam
mov r9, qword [rsi + 0x78]
mov r8, r13
mov rcx, qword [rcx + 0x10]
call fcn.140003598
mov rcx, rsi
call fcn.14009f6f8
mov rcx, qword [0x140106190]
lea r15, [0x140106190]
cmp rcx, r15
je 0x14009cd02
test byte [rcx + 0x1c], dil
je 0x14009cd02
cmp byte [rcx + 0x19], 4
jb 0x14009cd02
mov edx, DispGetParam
mov r8, r13
mov rcx, qword [rcx + 0x10]
call fcn.140003574
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax + 8]
call qword [case.0x14006e230.0]
mov rcx, qword [0x140106190]
cmp rcx, r15
je 0x14009cd3b
test byte [rcx + 0x1c], dil
je 0x14009cd3b
cmp byte [rcx + 0x19], 4
jb 0x14009cd3b
mov edx, reloc.OLEAUT32.dll_DispGetParam
mov r8, r13
mov rcx, qword [rcx + 0x10]
call fcn.140003574
lea rax, [rsi + 0x100]
mov qword [rsp + 0x28], rax
and dword [rsp + 0x20], 0
mov r9, rsi
lea r8, [0x14009fe50]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsi + 0xf8], rax
test rax, rax
jne 0x14009cdc3
mov rax, qword [0x140106190]
cmp rax, r15
je 0x14009cdb3
test byte [rax + 0x1c], dil
je 0x14009cdb3
cmp byte [rax + 0x19], dil
jb 0x14009cdb3
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r9d, ax
or r9d, 0x80070000
test eax, eax
cmovle r9d, eax
mov edx, 0x1c
mov r8, r13
mov rcx, qword [0x140106190]
mov rcx, qword [rcx + 0x10]
call fcn.140003634
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax + 0x10]
call qword [case.0x14006e230.0]
mov rcx, qword [0x140106190]
lea rax, [0x140106190]
cmp rcx, rax
je 0x14009ce09
test byte [rcx + 0x1c], 1
je 0x14009ce09
movzx eax, byte [rcx + 0x19]
test ebx, ebx
mov edx, 5
cmovns edi, edx
cmp eax, edi
jl 0x14009ce09
mov edx, 0x1d
mov eax, dword [r14]
mov dword [rsp + 0x20], eax
mov r9d, ebx
mov r8, r13
mov rcx, qword [rcx + 0x10]
call fcn.1400054b8
mov eax, ebx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1400cc650
add rsp, 0x80
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret