Function at 0x10054dc0
Capabilities:
Create process on windows
Create thread
Encode data using xor
Resolve function by parsing pe exports

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 0x10087aa5
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x30
mov eax, dword [0x100b8180]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x40], 0x438c8000
xor ecx, ecx
mov dword [ebp - 0x3c], 0x41c80000
mov dword [ebp - 0x20], 0xd7d9d4f0
mov dword [ebp - 0x1c], 0xac8fe1b4
mov dword [ebp - 0x18], 0x100a0a0
mov al, cl
sub al, 0x44
xor byte [ebp + ecx - 0x20], al
inc ecx
cmp ecx, 0xa
jb 0x10054e23
push 0
lea edx, [ebp - 0x40]
mov byte [ebp - 0x15], 0
lea ecx, [ebp - 0x20]
call fcn.10032d70
add esp, 4
test al, al
je 0x10054e58
call fcn.10041f30
mov dword [0x100d9700], 1
movss xmm1, dword [0x100b05e8]
xorps xmm0, xmm0
call fcn.1001c850
mov dword [ebp - 0x40], 0x438c8000
xor ecx, ecx
mov dword [ebp - 0x3c], 0x41c80000
mov dword [ebp - 0x20], 0xd4ccdcf8
mov dword [ebp - 0x1c], 0xa7ad8ce0
mov word [ebp - 0x18], 0xa1
mov byte [ebp - 0x16], 1
mov al, cl
sub al, 0x44
xor byte [ebp + ecx - 0x20], al
inc ecx
cmp ecx, 9
jb 0x10054e90
push 0
lea edx, [ebp - 0x40]
mov byte [ebp - 0x16], 0
lea ecx, [ebp - 0x20]
call fcn.10032d70
add esp, 4
test al, al
je 0x10054ec5
call fcn.10042180
mov dword [0x100d9700], 0
mov dword [ebp - 0x40], 0x440e8000
xor ecx, ecx
mov dword [ebp - 0x3c], 0x41c80000
mov dword [ebp - 0x20], 0xcbced3f6
mov dword [ebp - 0x1c], 0xcecec0
mov byte [ebp - 0x18], 1
mov al, cl
sub al, 0x5b
xor byte [ebp + ecx - 0x20], al
inc ecx
cmp ecx, 7
jb 0x10054ee7
push 0
lea edx, [ebp - 0x40]
mov byte [ebp - 0x18], 0
lea ecx, [ebp - 0x20]
call fcn.10032d70
add esp, 4
mov ecx, 0x56e210
test al, al
je 0x10054f27
push 0xffffffffffffffff
call ecx
add esp, 4
test eax, eax
je 0x10054f27
mov dword [eax + 0x540], 0
mov dword [ebp - 0x40], 0x440e8000
xor ecx, ecx
mov dword [ebp - 0x3c], 0x41c80000
mov dword [ebp - 0x20], 0xc8d1d1fe
mov dword [ebp - 0x1c], 0xa281b195
mov dword [ebp - 0x18], 0x100b6b6
nop dword [eax]
mov al, cl
sub al, 0x44
xor byte [ebp + ecx - 0x20], al
inc ecx
cmp ecx, 0xa
jb 0x10054f50
push 0
lea edx, [ebp - 0x40]
mov byte [ebp - 0x15], 0
lea ecx, [ebp - 0x20]
call fcn.10032d70
add esp, 4
test al, al
je 0x10054fe5
mov ecx, dword [0xb74494]
xor edi, edi
cmp dword [ecx + 8], edi
jle 0x10054fe5
xor edx, edx
mov dword [ebp - 0x38], edx
nop dword [eax + eax]
mov eax, dword [ecx + 4]
cmp byte [edi + eax], 0
jl 0x10054fcf
mov esi, dword [ecx]
add esi, edx
je 0x10054fcf
push 0xffffffffffffffff
mov eax, 0x56e210
call eax
add esp, 4
mov dword [esi + 0xdc], eax
mov eax, 0x56e210
push 0xffffffffffffffff
call eax
mov edx, dword [esi]
add esp, 4
mov ecx, esi
mov edx, dword [edx + 0xa4]
push 0
push eax
call edx
mov edx, dword [ebp - 0x38]
mov eax, 0xb74494
inc edi
add edx, 0xa18
mov dword [ebp - 0x38], edx
mov ecx, dword [eax]
cmp edi, dword [ecx + 8]
jl 0x10054f90
mov dword [ebp - 0x40], 0x440e8000
xor ecx, ecx
mov dword [ebp - 0x3c], 0x41c80000
mov dword [ebp - 0x20], 0xdad9dcee
mov dword [ebp - 0x1c], 0xaab7b0e0
mov word [ebp - 0x18], 0xb0
mov byte [ebp - 0x16], 1
nop dword [eax]
mov al, cl
sub al, 0x44
xor byte [ebp + ecx - 0x20], al
inc ecx
cmp ecx, 9
jb 0x10055010
push 0
lea edx, [ebp - 0x40]
mov byte [ebp - 0x16], 0
lea ecx, [ebp - 0x20]
call fcn.10032d70
add esp, 4
test al, al
je 0x10055158
push 0xa8
call fcn.1005cdfb
mov esi, eax
add esp, 4
mov dword [ebp - 0x38], esi
lea ecx, [esi + 0xc]
mov dword [esi], vtable.std::_Associated_state_int_.0
mov dword [esi + 4], 1
mov dword [esi + 8], 0
push ecx
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.1005c06e
xorps xmm0, xmm0
lea eax, [esi + 0x44]
movups xmmword [esi + 0x20], xmm0
add esp, 4
movq qword [esi + 0x30], xmm0
mov dword [esi + 0x38], 0
mov dword [esi + 0x18], 0
push eax
mov dword [esi + 0x1c], 0
mov dword [esi + 0x3c], 0xffffffff
mov dword [esi + 0x14], 2
mov dword [esi + 0x40], 0
call fcn.1005c06e
lea eax, [esi + 0x80]
mov byte [esi + 0x6c], 0
mov dword [esi + 0x70], 0
add esp, 4
mov word [esi + 0x74], 0
mov byte [esi + 0x76], 0
mov dword [esi + 0x78], 0
mov dword [esi], vtable.std::_Packaged_state_void____cdecl___void__.0
mov dword [eax], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall_CMenu::stTabs::Misc_void_::_25::_lambda_1___void___.0
mov dword [eax + 0x24], eax
mov dword [ebp - 0x20], esi
mov byte [ebp - 0x1c], 0
mov byte [ebp - 0x18], 0
push 0xc
mov dword [ebp - 4], 0
call fcn.1005cdfb
add esp, 4
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x38], eax
mov dword [eax], esi
mov byte [eax + 4], 0
mov byte [eax + 8], 0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
push ecx
push 0
push eax
push 0x10055d70
push 0
push 0
call fcn.1006f994
add esp, 0x18
mov dword [ebp - 0x40], eax
test eax, eax
je 0x10055503
mov byte [ebp - 4], 0
cmp dword [ebp - 0x3c], 0
jne 0x10055511
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x40], 0x438c8000
xor ecx, ecx
mov dword [ebp - 0x3c], 0x41c80000
mov dword [ebp - 0x24], 0xcddcc4f4
mov dword [ebp - 0x20], 0x97e2b2a9
mov dword [ebp - 0x1c], 0xaba4a1
mov byte [ebp - 0x18], 1
mov al, cl
sub al, 0x44
xor byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0xb
jb 0x10055181
push 0
lea edx, [ebp - 0x40]
mov byte [ebp - 0x18], 0
lea ecx, [ebp - 0x24]
call fcn.10032d70
mov esi, dword [sym.imp.SHELL32.dll_ShellExecuteA]
add esp, 4
movaps xmm2, xmmword [0x100b0820]
test al, al
je 0x100552ed
movaps xmm0, xmmword [0x100b0b80]
mov ecx, 0x10
movaps xmm1, xmmword [0x100b07a0]
movd eax, xmm0
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x20], 0xe23263c
mov dword [ebp - 0x1c], 0x34313b31
mov dword [ebp - 0x18], 0x1002422
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x2c]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x30], xmm1
movaps xmm1, xmmword [0x100b07b0]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x28]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x2c], xmm1
movaps xmm1, xmmword [0x100b07c0]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x24]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x28], xmm1
movaps xmm1, xmmword [0x100b07d0]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
andps xmm1, xmm2
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x24], xmm1
mov al, cl
add al, 0x3e
xor byte [ebp + ecx - 0x30], al
inc ecx
cmp ecx, 0x1a
jb 0x10055290
movaps xmm1, xmmword [0x100b17f0]
lea eax, [ebp - 0x30]
mov dword [ebp - 0x38], 0xc6c2d6ca
movd xmm0, dword [ebp - 0x38]
punpcklbw xmm0, xmm0
push 5
punpcklwd xmm0, xmm0
push 0
psrad xmm0, 0x18
push 0
xorps xmm1, xmm0
mov byte [ebp - 0x15], 0
push eax
andps xmm1, xmm2
mov word [ebp - 0x34], 0
lea eax, [ebp - 0x38]
packuswb xmm1, xmm1
push eax
packuswb xmm1, xmm1
push 0
movd dword [ebp - 0x38], xmm1
call esi
mov ecx, dword [0x100bb5a0]
mov eax, dword [ecx + 0x19ac]
mov byte [eax + 0x7c], 1
mov edx, dword [ecx + 0x19ac]
cmp byte [edx + 0x7f], 0
jne 0x10055351
movss xmm0, dword [ecx + 0x1560]
addss xmm0, dword [edx + 0xd0]
mov eax, dword [edx + 0xd4]
mov ecx, dword [edx + 0xf4]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xf0]
mov dword [edx + 0xe8], eax
mov eax, dword [edx + 0xfc]
movss dword [edx + 0xc8], xmm0
mov dword [edx + 0xec], ecx
mov dword [edx + 0xf8], eax
mov dword [ebp - 0x40], 0x438c8000
xor ecx, ecx
mov dword [ebp - 0x3c], 0x41c80000
mov dword [ebp - 0x24], 0xd5d1cfec
mov dword [ebp - 0x20], 0xeeb6a2a5
mov dword [ebp - 0x1c], 0xf2f4f0
mov byte [ebp - 0x18], 1
nop word [eax + eax]
mov al, cl
sub al, 0x44
xor byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0xb
jb 0x10055380
push 0
lea edx, [ebp - 0x40]
mov byte [ebp - 0x18], 0
lea ecx, [ebp - 0x24]
call fcn.10032d70
add esp, 4
test al, al
je 0x100554e5
movaps xmm0, xmmword [0x100b0950]
mov ecx, 0x10
movaps xmm2, xmmword [0x100b0820]
movaps xmm1, xmmword [0x100b07e0]
movd eax, xmm0
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x20], 0xf41c1b17
mov dword [ebp - 0x1c], 0xb0b2b6de
mov word [ebp - 0x18], pe_nt_image_headers32
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x2c]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x30], xmm1
movaps xmm1, xmmword [0x100b07f0]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x28]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x2c], xmm1
movaps xmm1, xmmword [0x100b0800]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x24]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x28], xmm1
movaps xmm1, xmmword [0x100b0810]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
andps xmm1, xmm2
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x24], xmm1
mov al, cl
add al, 0x6d
xor byte [ebp + ecx - 0x30], al
inc ecx
cmp ecx, 0x18
jb 0x10055488
movaps xmm1, xmmword [0x100b17f0]
lea eax, [ebp - 0x30]
mov dword [ebp - 0x38], 0xc6c2d6ca
movd xmm0, dword [ebp - 0x38]
punpcklbw xmm0, xmm0
push 5
punpcklwd xmm0, xmm0
push 0
psrad xmm0, 0x18
push 0
xorps xmm1, xmm0
mov byte [ebp - 0x17], 0
push eax
andps xmm1, xmm2
mov word [ebp - 0x34], 0
lea eax, [ebp - 0x38]
packuswb xmm1, xmm1
push eax
packuswb xmm1, xmm1
push 0
movd dword [ebp - 0x38], xmm1
call esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1005cac0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 6
mov dword [ebp - 0x3c], 0
call fcn.1005c523
call fcn.1006fa25
int3