Function at 0x45b740
Capabilities:
Accept command line arguments
Check os version

Disassembly:
push rbx
push rdi
sub rsp, 0xb8
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov edi, ecx
lea rcx, [0x004d5788]
call fcn.0040d880
mov byte [0x004d5790], al
call fcn.0049a810
call fcn.004614cc
call qword [sym.imp.COMCTL32.dll_InitCommonControls]
xor r8d, r8d
mov ecx, 0xc8
mov edx, ecx
call fcn.0040dc74
xor ebx, ebx
cmp al, bl
sete byte [0x004d5794]
xor ecx, ecx
call qword [sym.imp.ole32.dll_OleInitialize]
lea rcx, [rsp + 0x40]
call fcn.004028fc
nop
lea rcx, [rsp + 0x50]
call fcn.004028fc
nop
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.00402998
nop
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x60]
call fcn.00488630
nop
mov rcx, qword [rsp + 0x60]
call sub.msvcrt.dll_free
lea rcx, [rsp + 0x40]
call fcn.00402f40
lea rcx, [rsp + 0x40]
call fcn.00402eec
lea rcx, [rsp + 0x20]
call fcn.004028fc
nop
lea rcx, [rsp + 0x30]
call fcn.004028fc
nop
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
call fcn.00488630
lea rcx, [rsp + 0x20]
call fcn.00402f40
lea rcx, [rsp + 0x20]
call fcn.00402eec
lea rcx, [rsp + 0x30]
call fcn.00402f40
lea rcx, [rsp + 0x30]
call fcn.00402eec
lea rdx, [0x004a4d70]
mov rcx, qword [rsp + 0x30]
call fcn.00401de4
cmp al, bl
je 0x45b872
mov rdx, qword [rsp + 0x30]
add rdx, 4
lea rcx, [0x004d57b0]
call fcn.00402b10
cmp dword [rsp + 0x28], ebx
je 0x45b889
lea rdx, [rsp + 0x20]
lea rcx, [0x004d57a0]
call fcn.00402b78
call fcn.00405540
call fcn.00487304
cmp al, bl
je 0x45b8b4
call fcn.0040b064
cmp eax, ebx
jne 0x45b8b4
mov dl, 1
lea rcx, [0x0049cc60]
call fcn.0040afcc
mov byte [0x004d5792], al
call qword [sym.imp.KERNEL32.dll_GetVersion]
cmp al, 6
jb 0x45b8e1
mov byte [0x004d579e], 1
mov dl, 1
lea rcx, str.SeRestorePrivilege
call fcn.0040afcc
mov dl, 1
lea rcx, str.SeCreateSymbolicLinkPrivilege
call fcn.0040afcc
lea rcx, [0x004d57c0]
call fcn.0044af84
mov ecx, edi
call fcn.0045b4a4
cmp eax, ebx
jne 0x45b91e
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x20]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x50]
call sub.msvcrt.dll_free
nop
jmp 0x45b9ca
mov edx, 0x48
mov rcx, qword [0x004d5780]
call qword [sym.imp.USER32.dll_LoadAcceleratorsW]
mov rdi, rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x78]
call qword [sym.imp.USER32.dll_GetMessageW]
cmp eax, ebx
je 0x45b990
lea r8, [rsp + 0x78]
mov rdx, rdi
mov rcx, qword [0x004d5778]
call qword [sym.imp.USER32.dll_TranslateAcceleratorW]
cmp eax, ebx
jne 0x45b979
lea rcx, [rsp + 0x78]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x78]
call qword [sym.imp.USER32.dll_DispatchMessageW]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x78]
call qword [sym.imp.USER32.dll_GetMessageW]
cmp eax, ebx
jne 0x45b94a
call fcn.00439bc0
mov qword [0x004d5778], rbx
call qword [sym.imp.ole32.dll_OleUninitialize]
mov ebx, dword [rsp + 0x88]
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x20]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x50]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x40]
call sub.msvcrt.dll_free
mov eax, ebx
add rsp, 0xb8
pop rdi
pop rbx
ret