Function at 0x5646a0
Capabilities:
Link many functions at runtime

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x88
mov qword [rsp + 0x68], 0
call fcn.005628c0
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x74], 0
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x30], 0
cmp qword [0x00689c20], 0
jne 0x564823
lea rcx, [0x00644bb8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rsp + 0x78], rax
cmp qword [rsp + 0x78], 0
jne 0x564719
xor eax, eax
jmp 0x564987
lea rdx, str.MessageBoxW
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x68], rax
cmp qword [rsp + 0x68], 0
jne 0x56473f
xor eax, eax
jmp 0x564987
mov rcx, qword [rsp + 0x68]
call fcn.00562820
mov qword [0x00689c20], rax
lea rdx, [0x00644b98]
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call fcn.00562820
mov qword [0x00689c28], rax
lea rdx, [0x00644b80]
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call fcn.00562820
mov qword [0x00689c30], rax
lea rcx, [rsp + 0x50]
call fcn.00554020
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], VarDateFromDisp
lea r9, str.f:_rtm_vctoolscrt_bld_self_64_amd64crt_srccrtmbox.c
lea r8, str.__crtMessageBoxW
lea rdx, str._get_osplatform_osplatform_
mov ecx, eax
call fcn.00551740
cmp dword [rsp + 0x50], 2
jne 0x564823
lea rdx, str.GetUserObjectInformationW
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x68]
call fcn.00562820
mov qword [0x00689c40], rax
cmp qword [0x00689c40], 0
je 0x564823
lea rdx, str.GetProcessWindowStation
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call fcn.00562820
mov qword [0x00689c38], rax
mov rax, qword [rsp + 0x38]
cmp qword [0x00689c38], rax
je 0x56489e
mov rax, qword [rsp + 0x38]
cmp qword [0x00689c40], rax
je 0x56489e
mov rcx, qword [0x00689c38]
call fcn.005628d0
call rax
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x58], 0
je 0x564896
mov rcx, qword [0x00689c40]
call fcn.005628d0
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x20], rcx
mov r9d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea r8, [rsp + 0x40]
mov edx, 1
mov rcx, qword [rsp + 0x58]
call rax
test eax, eax
je 0x564896
mov eax, dword [rsp + 0x48]
and eax, 1
test eax, eax
jne 0x56489e
mov dword [rsp + 0x74], 1
cmp dword [rsp + 0x74], 0
je 0x56490d
lea rcx, [rsp + 0x30]
call fcn.005542e0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x81
lea r9, str.f:_rtm_vctoolscrt_bld_self_64_amd64crt_srccrtmbox.c
lea r8, str.__crtMessageBoxW
lea rdx, str._get_winmajor_winmajor_
mov ecx, eax
call fcn.00551740
cmp dword [rsp + 0x30], 4
jb 0x5648f8
mov eax, dword [rsp + 0xa0]
or eax, 0x200000
mov dword [rsp + 0xa0], eax
jmp 0x56490b
mov eax, dword [rsp + 0xa0]
or eax, 0x40000
mov dword [rsp + 0xa0], eax
jmp 0x56495c
mov rax, qword [rsp + 0x38]
cmp qword [0x00689c28], rax
je 0x56492e
mov rcx, qword [0x00689c28]
call fcn.005628d0
call rax
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0
je 0x56495c
mov rax, qword [rsp + 0x38]
cmp qword [0x00689c30], rax
je 0x56495c
mov rcx, qword [0x00689c30]
call fcn.005628d0
mov rcx, qword [rsp + 0x60]
call rax
mov qword [rsp + 0x60], rax
mov rcx, qword [0x00689c20]
call fcn.005628d0
mov r9d, dword [rsp + 0xa0]
mov r8, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x60]
call rax
add rsp, 0x88
ret