Function at 0x4677b0
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc4
lea edi, [ebp + 8]
mov eax, dword [0x742040]
xor eax, ebp
mov dword [ebp - 0x10], eax
lea esi, [ebp + 0xc]
push 0x2f
push 0x6c2f8f
call fcn.004f2450
add esp, 8
cmp eax, 2
jl 0x4678e0
mov ebx, esi
lea ecx, [ebp - 0xb8]
push 0xfffffffffffffffe
push 0xf5
push 0x6c2f8f
call fcn.00494bc0
lea eax, [ebp - 0xb0]
push 0x1d
push 0x6c3022
push eax
call fcn.004d1fe0
add esp, 0xc
push 2
push 0x6bd5cd
push eax
call fcn.004d1fe0
add esp, 0xc
mov esi, eax
cmp dword [edi], 1
jne 0x467854
lea eax, [ebp - 0x18]
mov byte [eax + 7], 4
mov ecx, 0x6bf82e
lea edx, [ebp - 0x1c]
cmp edx, ecx
seta dl
cmp eax, ecx
setbe cl
or cl, dl
je 0x467e70
mov dword [ebp - 0x1c], 0x72657355
jmp 0x467889
lea eax, [ebp - 0x16]
mov byte [eax + 5], 6
mov ecx, 0x6bf833
lea edx, [ebp - 0x1c]
cmp edx, ecx
seta dl
cmp eax, ecx
setbe cl
or cl, dl
je 0x467e70
movzx ecx, word [0x6bf837]
mov word [ebp - 0x18], cx
mov ecx, dword [0x6bf833]
mov dword [ebp - 0x1c], ecx
mov byte [eax], 0
lea edi, [ebp - 0x1c]
push edi
call fcn.0055b1d0
add esp, 4
push eax
push edi
push esi
call fcn.004d1fe0
add esp, 0xc
mov esi, eax
cmp byte [edi + 0xb], 0
jns 0x4678b6
push dword [ebp - 0x1c]
call fcn.00540380
add esp, 4
push 2
push 0x6bd5cd
push esi
call fcn.004d1fe0
add esp, 0xc
mov esi, ebx
push ebx
push eax
call fcn.00492f60
add esp, 8
lea ecx, [ebp - 0xb8]
call fcn.004950a0
lea edi, [ebp + 8]
mov dword [ebp - 0xbc], 0
cmp byte [edi + 0xf], 0
mov eax, esi
jns 0x4678f4
mov eax, dword [esi]
lea ecx, [ebp - 0xbc]
push ecx
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ebx, eax
test eax, eax
je 0x467a28
cmp dword [ebp - 0xbc], 0
jle 0x467a28
xor esi, esi
dec esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
mov edi, dword [ebx]
test edi, edi
je 0x467e23
mov dword [ebp - 0xc4], ebx
push edi
call fcn.0055b404
add esp, 4
lea ebx, [ebp - 0x1c]
mov ecx, ebx
push eax
push edi
call fcn.004f2ed0
lea eax, [ebp + 8]
mov edi, dword [eax]
mov ecx, ebx
call fcn.00496290
test al, al
je 0x467aaa
push edi
call fcn.00582580
add esp, 4
test al, al
je 0x4679bd
lea edi, [ebp - 0xb8]
mov dword [edi], esi
mov dword [edi + 4], esi
mov dword [edi + 8], esi
mov ecx, edi
call fcn.004f2e40
push edi
push 0x67
call fcn.0048d830
add esp, 8
lea ecx, [ebp - 0xb8]
test al, al
je 0x467b5c
push ebx
call fcn.00495cb0
mov byte [ebp - 0xc0], al
lea ecx, [ebp - 0xb8]
call fcn.004f2fc0
cmp byte [ebp - 0xc0], 0
je 0x467b61
lea esi, [ebp + 8]
mov ecx, dword [esi + 0x10]
push ebx
call fcn.004f2fe0
mov esi, dword [esi + 0x14]
mov edi, dword [esi]
mov ebx, dword [esi + 4]
cmp ebx, edi
je 0x4679fd
add ebx, 0xfffffff4
jmp 0x4679ed
push dword [ebx]
call fcn.00540380
add esp, 4
lea eax, [ebx - 0xc]
cmp ebx, edi
mov ebx, eax
je 0x4679fd
test ebx, ebx
je 0x467e50
cmp byte [ebx + 0xb], 0
js 0x4679da
jmp 0x4679e4
mov dword [esi + 4], edi
mov dword [ebp - 0xc8], 0
cmp dword [ebp - 0xbc], 2
jl 0x467b12
xor eax, eax
inc eax
lea edi, [ebp + 8]
mov ebx, dword [ebp - 0xc4]
jmp 0x467d31
mov dword [ebp - 0xc8], 0x80070057
push 2
call fcn.004f2410
add esp, 4
test al, al
je 0x467b26
lea edi, [ebp - 0xb8]
mov ecx, edi
push 2
push 0xfb
push 0x6c2f8f
call fcn.00494bc0
lea eax, [ebp - 0xb0]
push 0x1d
push 0x6c3022
push eax
call fcn.004d1fe0
add esp, 0xc
push 0x17
push 0x6c3040
push eax
call fcn.004d1fe0
add esp, 0xc
mov ecx, eax
push dword [ebp - 0xbc]
call fcn.00411c70
mov ecx, edi
lea edi, [ebp + 8]
call fcn.004950a0
jmp 0x467b26
lea ecx, [ebp - 0xb8]
call fcn.004f2fc0
mov dword [ebp - 0xc8], 0x80070057
push 1
call fcn.004f2410
add esp, 4
test al, al
je 0x467b12
lea edi, [ebp - 0xb8]
mov ecx, edi
push 1
push 0x101
push 0x6c2f8f
call fcn.00494bc0
lea eax, [ebp - 0xb0]
push 0x1d
push 0x6c3022
push eax
call fcn.004d1fe0
add esp, 0xc
push 0x2a
push 0x6c3058
push eax
call fcn.004d1fe0
add esp, 0xc
push ebx
push eax
call fcn.005be060
add esp, 8
mov ecx, edi
call fcn.004950a0
lea esi, [ebp + 0xc]
lea edi, [ebp + 8]
mov ebx, dword [ebp - 0xc4]
lea ecx, [ebp - 0x1c]
call fcn.004f2fc0
test ebx, ebx
je 0x467b31
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp byte [edi + 0xf], 0
jns 0x467b41
push dword [esi]
call fcn.00540380
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005412b6
mov eax, dword [ebp - 0xc8]
add esp, 0xc4
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004f2fc0
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0xb0], esi
mov ecx, edi
call fcn.004f2e40
push edi
push 0x68
call fcn.0048d830
add esp, 8
lea ecx, [ebp - 0xb8]
test al, al
je 0x467bb4
push ebx
call fcn.00495cb0
mov byte [ebp - 0xc0], al
lea ecx, [ebp - 0xb8]
call fcn.004f2fc0
cmp byte [ebp - 0xc0], 0
je 0x467bb9
jmp 0x4679bd
call fcn.004f2fc0
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0xb0], esi
mov ecx, edi
call fcn.004f2e40
push edi
push 0x69
call fcn.0048d830
add esp, 8
test al, al
je 0x467a9f
mov ecx, edi
push ebx
call fcn.00495cb0
mov byte [ebp - 0xc0], al
mov ecx, edi
call fcn.004f2fc0
cmp byte [ebp - 0xc0], 0
je 0x467aaa
jmp 0x4679bd
lea esi, [ebp + 0xc]
jmp 0x467b1e
mov ecx, dword [ecx]
sub esi, ecx
sar esi, 2
imul ebx, esi, 0xaaaaaaab
lea esi, [ebx + 1]
cmp esi, 0x15555556
jae 0x467e57
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
lea ecx, [eax + eax]
cmp ecx, esi
cmova esi, ecx
cmp eax, 0xaaaaaaa
mov eax, 0x15555555
cmovae esi, eax
test esi, esi
je 0x467e69
cmp esi, 0x15555556
jae 0x467e39
lea eax, [esi*4]
lea eax, [eax + eax*2]
push eax
call fcn.00540349
add esp, 4
lea ebx, [ebx + ebx*2]
shl ebx, 2
add ebx, eax
je 0x467e2a
lea ecx, [esi + esi*2]
lea eax, [eax + ecx*4]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebx + 8], eax
movsd xmm0, qword [ebp - 0xb8]
movsd qword [ebx], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xb8], xmm0
mov dword [ebp - 0xb0], 0
lea esi, [ebx + 0xc]
mov edi, dword [ebp - 0xc0]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
sub ecx, eax
sub ebx, ecx
push ecx
push eax
push ebx
call fcn.00543ce0
add esp, 0xc
mov eax, dword [edi]
mov dword [edi], ebx
mov dword [edi + 4], esi
mov ecx, dword [ebp - 0xcc]
mov dword [edi + 8], ecx
test eax, eax
je 0x467cf5
push eax
call fcn.00540380
add esp, 4
mov ebx, dword [ebp - 0xc4]
lea edi, [ebp + 8]
mov eax, dword [ebp - 0xc0]
mov dword [eax + 4], esi
cmp byte [ebp - 0xad], 0
jns 0x467d1e
push dword [ebp - 0xb8]
call fcn.00540380
add esp, 4
mov eax, dword [ebp - 0xd0]
inc eax
cmp eax, dword [ebp - 0xbc]
jge 0x467c0c
mov dword [ebp - 0xd0], eax
mov esi, dword [ebx + eax*4]
test esi, esi
je 0x467e3e
mov edi, dword [edi + 0x14]
push esi
call fcn.0055b404
add esp, 4
cmp eax, 0x7ffffff8
jae 0x467e45
mov ebx, eax
mov dword [ebp - 0xc0], edi
cmp eax, 4
jbe 0x467e12
mov edi, ebx
or edi, 3
inc edi
js 0x467e39
lea eax, [edi + edi]
push eax
call fcn.00540349
add esp, 4
mov dword [ebp - 0xb8], eax
or edi, 0x80000000
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0xb4], ebx
lea edi, [eax + ebx*2]
cmp eax, esi
ja 0x467da9
cmp edi, esi
ja 0x467e62
test ebx, ebx
je 0x467dba
add ebx, ebx
push ebx
push esi
push eax
call fcn.00543ce0
add esp, 0xc
mov word [edi], 0
mov ecx, dword [ebp - 0xc0]
mov esi, dword [ecx + 4]
mov eax, dword [ecx + 8]
cmp esi, eax
jae 0x467c14
test esi, esi
lea edi, [ebp + 8]
je 0x467e2a
mov eax, dword [ebp - 0xb0]
mov dword [esi + 8], eax
movsd xmm0, qword [ebp - 0xb8]
movsd qword [esi], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xb8], xmm0
mov dword [ebp - 0xb0], 0
add esi, 0xc
mov ebx, dword [ebp - 0xc4]
jmp 0x467cfe
mov byte [ebp - 0xad], bl
lea eax, [ebp - 0xb8]
jmp 0x467d9a
push 0x6be6d6
jmp 0x467e2f
push 0x6bd165
push 0x6bd0bf
call fcn.0057cbd0
call fcn.00573fa0
push 0x6be7b6
jmp 0x467e2f
lea ecx, [ebp - 0xb8]
call fcn.00573f90
push 0x6bd1f2
jmp 0x467e2f
mov ecx, dword [ebp - 0xc0]
call fcn.00573900
push 0x6bebbc
jmp 0x467e2f
xor eax, eax
jmp 0x467c77
push 0x6bd32f
jmp 0x467e2f