Function at 0x40fa23
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
push ebx
push esi
mov ebx, ecx
lea ecx, [esp + 0x14]
push edi
call fcn.0040cd36
cmp dword [eax + 0x14], 0x10
jb 0x40fa42
mov eax, dword [eax]
push eax
call fcn.0046da40
pop ecx
xor edi, edi
lea ecx, [esp + 0x18]
push edi
push 1
call fcn.00402cee
push 0x654b9554
lea ecx, [esp + 0x34]
call fcn.00412633
mov ecx, 0x497c48
mov esi, eax
sub ecx, 0x564dd749
push ecx
lea ecx, [esp + 0x17]
call fcn.004125f5
push 1
push edi
push edi
push esi
push eax
push edi
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
call fcn.0040d725
call fcn.0040d191
cmp eax, 1
jne 0x40fa9f
push eax
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, ebx
call fcn.0040eca4
mov ecx, ebx
call fcn.0040ef8c
push ecx
mov ecx, ebx
call fcn.0040de43
push 0x99
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call edi
mov esi, dword [sym.imp.USER32.dll_LoadBitmapA]
push eax
call esi
push 0x99
push 0
mov dword [0x4b3bd0], eax
call edi
push eax
call esi
push dword [0x4b3bd0]
mov edi, dword [ebp + 8]
push 0
push 0x172
push 0x414
push edi
mov dword [0x4b3bcc], eax
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
call esi
push dword [0x4b3bcc]
push 0
push 0x172
push 0x414
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call esi
push edi
mov ecx, ebx
mov dword [ebx + 4], edi
call fcn.0040dc07
lea ecx, [ebx + 0x57bd8]
mov eax, dword [ecx]
push 0x3ea
push dword [ebx + 4]
call dword [eax]
lea ecx, [ebx + 0x57c74]
mov eax, dword [ecx]
push 0x3fb
push dword [ebx + 4]
call dword [eax]
lea ecx, [ebx + 0x57ca8]
mov eax, dword [ecx]
push 0x3f7
push dword [ebx + 4]
call dword [eax]
lea ecx, [ebx + 0x57cdc]
mov eax, dword [ecx]
push 0x3fd
push dword [ebx + 4]
call dword [eax]
lea ecx, [ebx + 0x57d10]
mov eax, dword [ecx]
push 0x3fc
push dword [ebx + 4]
call dword [eax]
lea esi, [ebx + 0x57c0c]
mov eax, dword [esi]
mov ecx, esi
push 0x401
push dword [ebx + 4]
call dword [eax]
lea ecx, [ebx + 0x57d44]
mov eax, dword [ecx]
push 0x3e9
push dword [ebx + 4]
call dword [eax]
push 0x10020
push 0
mov eax, dword [esi]
mov ecx, esi
push 0x1036
call dword [eax + 8]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [esp + 0x18]
call fcn.00416ae0
cmp dword [eax + 0x14], 8
jb 0x40fbd9
mov eax, dword [eax]
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0
push 1
lea ecx, [esp + 0x20]
call fcn.00402c21
mov esi, dword [sym.imp.USER32.dll_ChangeWindowMessageFilterEx]
push 0
push 1
push 0x233
push edi
call esi
push 0
push 1
push 0x49
push edi
call esi
call fcn.00404983
cmp dword [eax], 0xffffffff
je 0x40fc2c
push 0
push 0x8006
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetMenu]
push eax
call dword [sym.imp.USER32.dll_EnableMenuItem]
push 0x87
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
mov esi, eax
push esi
push 1
push 0x80
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
push 0
push 0x80
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
call dword [sym.imp.USER32.dll_DestroyIcon]
mov ecx, ebx
call fcn.0040d933
lea ecx, [ebx + 0x52a1a]
push ecx
push 0x410
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 1
push edi
call dword [sym.imp.USER32.dll_EndDialog]
pop edi
xor eax, eax
pop esi
inc eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10