Function at 0x4ca190
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5371a9
mov eax, dword fs:[0]
push eax
sub esp, 0xf8
mov eax, dword [0x59a0a0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x104], ebx
cmp byte [esi + 4], bl
je 0x4ca218
cmp dword [esi + 0x1d4], ebx
sete al
test al, al
jne 0x4ca218
cmp dword [esi + 0x3c], ebx
sete al
test al, al
jne 0x4ca218
cmp dword [esi + 0xb4], ebx
sete al
test al, al
jne 0x4ca218
cmp dword [esi + 0x6c], ebx
sete al
test al, al
je 0x4ca211
cmp dword [esi + 0xe4], ebx
sete al
test al, al
jne 0x4ca218
xor eax, eax
jmp 0x4ca85e
mov byte [esi + 4], bl
mov dword [esi + 8], ebx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
test eax, eax
je 0x4ca343
cmp word [eax], bx
je 0x4ca343
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0xf8], ebx
push ecx
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0x100], eax
test ecx, ecx
je 0x4ca343
test eax, eax
je 0x4ca343
xor ebx, ebx
test ecx, ecx
jle 0x4ca341
lea edi, [ebx + 1]
push 0x5548f4
push dword [eax + ebx*4]
call fcn.004a689d
add esp, 8
test eax, eax
jne 0x4ca31b
cmp edi, dword [ebp - 0xf8]
jge 0x4ca31b
mov eax, dword [ebp - 0x100]
inc ebx
inc edi
mov dword [ebp - 0xfc], edi
lea edi, [esi + 0x14]
mov ecx, edi
push dword [eax + ebx*4]
call fcn.00405170
cmp dword [edi + 0x10], 1
jne 0x4ca2fa
cmp dword [edi + 0x14], 8
jb 0x4ca2c1
mov eax, dword [edi]
jmp 0x4ca2c3
mov eax, edi
cmp word [eax], 0x30
jne 0x4ca2fa
push 0x5548fc
mov ecx, edi
mov dword [esi + 8], 0
call fcn.00405170
mov edi, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x100]
inc ebx
inc edi
cmp ebx, dword [ebp - 0xf8]
jl 0x4ca272
mov ebx, dword [ebp - 0x104]
jmp 0x4ca343
cmp dword [edi + 0x14], 8
jb 0x4ca302
mov edi, dword [edi]
push edi
call fcn.004a65cc
add esp, 4
mov dword [esi + 8], eax
test eax, eax
jne 0x4ca2dc
or dword [ebp - 0x104], 1
jmp 0x4ca2dc
mov eax, dword [ebp - 0x100]
push 0x554900
push dword [eax + ebx*4]
call fcn.004a689d
add esp, 8
test eax, eax
jne 0x4ca2e2
mov dword [esi + 0x1f8], 1
jmp 0x4ca2e2
xor ebx, ebx
push dword [ebp - 0xf4]
mov ecx, esi
call fcn.004c9270
cmp dword [esi + 8], 0xc7
ja 0x4ca36e
push ecx
push 0x554920
push 0x554938
mov ecx, esi
call fcn.004c9680
add dword [esi + 8], eax
push dword [esi + 8]
lea eax, [ebp - 0x90]
push 0x554948
push eax
call fcn.00405020
add esp, 0xc
cmp word [ebp - 0x90], 0
jne 0x4ca393
xor edx, edx
jmp 0x4ca3af
lea edx, [ebp - 0x90]
lea ecx, [edx + 2]
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x4ca3a0
sub edx, ecx
sar edx, 1
push edx
lea eax, [ebp - 0x90]
lea ecx, [esi + 0x14]
push eax
call fcn.00405040
mov ecx, esi
call fcn.004c99c0
lea eax, [esi + 0x10]
mov ecx, esi
push eax
call fcn.004c9900
push ecx
push str.VMIndexBase
push str.Product
mov ecx, esi
call fcn.004c9680
push ecx
mov dword [esi + 0xc], eax
lea eax, [ebp - 0xa8]
push 0x5791f0
push eax
call fcn.004ca040
mov ecx, eax
lea edi, [esi + 0x44]
mov dword [ebp - 0xf4], ecx
cmp edi, ecx
je 0x4ca447
mov eax, dword [edi + 0x14]
cmp eax, 8
jb 0x4ca420
inc eax
mov ecx, edi
push eax
push dword [edi]
call fcn.00403010
mov ecx, dword [ebp - 0xf4]
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], 0
cmp dword [edi + 0x14], 8
jb 0x4ca438
mov eax, dword [edi]
jmp 0x4ca43a
mov eax, edi
xor edx, edx
push ecx
mov ecx, edi
mov word [eax], dx
call fcn.004042c0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x94]
cmp eax, 8
jb 0x4ca46c
inc eax
lea ecx, [ebp - 0xa8]
push eax
push dword [ebp - 0xa8]
call fcn.00403010
lea eax, [ebp - 0xc0]
mov ecx, esi
push eax
call fcn.00401b60
mov dword [ebp - 4], 1
cmp dword [eax + 0x14], 8
jb 0x4ca489
mov eax, dword [eax]
push ecx
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.004ca040
mov ecx, eax
lea edi, [esi + 0x2c]
mov dword [ebp - 0xf4], ecx
cmp edi, ecx
je 0x4ca4e6
mov eax, dword [edi + 0x14]
cmp eax, 8
jb 0x4ca4bf
inc eax
mov ecx, edi
push eax
push dword [edi]
call fcn.00403010
mov ecx, dword [ebp - 0xf4]
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], 0
cmp dword [edi + 0x14], 8
jb 0x4ca4d7
mov eax, dword [edi]
jmp 0x4ca4d9
mov eax, edi
xor edx, edx
push ecx
mov ecx, edi
mov word [eax], dx
call fcn.004042c0
mov eax, dword [ebp - 0x94]
cmp eax, 8
jb 0x4ca504
inc eax
lea ecx, [ebp - 0xa8]
push eax
push dword [ebp - 0xa8]
call fcn.00403010
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov word [ebp - 0xa8], ax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x94], 7
mov dword [ebp - 0x98], 0
cmp eax, 8
jb 0x4ca546
inc eax
lea ecx, [ebp - 0xc0]
push eax
push dword [ebp - 0xc0]
call fcn.00403010
lea eax, [ebp - 0xc0]
mov ecx, esi
push eax
call fcn.00403ec0
mov dword [ebp - 4], 3
cmp dword [eax + 0x14], 8
jb 0x4ca563
mov eax, dword [eax]
push ecx
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.004ca040
mov ecx, eax
lea edi, [esi + 0x5c]
mov dword [ebp - 0xf4], ecx
cmp edi, ecx
je 0x4ca5c0
mov eax, dword [edi + 0x14]
cmp eax, 8
jb 0x4ca599
inc eax
mov ecx, edi
push eax
push dword [edi]
call fcn.00403010
mov ecx, dword [ebp - 0xf4]
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], 0
cmp dword [edi + 0x14], 8
jb 0x4ca5b1
mov eax, dword [edi]
jmp 0x4ca5b3
mov eax, edi
xor edx, edx
push ecx
mov ecx, edi
mov word [eax], dx
call fcn.004042c0
mov eax, dword [ebp - 0x94]
cmp eax, 8
jb 0x4ca5de
inc eax
lea ecx, [ebp - 0xa8]
push eax
push dword [ebp - 0xa8]
call fcn.00403010
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov word [ebp - 0xa8], ax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x94], 7
mov dword [ebp - 0x98], 0
cmp eax, 8
jb 0x4ca620
inc eax
lea ecx, [ebp - 0xc0]
push eax
push dword [ebp - 0xc0]
call fcn.00403010
lea eax, [ebp - 0xc0]
mov ecx, esi
push eax
call fcn.00403f00
mov dword [ebp - 4], 5
cmp dword [eax + 0x14], 8
jb 0x4ca63d
mov eax, dword [eax]
push ecx
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.004ca040
push eax
lea ecx, [esi + 0x74]
call fcn.004040c0
mov eax, dword [ebp - 0x94]
cmp eax, 8
jb 0x4ca672
inc eax
lea ecx, [ebp - 0xa8]
push eax
push dword [ebp - 0xa8]
call fcn.00403010
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov word [ebp - 0xa8], ax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x94], 7
mov dword [ebp - 0x98], 0
cmp eax, 8
jb 0x4ca6b4
inc eax
lea ecx, [ebp - 0xc0]
push eax
push dword [ebp - 0xc0]
call fcn.00403010
lea eax, [ebp - 0xc0]
mov ecx, esi
push eax
call fcn.00403f40
mov dword [ebp - 4], 6
cmp dword [eax + 0x14], 8
jb 0x4ca6d1
mov eax, dword [eax]
push ecx
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.004ca040
lea ecx, [esi + 0xd4]
push eax
call fcn.004040c0
mov eax, dword [ebp - 0x94]
cmp eax, 8
jb 0x4ca709
inc eax
lea ecx, [ebp - 0xa8]
push eax
push dword [ebp - 0xa8]
call fcn.00403010
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov word [ebp - 0xa8], ax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x94], 7
mov dword [ebp - 0x98], 0
cmp eax, 8
jb 0x4ca74b
inc eax
lea ecx, [ebp - 0xc0]
push eax
push dword [ebp - 0xc0]
call fcn.00403010
lea eax, [ebp - 0xa8]
mov ecx, esi
push eax
call fcn.00401ba0
mov dword [ebp - 4], 7
cmp dword [eax + 0x14], 8
jb 0x4ca768
mov eax, dword [eax]
push ecx
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.004ca040
lea ecx, [esi + 0xa4]
push eax
call fcn.004040c0
lea ecx, [ebp - 0xc0]
call fcn.00403110
lea ecx, [ebp - 0xa8]
mov dword [ebp - 4], 0xffffffff
call fcn.00403110
lea eax, [ebp - 0xf0]
mov ecx, esi
push eax
call fcn.00403e80
mov dword [ebp - 4], 8
cmp dword [eax + 0x14], 8
jb 0x4ca7bc
mov eax, dword [eax]
sub esp, 8
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.004c9ee0
push eax
lea ecx, [esi + 0xbc]
call fcn.004040c0
lea ecx, [ebp - 0xd8]
call fcn.00403110
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.00403110
cmp dword [esi + 0x6c], 0
lea eax, [esi + 0xa4]
cmove edi, eax
lea eax, [esi + 0x8c]
cmp eax, edi
je 0x4ca81e
push 0xffffffffffffffff
push 0
push edi
mov ecx, eax
call fcn.004026e0
lea eax, [esi + 0x8c]
push eax
call fcn.004c9210
mov ecx, esi
call fcn.004c9170
cmp dword [esi + 0x6c], 0
jne 0x4ca83d
cmp dword [esi + 0xe4], 0
jne 0x4ca83d
or ebx, 2
cmp dword [esi + 0x3c], 0
jne 0x4ca846
or ebx, 4
cmp dword [esi + 0xe4], 0
jne 0x4ca858
cmp dword [esi + 0x54], 0
jne 0x4ca858
or ebx, 8
mov byte [esi + 4], 1
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0049aa22
mov esp, ebp
pop ebp
ret 8