Function at 0x406593
Capabilities:
Accept command line arguments

Disassembly:
push 0x54
mov eax, 0x4729ed
call fcn.00455d7d
mov eax, dword [ebp + 8]
push 0
push 0x42e70c
mov dword [ebp - 0x5c], eax
call fcn.0042fbde
pop ecx
pop ecx
test eax, eax
je 0x4065c4
mov ecx, dword [eax + 0xc]
mov dword [ecx + 0x98], 0x42e730
and dword [ebp - 4], 0
mov ebx, eax
mov dword [ebp - 0x60], ebx
mov esi, 0x480ab0
mov eax, dword [esi + 4]
test eax, eax
je 0x4065ec
push dword [esi]
mov ecx, ebx
call fcn.0042e5ba
add dword [ebx + 8], 0xfffffff8
pop ecx
add esi, 8
jmp 0x4065d2
push str._PRELOAD
mov eax, ebx
call fcn.0042e550
mov edi, 0x480b08
mov eax, dword [edi + 4]
xor esi, esi
pop ecx
cmp eax, esi
je 0x406621
push esi
mov esi, ebx
call fcn.0042eeb3
pop ecx
push dword [edi]
mov eax, ebx
push 0xfffffffffffffffe
pop edx
call fcn.0042f187
add edi, 8
jmp 0x4065fd
add dword [ebx + 8], 0xfffffff8
mov eax, ebx
call fcn.0040587b
push ebx
call fcn.00405a2c
pop ecx
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0x58], esi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
push esi
push esi
mov esi, ebx
mov dword [ebp - 0x54], eax
call fcn.0042f052
xor eax, eax
pop ecx
pop ecx
cmp dword [ebp - 0x54], eax
je 0x4066da
mov dword [ebp - 0x50], eax
cmp eax, dword [ebp - 0x58]
jge 0x4066da
mov ecx, dword [ebp - 0x54]
push dword [ecx + eax*4]
lea esi, [ebp - 0x4c]
call fcn.00409092
lea eax, [ebp - 0x30]
push eax
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.00427aac
pop ecx
push 1
xor edi, edi
mov byte [ebp - 4], 3
call fcn.00403c49
mov edi, dword [ebp - 0x50]
mov eax, dword [ebx + 8]
inc edi
mov dword [ebp - 0x50], edi
fild dword [ebp - 0x50]
fstp qword [eax]
add eax, 8
cmp dword [ebp - 0x1c], 0x10
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x30]
jae 0x4066b0
lea eax, [ebp - 0x30]
push eax
mov esi, ebx
call fcn.0042ee34
pop ecx
push 0xfffffffffffffffd
pop edx
mov eax, ebx
call fcn.0042f164
push 0
push 1
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0
call fcn.00403b18
mov dword [ebp - 0x50], edi
mov eax, edi
jmp 0x40665f
test byte [0x4a44ac], 1
jne 0x406704
or dword [0x4a44ac], 1
mov dword [0x49f9d0], 0xf6e5dbdb
mov word [0x49f9d4], 0xf7e3
mov byte [0x49f9d6], 0x84
xor eax, eax
cmp eax, 7
jae 0x40671d
mov cl, byte [eax + 0x49f9d0]
xor cl, 0x84
mov byte [eax + 0x4a00c8], cl
inc eax
jmp 0x406706
push 0x4a00c8
mov esi, ebx
call fcn.0042f113
mov eax, dword [ebx + 8]
and dword [eax], 0
mov dword [eax + 4], 0x7ff7a501
add dword [ebx + 8], 8
test byte [0x4a44a8], 1
pop ecx
jne 0x40675f
or dword [0x4a44a8], 1
mov dword [0x49f9d8], 0xe1e0dbdb
mov dword [0x49f9dc], 0x84e3f1e6
xor eax, eax
cmp eax, 8
jae 0x406778
mov cl, byte [eax + 0x49f9d8]
xor cl, 0x84
mov byte [eax + 0x4a00d0], cl
inc eax
jmp 0x406761
push 0x4a00d0
mov esi, ebx
call fcn.0042f113
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x14], 0x10
pop ecx
jb 0x406790
mov eax, dword [eax]
push eax
mov esi, ebx
call fcn.0042ee34
test byte [0x4a44a4], 1
pop ecx
jne 0x4067c6
or dword [0x4a44a4], 1
mov dword [0x49f9e0], 0xebe7dbdb
mov dword [0x49f9e4], 0xfce1f0ea
mov word [0x49f9e8], 0x84f0
xor eax, eax
cmp eax, 0xa
jae 0x4067df
mov cl, byte [eax + 0x49f9e0]
xor cl, 0x84
mov byte [eax + 0x4a00d8], cl
inc eax
jmp 0x4067c8
push 0x4a00d8
mov esi, ebx
call fcn.0042f113
pop ecx
mov eax, ebx
call fcn.00455dd9
ret