Function at 0x401ba0
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x68
mov eax, dword [0x45a454]
xor eax, ebp
mov dword [ebp - 0x10], eax
lea esi, [ebp - 0x28]
push esi
call fcn.0040d040
add esp, 4
push esi
call fcn.0040b470
add esp, 4
mov ebx, eax
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x401c02
mov ecx, dword [ebp - 0x28]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x401bf8
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x401e03
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.0040d311
add esp, 8
mov edi, 0x55
test bl, bl
je 0x401ded
mov dword [ebp - 0x5c], 0
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea ecx, [ebp - 0x5c]
push ecx
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
test eax, eax
je 0x401c98
mov ecx, dword [ebp - 0x5c]
mov edi, 1
cmp ecx, 2
jl 0x401ded
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x64], eax
mov ebx, dword [eax + 4]
push ebx
call fcn.00434b84
add esp, 4
cmp eax, 7
jne 0x401caf
cmp word [ebx], 0x6f
jne 0x401caf
cmp word [ebx + 2], 0x66
jne 0x401caf
cmp word [ebx + 4], 0x66
jne 0x401caf
cmp word [ebx + 6], 0x73
jne 0x401caf
cmp word [ebx + 8], 0x65
jne 0x401caf
cmp word [ebx + 0xa], 0x74
jne 0x401caf
cmp word [ebx + 0xc], 0x73
jne 0x401caf
mov ecx, dword [ebp - 0x60]
add ecx, 0xfffffffe
mov eax, dword [ebp - 0x64]
add eax, 8
push ecx
push eax
call fcn.00402e10
jmp 0x401cf9
push str.CommandLineToArgvW_failed
call fcn.00401b00
add esp, 4
mov edi, 0xffffffff
jmp 0x401ded
push ebx
call fcn.00434b84
add esp, 4
cmp eax, 6
jne 0x401d03
cmp word [ebx], 0x69
jne 0x401d03
cmp word [ebx + 2], 0x6e
jne 0x401d03
cmp word [ebx + 4], 0x6a
jne 0x401d03
cmp word [ebx + 6], 0x65
jne 0x401d03
cmp word [ebx + 8], 0x63
jne 0x401d03
cmp word [ebx + 0xa], 0x74
jne 0x401d03
mov ecx, dword [ebp - 0x60]
add ecx, 0xfffffffe
mov eax, dword [ebp - 0x64]
add eax, 8
push ecx
push eax
call fcn.00402340
add esp, 8
mov edi, eax
jmp 0x401ded
push ebx
call fcn.00434b84
add esp, 4
mov edi, 2
cmp eax, 5
jne 0x401ded
cmp word [ebx], 0x63
jne 0x401ded
cmp word [ebx + 2], 0x72
jne 0x401ded
cmp word [ebx + 4], 0x61
jne 0x401ded
cmp word [ebx + 6], 0x73
jne 0x401ded
cmp word [ebx + 8], 0x68
jne 0x401ded
cmp dword [ebp - 0x60], 6
mov eax, dword [ebp - 0x64]
jne 0x401ded
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x60], ecx
mov ecx, esi
push dword [eax + 0x10]
mov edi, eax
call fcn.00401fb0
push 0x10
push 0
push esi
call fcn.00401f20
add esp, 0xc
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
lea ebx, [ebp - 0x40]
mov ecx, ebx
push dword [edi + 0xc]
call fcn.00401fb0
push 0x10
push 0
push ebx
call fcn.00401f20
add esp, 0xc
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
lea ebx, [ebp - 0x58]
mov ecx, ebx
push dword [edi + 8]
call fcn.00401fb0
push 0x10
push 0
push ebx
call fcn.00401f20
add esp, 0xc
mov ecx, eax
push dword [ebp - 0x60]
push dword [ebp - 0x70]
push dword [ebp - 0x74]
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.00401e70
add esp, 0x14
mov edi, eax
mov ecx, ebx
call fcn.00401e10
lea ecx, [ebp - 0x40]
call fcn.00401e10
mov ecx, esi
call fcn.00401e10
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040d348
mov eax, edi
add esp, 0x68
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
call fcn.0042eda3
int3