Function at 0x45a0e0
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
mov eax, dword [0x5eaea4]
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 0x45a127
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x10]
xor ecx, esp
call fcn.0052ebb7
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x14]
mov ecx, edi
push 0x5d8074
call fcn.0045a060
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, edi
mov dword [esp + 0x18], eax
push 0x5d8080
call fcn.0045a060
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, edi
mov ebx, eax
push str._prot
call fcn.0045a060
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, edi
mov esi, eax
push str._pid
call fcn.0045a060
movzx ecx, byte [0x5f17b6]
add esp, 4
cmp byte [0x5f1774], 0
mov edx, 1
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmovne ecx, edx
mov dword [esp + 0xc], eax
movzx eax, byte [0x5f17be]
test esi, esi
mov byte [0x5f17b6], cl
movzx ecx, byte [0x5f17b7]
cmovne ecx, edx
cmp byte [0x5f174b], 0
mov byte [0x5f17b7], cl
cmovne eax, edx
mov byte [0x5f17be], al
test ebx, ebx
je 0x45a2d0
push 0x5d80a0
push ebx
call edi
test eax, eax
jne 0x45a201
mov dword [0x5eb9f0], 0xa
mov byte [0x5f17bc], 1
mov byte [0x5f17bf], 1
mov byte [0x5f17b5], 1
jmp 0x45a2cb
push str.local
push ebx
call edi
test eax, eax
jne 0x45a223
mov dword [0x5eb9f0], 0xb
mov byte [0x5f17bc], 1
jmp 0x45a2bd
push 0x5d80b4
push ebx
call edi
test eax, eax
jne 0x45a247
mov dword [0x5eb9f0], 0xc
mov byte [0x5f17bc], al
mov byte [0x5f17bf], 1
jmp 0x45a2c4
push str.share
push ebx
call edi
test eax, eax
jne 0x45a270
mov dword [0x5eb9f0], 0xd
mov byte [0x5f17bc], al
mov byte [0x5f17bf], al
mov byte [0x5f17b5], 1
jmp 0x45a2cb
push str.watch
push ebx
call edi
test eax, eax
jne 0x45a288
mov dword [0x5eb9f0], 0xe
jmp 0x45a2b6
push 0x5d80d4
push ebx
call edi
test eax, eax
jne 0x45a2a0
mov dword [0x5eb9f0], 0xf
jmp 0x45a2b6
push 0x5d80dc
push ebx
call edi
test eax, eax
jne 0x45a2cb
mov dword [0x5eb9f0], 0x10
mov byte [0x5f17bc], 0
mov byte [0x5f17bf], 0
mov byte [0x5f17b5], 0
mov edx, 1
mov al, byte [0x5f1776]
test al, al
je 0x45a310
cmp al, 3
jne 0x45a2ee
or ecx, 0xffffffff
call fcn.00463200
mov byte [0x5f17bd], 1
jmp 0x45a310
cmp al, 2
jne 0x45a302
mov ecx, edx
call fcn.00463200
mov byte [0x5f17bd], 1
jmp 0x45a310
cmp al, 1
jne 0x45a310
mov ecx, 2
call fcn.00463200
mov eax, dword [esp + 0xc]
test eax, eax
je 0x45a326
push eax
call fcn.005523b8
add esp, 4
mov dword [0x5f17b8], eax
mov esi, dword [esp + 0x18]
test esi, esi
je 0x45a377
push 0x10000
mov byte [0x5f17b4], 1
mov dword [0x5eb9f0], 0xb
mov byte [0x5f17bc], 1
mov byte [0x5f17bf], 1
call fcn.0052edc8
add esp, 4
mov dword [esp + 0x18], eax
push esi
push 0x8000
push eax
call fcn.00552436
add esp, 0xc
lea eax, [esp + 0x18]
push eax
call fcn.0045a410
mov esi, 1
xor bl, bl
cmp dword [esp + 0x14], esi
jle 0x45a3ec
mov eax, dword [esp + 0x10]
mov edx, dword [eax + esi*4]
test bl, bl
je 0x45a3d0
mov eax, edx
lea ecx, [eax + 2]
mov dword [esp + 0x18], ecx
nop dword [eax + eax]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x45a3a0
sub eax, dword [esp + 0x18]
mov ecx, 0x5ebbd8
sar eax, 1
push eax
push edx
call fcn.00451c00
push 1
push 0x5d80e4
mov ecx, 0x5ebbd8
call fcn.00451c00
jmp 0x45a3e5
push 0x5d8068
push edx
call edi
test eax, eax
movzx ebx, bl
mov eax, 1
cmove ebx, eax
inc esi
cmp esi, dword [esp + 0x14]
jl 0x45a384
mov ecx, dword [esp + 0x1c]
mov eax, 1
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0052ebb7
mov esp, ebp
pop ebp
ret