Function at 0x45cbe0
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
mov eax, dword [0x5f6ea4]
xor eax, esp
mov dword [esp + 0x10], eax
push ebx
push esi
push edi
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0
push eax
push ecx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov edi, eax
mov dword [esp + 0x10], edi
test edi, edi
jne 0x45cc27
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x10]
xor ecx, esp
call fcn.00536fd5
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x14]
mov ecx, edi
push 0x5e2240
call fcn.0045cb60
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, edi
mov dword [esp + 0x18], eax
push 0x5e224c
call fcn.0045cb60
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, edi
mov ebx, eax
push str._prot
call fcn.0045cb60
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, edi
mov esi, eax
push str._pid
call fcn.0045cb60
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, edi
mov dword [esp + 0xc], eax
push str._tail
call fcn.0045cb60
movzx ecx, byte [0x5fd9a7]
add esp, 4
cmp byte [0x5fd92b], 0
mov edi, 1
mov edx, eax
movzx eax, byte [0x5fd9a9]
cmovne ecx, edi
cmp byte [0x5fd963], 0
mov byte [0x5fd9a7], cl
movzx ecx, byte [0x5fd9a6]
cmovne ecx, edi
test esi, esi
mov byte [0x5fd9a6], cl
cmovne eax, edi
cmp byte [0x5fd92a], 0
mov byte [0x5fd9a9], al
movzx eax, byte [0x5fd9ac]
cmovne eax, edi
mov byte [0x5fd9ac], al
test edx, edx
je 0x45cd1b
mov ecx, edx
mov byte [0x5fd9a8], 1
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45cd00
sub ecx, esi
sar ecx, 1
push ecx
push edx
mov ecx, 0x5f7c80
call fcn.0044b750
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test ebx, ebx
je 0x45ce23
push 0x5e2278
push ebx
call edi
test eax, eax
jne 0x45cd59
mov dword [0x5f79f0], 0xa
mov byte [0x5fd9aa], 1
mov byte [0x5fd9ae], 1
mov byte [0x5fd9a4], 1
jmp 0x45ce23
push str.local
push ebx
call edi
test eax, eax
jne 0x45cd7b
mov dword [0x5f79f0], 0xb
mov byte [0x5fd9aa], 1
jmp 0x45ce15
push 0x5e228c
push ebx
call edi
test eax, eax
jne 0x45cd9f
mov dword [0x5f79f0], 0xc
mov byte [0x5fd9aa], al
mov byte [0x5fd9ae], 1
jmp 0x45ce1c
push str.share
push ebx
call edi
test eax, eax
jne 0x45cdc8
mov dword [0x5f79f0], 0xd
mov byte [0x5fd9aa], al
mov byte [0x5fd9ae], al
mov byte [0x5fd9a4], 1
jmp 0x45ce23
push str.watch
push ebx
call edi
test eax, eax
jne 0x45cde0
mov dword [0x5f79f0], 0xe
jmp 0x45ce0e
push 0x5e22ac
push ebx
call edi
test eax, eax
jne 0x45cdf8
mov dword [0x5f79f0], 0xf
jmp 0x45ce0e
push 0x5e22b4
push ebx
call edi
test eax, eax
jne 0x45ce23
mov dword [0x5f79f0], 0x10
mov byte [0x5fd9aa], 0
mov byte [0x5fd9ae], 0
mov byte [0x5fd9a4], 0
mov al, byte [0x5fd956]
test al, al
je 0x45ce6d
cmp al, 3
jne 0x45ce41
or ecx, 0xffffffff
call fcn.0046b2c0
mov byte [0x5fd9ab], 1
jmp 0x45ce6d
cmp al, 2
jne 0x45ce58
mov ecx, 1
call fcn.0046b2c0
mov byte [0x5fd9ab], 1
jmp 0x45ce6d
cmp al, 1
jne 0x45ce6d
mov ecx, 2
call fcn.0046b2c0
mov byte [0x5fd9ab], 0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x45ce83
push eax
call fcn.0055a7c8
add esp, 4
mov dword [0x5fd9a0], eax
mov esi, dword [esp + 0x18]
test esi, esi
je 0x45ced9
push 0x10000
mov byte [0x5fd997], 1
mov dword [0x5f79f0], 0xb
mov byte [0x5fd9aa], 1
mov byte [0x5fd9ae], 1
call fcn.005371e6
add esp, 4
mov dword [esp + 0x18], eax
push esi
push 0x8000
push eax
call fcn.0055a846
add esp, 0xc
lea eax, [esp + 0x18]
mov ecx, 0x5ff950
push eax
call fcn.0045cf70
mov esi, 1
xor bl, bl
cmp dword [esp + 0x14], esi
jle 0x45cf4c
mov eax, dword [esp + 0x10]
mov edx, dword [eax + esi*4]
test bl, bl
je 0x45cf30
mov eax, edx
lea ecx, [eax + 2]
mov dword [esp + 0x18], ecx
nop word [eax + eax]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x45cf00
sub eax, dword [esp + 0x18]
mov ecx, 0x5f7c68
sar eax, 1
push eax
push edx
call fcn.00453360
push 1
push 0x5e22bc
mov ecx, 0x5f7c68
call fcn.00453360
jmp 0x45cf45
push 0x5e2234
push edx
call edi
test eax, eax
movzx ebx, bl
mov eax, 1
cmove ebx, eax
inc esi
cmp esi, dword [esp + 0x14]
jl 0x45cee6
mov ecx, dword [esp + 0x1c]
mov eax, 1
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00536fd5
mov esp, ebp
pop ebp
ret