Function at 0x4067a0
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x1c]
push ebx
sub esp, 0x4c
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [sym.imp.shcore.dll_CommandLineToArgvW]
sub esp, 8
test eax, eax
je 0x406ad8
mov edi, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
cmp eax, 1
je 0x406ae2
mov dword [ebp - 0x30], 0
mov ebx, 1
jle 0x406950
lea esi, [esi]
mov esi, dword [edi + ebx*4]
movzx ecx, word [esi]
mov eax, ecx
and eax, 0xfffffffd
cmp ax, 0x2d
jne 0x4068e0
movzx eax, word [esi + 2]
test ax, ax
jne 0x4068c0
cmp cx, 0x2d
je 0x4068e0
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_towupper]
sub eax, 0x3f
cmp ax, 0x17
ja case.0x406831.1
movzx eax, ax
jmp dword [eax*4 + 0x412810]
mov dword [esp + 4], esi
mov dword [esp], 0xbba
call sym._output_message
mov dword [esp], 0xbbb
call sym._error_exit
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
inc ebx
cmp ebx, dword [ebp - 0x2c]
jl 0x4067f0
jne 0x406950
cmp dword [ebp - 0x30], 2
jne 0x406ac1
mov dword [esp], 0xbbd
call sym._output_message
mov dword [esp], 0xbbb
call sym._error_exit
mov esi, dword [ebp - 0x1c]
jmp 0x4068e3
mov dword [esp], 0xbb9
call sym._error_exit
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
jmp case.0x406831.4
mov dword [ebp - 0x30], 1
jmp case.0x406831.4
movzx ecx, word [esi + 4]
cmp cx, 0x3a
je 0x40681c
test cx, cx
je 0x40681c
lea esi, [esi]
nop
mov esi, dword [ebp - 0x2c]
cmp esi, ebx
jg 0x4068fe
jmp 0x406950
mov dword [esp], esi
call sym._delete_registry_key
inc ebx
cmp ebx, dword [ebp - 0x1c]
jge 0x406950
mov edx, dword [ebp - 0x30]
mov esi, dword [edi + ebx*4]
lea eax, [ebx*4]
cmp edx, 1
je 0x406980
cmp edx, 2
je 0x4068f0
mov dword [esp + 4], 0x4127f6
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_lstrcmpW]
sub esp, 8
test eax, eax
jne 0x4069b0
mov dword [esp], 0
inc ebx
call dword [sym.imp.ucrtbase.dll___acrt_iob_func]
mov dword [esp], eax
call sym._import_registry_file
cmp ebx, dword [ebp - 0x1c]
jl 0x4068fe
lea esi, [esi]
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_LocalFree]
mov eax, 1
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebp - 0x30], 2
jmp case.0x406831.4
mov eax, dword [edi + eax + 4]
inc ebx
test eax, eax
je 0x406993
cmp word [eax], 0
jne 0x406a80
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], esi
call sym._export_registry_key
jmp 0x4068f8
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_SearchPathW]
mov dword [ebp - 0x2c], 0
sub esp, 0x18
mov edx, eax
test eax, eax
jle 0x406a33
add eax, eax
mov dword [ebp - 0x34], edx
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov edx, dword [ebp - 0x34]
mov dword [esp + 4], esi
mov dword [ebp - 0x2c], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_SearchPathW]
sub esp, 0x18
mov edx, eax
test edx, edx
je 0x406aa0
mov eax, dword [ebp - 0x2c]
mov dword [esp + 4], 0x4127fa
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wfopen]
test eax, eax
je 0x406af5
mov dword [esp], eax
mov esi, eax
call sym._import_registry_file
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x4068f8
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_fclose]
jmp 0x4068f8
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov dword [esp], esi
call sym._export_registry_key
jmp 0x4068f8
mov dword [esp + 4], esi
mov dword [esp], 0xbbe
call sym._output_message
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x4068f8
mov dword [esp], 0xbbc
call sym._output_message
jmp 0x406884
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_LocalFree]
xor eax, eax
sub esp, 4
jmp 0x406961
mov dword [esp], 0x412800
call dword [sym.imp.ucrtbase.dll__wperror]
mov dword [esp + 4], esi
mov dword [esp], 0xbbf
call sym._output_message
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x4068f8