Function at 0x40ac22
Capabilities:
Accept command line arguments
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x444b89
mov eax, dword fs:[0]
push eax
sub esp, 0x510
mov eax, dword [0x458220]
xor eax, esp
mov dword [esp + 0x508], eax
push ebx
push esi
push edi
mov eax, dword [0x458220]
xor eax, esp
push eax
lea eax, [esp + 0x520]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [0x45cc20], eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov ecx, eax
lea eax, [esp + 0x25c]
push eax
mov dword [esp + 0x20], ecx
call fcn.0040838b
lea eax, [esp + 0x94]
xor esi, esi
push eax
mov dword [esp + 0x52c], esi
call fcn.00408250
lea eax, [esp + 0x94]
push eax
mov byte [esp + 0x52c], 1
call fcn.0040a359
test al, al
jne 0x40acfc
push 0xfffffffffffffffc
pop esi
lea edi, [esp + 0x94]
call fcn.0040849b
or dword [esp + 0x528], 0xffffffff
lea eax, [esp + 0x25c]
push eax
call fcn.0040855c
mov eax, esi
mov ecx, dword [esp + 0x520]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x508]
xor ecx, esp
call fcn.004363e5
mov esp, ebp
pop ebp
ret
push 7
pop eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], esi
mov word [esp + 0x40], si
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], esi
mov word [esp + 0x5c], si
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], esi
mov word [esp + 0x7c], si
mov byte [esp + 0x528], 2
lea eax, [esp + 0x18]
push eax
mov byte [esp + 0x78], 0
mov byte [esp + 0x79], 1
mov dword [esp + 0x1c], esi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ebx, eax
cmp ebx, esi
je 0x40b032
xor eax, eax
inc eax
cmp dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
jle 0x40b02b
mov dword [esp + 0x10], 2
mov edi, dword [esp + 0x14]
shl edi, 2
push dword [edi + ebx]
lea eax, [esp + 0x24]
call fcn.0040392d
push 0x448594
lea esi, [esp + 0x24]
mov byte [esp + 0x52c], 3
call fcn.004040a4
test al, al
pop ecx
jne 0x40afd4
push 0x44859c
call fcn.004040a4
test al, al
pop ecx
jne 0x40afd4
push 0x4485a4
call fcn.004040a4
test al, al
pop ecx
jne 0x40afd4
push 0x4485ac
call fcn.004040a4
test al, al
pop ecx
jne 0x40afd4
push 0x4485b4
call fcn.004040a4
test al, al
pop ecx
jne 0x40afb6
push 0x4485bc
call fcn.004040a4
test al, al
pop ecx
jne 0x40afb6
push 0x4485c4
call fcn.004040a4
test al, al
pop ecx
jne 0x40afb6
push 0x4485cc
call fcn.004040a4
test al, al
pop ecx
jne 0x40afb6
push 0x4485d4
call fcn.004040a4
test al, al
pop ecx
jne 0x40afaf
push 0x4485dc
call fcn.004040a4
test al, al
pop ecx
jne 0x40afaf
push 0x4485e4
call fcn.004040a4
test al, al
pop ecx
jne 0x40afaf
push 0x4485ec
call fcn.004040a4
test al, al
pop ecx
jne 0x40afaf
push 0x4485f4
call fcn.004040a4
test al, al
pop ecx
jne 0x40afaf
push 0x4485fc
call fcn.004040a4
test al, al
pop ecx
jne 0x40afaf
push 0x448604
call fcn.004040a4
test al, al
pop ecx
jne 0x40afaf
push 0x44860c
call fcn.004040a4
test al, al
pop ecx
jne 0x40afaf
push 0x448614
call fcn.004040a4
test al, al
pop ecx
jne 0x40afa8
push 0x44861c
call fcn.004040a4
test al, al
pop ecx
jne 0x40afa8
push 0x448624
call fcn.004040a4
test al, al
pop ecx
jne 0x40afa8
push 0x44862c
call fcn.004040a4
test al, al
pop ecx
jne 0x40afa8
push 0x448634
call fcn.004040a4
test al, al
pop ecx
jne 0x40af8a
push 0x44863c
call fcn.004040a4
test al, al
pop ecx
jne 0x40af8a
push 0x448644
call fcn.004040a4
test al, al
pop ecx
jne 0x40af8a
push 0x44864c
call fcn.004040a4
test al, al
pop ecx
jne 0x40af8a
push 0x448654
call fcn.004040a4
test al, al
pop ecx
jne 0x40af8a
push 0x44865c
call fcn.004040a4
test al, al
pop ecx
jne 0x40af8a
push 0x448664
call fcn.004040a4
test al, al
pop ecx
jne 0x40af8a
push 0x44866c
call fcn.004040a4
test al, al
pop ecx
je 0x40b000
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x18]
jge 0x40b075
mov edi, dword [edi + ebx + 4]
push edi
call fcn.0043634f
lea esi, [esp + 0x7c]
jmp 0x40aff0
mov byte [esp + 0x75], 0
jmp 0x40b000
mov byte [esp + 0x74], 1
jmp 0x40b000
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x18]
jge 0x40b075
mov edi, dword [edi + ebx + 4]
push edi
call fcn.0043634f
lea esi, [esp + 0x5c]
jmp 0x40aff0
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x18]
jge 0x40b075
mov edi, dword [edi + ebx + 4]
push edi
call fcn.0043634f
lea esi, [esp + 0x40]
pop ecx
mov ecx, edi
call fcn.004011a5
inc dword [esp + 0x14]
inc dword [esp + 0x10]
push 0
push 1
lea esi, [esp + 0x28]
mov byte [esp + 0x530], 2
call fcn.0040115e
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
inc dword [esp + 0x10]
cmp eax, dword [esp + 0x18]
jl 0x40ad77
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea edi, [esp + 0x3c]
lea eax, [esp + 0x25c]
call fcn.0040a605
lea edi, [esp + 0x94]
lea eax, [esp + 0x25c]
call fcn.0040a468
push dword [esp + 0x1c]
lea eax, [esp + 0x260]
call fcn.0040a643
lea edi, [esp + 0x3c]
mov esi, eax
call fcn.00408475
jmp 0x40acb5
push 0
push 1
lea esi, [esp + 0x28]
call fcn.0040115e
lea edi, [esp + 0x3c]
call fcn.00408475
push 0xfffffffffffffffe
jmp 0x40acb4