Function at 0x4031d9
Capabilities:
Create thread

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43b898
mov eax, dword fs:[0]
push eax
push ecx
push ebx
sub esp, 0x70
mov eax, dword [0x44e06c]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, edx
push ecx
push 0
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
mov dword [ebp - 0x80], edi
test edi, edi
jne 0x403115
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ecx
mov edx, str.Failed_to_open_process._Error:
call fcn.00405c50
add esp, 4
mov ecx, eax
call fcn.00403b20
push eax
call fcn.00405f00
add esp, 4
jmp 0x403362
mov eax, dword [ebx + 8]
mov dword [ebp - 4], 0
push str.user32.dll
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov esi, eax
push str.SetWindowDisplayAffinity
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
push eax
push esi
push str.user32_x86:0x_x__data.fnSetWindowDisplayAffinity:0x_x_n
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], 0
call fcn.00401f80
add esp, 8
lea eax, [ebp - 0x78]
xorps xmm0, xmm0
lea ecx, [ebp - 0x50]
movups xmmword [ebp - 0x50], xmm0
push eax
push edi
movq qword [ebp - 0x40], xmm0
call fcn.00405fb0
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x48]
mov eax, ecx
or eax, dword [ebp - 0x44]
mov dword [ebp - 0x7c], ecx
jne 0x4031c8
push str.Failed_to_allocate_memory_in_target_process_n
call fcn.00401f80
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x48]
mov eax, ecx
mov edx, dword [ebp - 0x44]
or eax, edx
je 0x403362
cmp dword [ebp - 0x50], 0
je 0x403362
push ecx
push edx
mov edx, dword [ebp - 0x40]
push ecx
mov ecx, dword [ebp - 0x4c]
call fcn.00402d90
jmp 0x403362
push ecx
push str.RemoteParam:0x_x_n
call fcn.00401f80
add esp, 4
mov dword [ebp - 0x34], 0x8bec8b55
lea eax, [ebp - 0x34]
mov dword [ebp - 0x30], 0x488b0845
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0x8b108b08
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x28], 0x52500440
push 0x16
push eax
push edi
mov dword [ebp - 0x24], 0xc25dd1ff
mov word [ebp - 0x20], 4
movups xmmword [ebp - 0x68], xmm0
movq qword [ebp - 0x58], xmm0
call fcn.00406040
mov esi, dword [ebp - 0x60]
mov eax, esi
or eax, dword [ebp - 0x5c]
jne 0x403269
push str.Failed_to_allocate_code_memory_n
call fcn.00401f80
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x48]
mov eax, ecx
mov edx, dword [ebp - 0x44]
or eax, edx
je 0x403362
cmp dword [ebp - 0x50], 0
je 0x403362
push ecx
push edx
mov edx, dword [ebp - 0x40]
push ecx
mov ecx, dword [ebp - 0x4c]
call fcn.00402d90
jmp 0x403362
push esi
push str.shellcode_addr:0x_x_n
call fcn.00401f80
add esp, 8
push 0
push 0
push dword [ebp - 0x7c]
push esi
push 0
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov dword [ebp - 0x7c], eax
test eax, eax
jne 0x4032ee
push str.Failed_to_create_remote_thread._Error_n
call fcn.00401f80
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 5
cmp dword [ebp - 0x68], 0
je 0x4032c0
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x58]
push ecx
mov ecx, dword [ebp - 0x64]
push eax
push esi
call fcn.00402d90
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x48]
mov eax, ecx
mov edx, dword [ebp - 0x44]
or eax, edx
je 0x403362
cmp dword [ebp - 0x50], 0
je 0x403362
push ecx
push edx
mov edx, dword [ebp - 0x40]
push ecx
mov ecx, dword [ebp - 0x4c]
call fcn.00402d90
jmp 0x403362
push 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call esi
push dword [ebp - 0x7c]
call esi
mov byte [ebp - 4], 7
cmp dword [ebp - 0x68], 0
je 0x403325
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x58]
push ecx
mov ecx, dword [ebp - 0x64]
push eax
push dword [ebp - 0x60]
call fcn.00402d90
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x48]
mov eax, ecx
mov edx, dword [ebp - 0x44]
or eax, edx
je 0x403349
cmp dword [ebp - 0x50], 0
je 0x403349
push ecx
push edx
mov edx, dword [ebp - 0x40]
push ecx
mov ecx, dword [ebp - 0x4c]
call fcn.00402d90
mov al, 1
jmp 0x403364
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.0041d30f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret