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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4437e7
mov eax, dword fs:[0]
push eax
sub esp, 0x510
mov eax, dword [0x457220]
xor eax, esp
mov dword [esp + 0x508], eax
push ebx
push esi
push edi
mov eax, dword [0x457220]
xor eax, esp
push eax
lea eax, [esp + 0x520]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [0x45bb00], eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov ecx, eax
lea eax, [esp + 0x25c]
push eax
mov dword [esp + 0x20], ecx
call fcn.004080a8
lea eax, [esp + 0x94]
xor esi, esi
push eax
mov dword [esp + 0x52c], esi
call fcn.00407f6d
lea eax, [esp + 0x94]
push eax
mov byte [esp + 0x52c], 1
call fcn.0040a016
test al, al
jne 0x40a9d3
push 0xfffffffffffffffc
pop esi
lea edi, [esp + 0x94]
call fcn.004081a7
or dword [esp + 0x528], 0xffffffff
lea eax, [esp + 0x25c]
push eax
call fcn.00408272
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.004350b5
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 0x40ad09
xor eax, eax
inc eax
cmp dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
jle 0x40ad02
mov dword [esp + 0x10], 2
mov edi, dword [esp + 0x14]
shl edi, 2
push dword [edi + ebx]
lea eax, [esp + 0x24]
call fcn.004036d9
push 0x447578
lea esi, [esp + 0x24]
mov byte [esp + 0x52c], 3
call fcn.00403daf
test al, al
pop ecx
jne 0x40acab
push 0x447580
call fcn.00403daf
test al, al
pop ecx
jne 0x40acab
push 0x447588
call fcn.00403daf
test al, al
pop ecx
jne 0x40acab
push 0x447590
call fcn.00403daf
test al, al
pop ecx
jne 0x40acab
push 0x447598
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac8d
push 0x4475a0
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac8d
push 0x4475a8
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac8d
push 0x4475b0
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac8d
push 0x4475b8
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac86
push 0x4475c0
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac86
push 0x4475c8
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac86
push 0x4475d0
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac86
push 0x4475d8
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac86
push 0x4475e0
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac86
push 0x4475e8
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac86
push 0x4475f0
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac86
push 0x4475f8
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac7f
push 0x447600
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac7f
push 0x447608
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac7f
push 0x447610
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac7f
push 0x447618
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac61
push 0x447620
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac61
push 0x447628
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac61
push 0x447630
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac61
push 0x447638
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac61
push 0x447640
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac61
push 0x447648
call fcn.00403daf
test al, al
pop ecx
jne 0x40ac61
push 0x447650
call fcn.00403daf
test al, al
pop ecx
je 0x40acd7
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x18]
jge 0x40ad4c
mov edi, dword [edi + ebx + 4]
push edi
call fcn.0043501f
lea esi, [esp + 0x7c]
jmp 0x40acc7
mov byte [esp + 0x75], 0
jmp 0x40acd7
mov byte [esp + 0x74], 1
jmp 0x40acd7
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x18]
jge 0x40ad4c
mov edi, dword [edi + ebx + 4]
push edi
call fcn.0043501f
lea esi, [esp + 0x5c]
jmp 0x40acc7
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x18]
jge 0x40ad4c
mov edi, dword [edi + ebx + 4]
push edi
call fcn.0043501f
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 0x40aa4e
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea edi, [esp + 0x3c]
lea eax, [esp + 0x25c]
call fcn.0040a2c2
lea edi, [esp + 0x94]
lea eax, [esp + 0x25c]
call fcn.0040a125
push dword [esp + 0x1c]
lea eax, [esp + 0x260]
call fcn.0040a300
lea edi, [esp + 0x3c]
mov esi, eax
call fcn.00408181
jmp 0x40a98c
push 0
push 1
lea esi, [esp + 0x28]
call fcn.0040115e
lea edi, [esp + 0x3c]
call fcn.00408181
push 0xfffffffffffffffe
jmp 0x40a98b