Function at 0x140037a30
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x190
mov rsi, r8
mov r14, rdx
mov r15, rcx
xor r13d, r13d
mov qword [rsp + 0x48], r13
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [0x140126170]
xor edx, edx
lea r8d, [r13 + 4]
lea rcx, [0x14013c860]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov ebx, eax
lea edi, [r13 + 8]
test eax, eax
js 0x140037b71
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], rax
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], 1
lea rdx, [rsp + 0x128]
mov qword [rsp + 0x20], rdx
mov r9d, edi
lea r8, [rsp + 0x110]
lea rdx, [rsp + 0x110]
call qword [rax + 0x78]
test eax, eax
jne 0x140037b61
lea r9, [rsp + 0x50]
lea r8, [0x140126140]
lea rdx, [0x14013c810]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.SHLWAPI.dll_IUnknown_QueryService]
mov ebx, eax
test eax, eax
js 0x140037b54
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea rdx, [rsp + 0x1d8]
call qword [rax + 0x78]
mov ebx, eax
test eax, eax
js 0x140037b49
mov rcx, qword [rsp + 0x1d8]
mov rax, qword [rcx]
lea r8, [rsp + 0x48]
lea rdx, [0x140126160]
call qword [rax]
mov ebx, eax
mov rcx, qword [rsp + 0x1d8]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140037b66
mov ebx, 0x80004005
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
test ebx, ebx
js 0x140037e3c
mov qword [rsp + 0x40], r13
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea r9, [rsp + 0x78]
lea r8, [0x140126130]
xor edx, edx
call qword [rax + 0x78]
mov ebx, eax
test eax, eax
js 0x140037c08
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
lea r8, [rsp + 0x70]
lea rdx, [0x140126150]
call qword [rax]
mov ebx, eax
test eax, eax
js 0x140037bfd
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
lea rdx, [rsp + 0x68]
call qword [rax + reloc.WS2_32.dll_getservbyport]
mov ebx, eax
test eax, eax
js 0x140037bf2
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
lea r8, [rsp + 0x40]
lea rdx, [0x140126180]
call qword [rax]
mov ebx, eax
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
test ebx, ebx
js 0x140037e29
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x138], xmm0
mov qword [rsp + 0x148], rax
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x140037e9c
mov rax, qword [rbx]
mov r12, qword [rax + 0xf8]
mov word [rsp + 0xf8], di
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rsp + 0x100], rax
test rax, rax
jne 0x140037c64
test rsi, rsi
jne 0x140037ea6
movups xmm0, xmmword [rsp + 0xf8]
movups xmmword [rsp + 0xa0], xmm0
movsd xmm0, qword [rsp + 0x108]
movsd qword [rsp + 0x80], xmm0
mov word [rsp + 0xe0], di
mov rcx, r14
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rsp + 0xe8], rax
test rax, rax
jne 0x140037cad
test r14, r14
jne 0x140037eb1
movups xmm0, xmmword [rsp + 0xe0]
movups xmmword [rsp + 0xc0], xmm0
movsd xmm0, qword [rsp + 0xf0]
movsd qword [rsp + 0x88], xmm0
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rdi, rax
mov qword [rsp + 0x90], rax
test rax, rax
je 0x140037d10
mov qword [rax + 8], r13
mov dword [rax + 0x10], 1
mov rcx, r15
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rdi], rax
test rax, rax
jne 0x140037d13
test r15, r15
jne 0x140037ebc
jmp 0x140037d13
mov rdi, r13
mov qword [rsp + 0x90], rdi
test rdi, rdi
je 0x140037ec7
xorps xmm1, xmm1
movaps xmmword [rsp + 0x150], xmm1
movsd xmm0, qword [rsp + 0x148]
movsd qword [rsp + 0x160], xmm0
movaps xmmword [rsp + 0x170], xmm1
movsd qword [rsp + 0x180], xmm0
movups xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0xa0], xmm0
movsd xmm1, qword [rsp + 0x80]
movsd qword [rsp + 0xb0], xmm1
movups xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xc0], xmm0
movsd xmm1, qword [rsp + 0x88]
movsd qword [rsp + 0xd0], xmm1
lea rax, [rsp + 0x150]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x170]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xa0]
lea r8, [rsp + 0xc0]
mov rdx, qword [rdi]
mov rcx, rbx
call r12
mov ebx, eax
mov eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
cmp eax, 1
jne 0x140037e0b
mov rcx, qword [rdi]
test rcx, rcx
je 0x140037deb
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r13
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140037dfd
call fcn.1400e0fb8
mov qword [rdi + 8], r13
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rdi
call fcn.1400e0fb8
nop
lea rcx, [rsp + 0xe0]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rsp + 0xf8]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140037e3a
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
test ebx, ebx
je 0x140037e63
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], r13
mov r9, r14
mov r8, r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp rax, 0x20
cmova ebx, r13d
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140037e74
mov rdx, qword [rcx]
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov eax, ebx
jmp 0x140037e7f
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov ecx, 0x80004003
call fcn.1400e0b70
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
int3