Function at 0x40459c
Capabilities:
Accept command line arguments
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
push ebx
push esi
push edi
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x28]
call fcn.0040140d
push 0x1c
call fcn.004048b9
pop ecx
cmp eax, ebx
je 0x4045d4
mov ecx, eax
call fcn.0040563b
mov ebx, eax
lea eax, [ebp - 0x30]
push eax
call fcn.004073ad
pop ecx
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x20]
call fcn.00401037
push ecx
push ecx
mov ecx, esp
push 0x40c8ac
call fcn.0040140d
push 0x5c
lea ecx, [ebp - 0x20]
call fcn.00401510
push ecx
push ecx
mov ecx, esp
push 0x40c8a0
call fcn.0040140d
push 0x5c
lea ecx, [ebp - 0x20]
call fcn.00401510
push ecx
push ecx
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.00401037
call fcn.00401a20
pop ecx
pop ecx
test al, al
je 0x404671
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x10]
call fcn.00401037
mov esi, dword [ebx]
push ecx
push ecx
mov ecx, esp
push 0x40c50c
add esi, 0x10
call fcn.0040140d
push 0x5c
lea ecx, [ebp - 0x10]
call fcn.00401510
push ecx
push ecx
mov ecx, esp
push eax
call fcn.00401037
mov ecx, ebx
call dword [esi]
lea ecx, [ebp - 0x10]
call fcn.00401471
push 0x1e0
call fcn.004048b9
pop ecx
test eax, eax
je 0x40468d
push ebx
push edi
mov ecx, eax
call fcn.004029d9
mov esi, eax
jmp 0x40468f
xor esi, esi
push ecx
push ecx
lea eax, [ebp - 0x30]
mov ecx, esp
push eax
call fcn.00401037
mov ecx, esi
call fcn.004019ce
push ecx
push ecx
lea eax, [ebp - 0x20]
mov ecx, esp
push eax
call fcn.00401037
mov ecx, esi
call fcn.004019f7
mov ecx, esi
call fcn.0040292c
lea ecx, [ebp - 0x18]
call fcn.0040102d
mov edi, dword [esi + 0xd4]
push ecx
push ecx
mov ecx, esp
push 0x40c87c
call fcn.0040140d
mov ecx, edi
call fcn.004075a5
mov edi, eax
test edi, edi
je 0x40475b
cmp dword [edi + 0xc], 0
je 0x40475b
push 0x40c878
lea ecx, [ebp - 0x18]
call fcn.004014af
push ecx
push ecx
mov eax, esp
push 0
lea ecx, [ebp - 0x28]
push ecx
push eax
mov ecx, esi
call fcn.00401c88
lea ecx, [ebp - 0x18]
call fcn.004014d9
push ecx
push ecx
mov ecx, esp
push 0x40c870
call fcn.0040140d
lea ecx, [ebp - 0x18]
call fcn.004014d9
mov eax, dword [edi + 0xc]
push ecx
push ecx
add eax, 4
mov ecx, esp
push eax
call fcn.00401037
lea ecx, [ebp - 0x18]
call fcn.004014d9
push ecx
push ecx
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.00401037
push 0x20
lea ecx, [ebp - 0x18]
call fcn.00401510
jmp 0x404770
push ecx
push ecx
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.00401037
lea ecx, [ebp - 0x18]
call fcn.00401479
mov edi, dword [esi + 0xd4]
push ecx
push ecx
mov ecx, esp
push 0x40c848
call fcn.0040140d
mov ecx, edi
call fcn.004075a5
test eax, eax
je 0x4047ad
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4047ad
push ecx
push ecx
add eax, 4
mov ecx, esp
push eax
call fcn.00401037
push 0x20
lea ecx, [ebp - 0x18]
call fcn.00401510
push ecx
push ecx
lea eax, [ebp - 0x18]
mov ecx, esp
push eax
call fcn.00401037
mov ecx, esi
call fcn.00402ea3
mov ecx, esi
call fcn.00403675
mov al, byte [esi + 0x1b6]
mov byte [ebp - 1], al
mov al, byte [esi + 0xc8]
mov byte [ebp - 0xc], al
lea eax, [esi + 0xe4]
push eax
lea ecx, [ebp - 0x40]
call fcn.00401037
xor edi, edi
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
cmp edi, eax
jbe 0x404803
mov eax, dword [ebx]
push edi
mov ecx, ebx
call dword [eax + 8]
inc edi
cmp eax, 2
jl 0x4047eb
mov eax, dword [ebx]
push edi
mov ecx, ebx
call dword [eax + 8]
cmp eax, 2
jl 0x40481d
mov eax, dword [ebx]
push edi
mov ecx, ebx
call dword [eax + 4]
mov dword [ebp - 8], eax
jmp 0x404821
and dword [ebp - 8], 0
cmp byte [ebp - 1], 0
je 0x40483d
push ecx
push ecx
mov ecx, esp
call fcn.0040102d
push 0xc
push 0
push 0
mov ecx, esi
call fcn.004026eb
lea eax, [esi + 0x18c]
push eax
lea ecx, [ebp - 0x38]
call fcn.00401037
mov edi, dword [ebx]
push ecx
push ecx
mov ecx, esp
push 0x40c50c
add edi, 0x1c
call fcn.0040140d
push 0x5c
lea ecx, [ebp - 0x38]
call fcn.00401510
push ecx
push ecx
mov ecx, esp
push eax
call fcn.00401037
mov ecx, ebx
call dword [edi]
mov ecx, esi
call fcn.00402d01
push esi
call fcn.004048cd
cmp byte [ebp - 1], 0
pop ecx
je 0x4048a3
push dword [ebp - 0xc]
lea eax, [ebp - 0x40]
push ecx
push ecx
mov ecx, esp
push eax
call fcn.00401037
call fcn.00402054
add esp, 0xc
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_ExitProcess]