Function at 0x140005904
Capabilities:
Accept command line arguments
Check os version
Compare security identifiers
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2888]
mov eax, 0x2960
call fcn.14000a470
sub rsp, rax
mov rax, qword [0x1400100e0]
xor rax, rsp
mov qword [rbp + 0x2850], rax
mov rdi, rcx
mov dword [rbp + 0xa20], 0x11c
lea rax, [rbp + 0x88]
mov r12d, 1
lea rcx, [rbp + 0xa20]
mov dword [rbp + 0x80], r12d
mov qword [rbp + 0x78], rax
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
nop dword [rax + rax]
xor r13d, r13d
test eax, eax
je 0x14000598e
mov byte [0x1400110da], r12b
mov byte [0x140010dc4], r12b
mov rax, qword [0x14000f0c0]
mov word [rax], r13w
mov rax, qword [0x14000f8d0]
mov word [rax], r13w
lea rax, [rbp + 0x2c0]
mov qword [rbp + 0x2b0], rax
mov dword [rbp + 0x2b8], 0x104
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
nop dword [rax + rax]
mov ecx, 0x22
mov rbx, rax
lea r15d, [rcx - 2]
cmp word [rax], cx
jne 0x1400059df
add rbx, 2
jmp 0x1400059e3
movzx ecx, r15w
movzx eax, word [rbx]
test ax, ax
je 0x140005a06
cmp ax, cx
je 0x1400059fc
add rbx, 2
movzx eax, word [rbx]
test ax, ax
jne 0x1400059eb
cmp word [rbx], r13w
je 0x140005a06
add rbx, 2
mov ecx, 0xfffffff5
mov qword [0x1400110f0], rdi
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
nop dword [rax + rax]
mov qword [0x140010dd0], rax
cmp rax, 0xffffffffffffffff
je 0x140005a3f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileType]
nop dword [rax + rax]
cmp eax, 3
je 0x140005a46
mov qword [0x140010dd0], r13
mov edi, 0x800
mov dword [rbp - 0x28], r13d
mov r8d, edi
lea rcx, [rbp + 0xe40]
xor edx, edx
call sub.msvcrt.dll_memset
mov r8d, edi
lea rcx, [rbp + 0x1850]
xor edx, edx
call sub.msvcrt.dll_memset
mov dword [0x140010c14], r13d
mov edi, 9
cmp word [rbx], r15w
je 0x140005a88
cmp word [rbx], di
jne 0x140005a8e
add rbx, 2
jmp 0x140005a7d
movzx eax, word [rbx]
mov ecx, 0xfffd
sub ax, 0x2d
test cx, ax
jne 0x140005c53
lea rax, [rbx + 2]
test rax, rax
je 0x140005c53
movzx eax, word [rax]
or ax, r15w
cmp ax, 0x60
jne 0x140005c53
add rbx, 4
mov rax, rbx
mov qword [rsp + 0x68], rbx
cmp word [rbx], r15w
je 0x140005ad8
cmp word [rbx], di
jne 0x140005ade
lea rbx, [rax + 2]
jmp 0x140005ac5
lea rax, [rbp + 0xe40]
mov r8d, 0x400
lea rdx, [rbp - 0x20]
mov qword [rbp - 0x20], rax
lea rcx, [rsp + 0x68]
call fcn.1400054b0
test al, al
jne 0x140005b14
xor edx, edx
xor ecx, ecx
call fcn.140002ec0
mov edi, 0x667
jmp 0x140006964
mov eax, dword [rbp + 0x2b8]
mov r9d, 0x20019
add eax, eax
mov dword [rbp - 0x68], r13d
cmp byte [0x1400110da], r13b
mov dword [rsp + 0x70], eax
jne 0x140005b43
cmp byte [0x140010dc4], r13b
mov eax, 0x20119
cmovne r9d, eax
lea rax, [rbp - 0x18]
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionInstallerRunOnceEntries
mov qword [rsp + 0x20], rax
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
nop dword [rax + rax]
test eax, eax
jne 0x140005c4b
mov rcx, qword [rbp - 0x18]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x68]
mov rax, qword [rbp + 0x2b0]
lea rdx, [rbp + 0xe40]
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
nop dword [rax + rax]
mov ebx, eax
cmp eax, 0xea
jne 0x140005c0b
mov edx, dword [rsp + 0x70]
lea rcx, [rbp + 0x2b0]
shr edx, 1
call fcn.140008698
mov rcx, qword [rbp - 0x18]
test al, al
jne 0x140005bd9
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop dword [rax + rax]
jmp 0x140005c9b
lea rax, [rsp + 0x70]
xor r8d, r8d
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x68]
mov rax, qword [rbp + 0x2b0]
lea rdx, [rbp + 0xe40]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
nop dword [rax + rax]
mov ebx, eax
mov rcx, qword [rbp - 0x18]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop dword [rax + rax]
test ebx, ebx
jne 0x140005c4b
cmp dword [rbp - 0x68], r12d
jne 0x140005c4b
mov rbx, qword [rbp + 0x2b0]
movzx r14d, word [rbx]
mov qword [rsp + 0x68], rbx
cmp r14w, r15w
je 0x140005c45
cmp r14w, di
jne 0x14000621c
add rbx, 2
jmp 0x140005c2c
mov edi, r13d
jmp 0x140006964
mov esi, 0x7fffffff
mov rax, rbx
mov edx, esi
cmp word [rax], r13w
je 0x140005c6c
add rax, 2
sub rdx, r12
jne 0x140005c5d
mov rcx, rsi
mov rax, rdx
sub rcx, rdx
neg rax
sbb r8, r8
and r8, rcx
test rdx, rdx
je 0x1400061a8
lea edx, [r8 + 1]
lea rcx, [rbp + 0x2b0]
call fcn.140008698
test al, al
jne 0x140005ca5
mov edi, 0xe
jmp 0x140006964
mov rax, qword [rbp + 0x2b0]
lea rcx, str.package
mov qword [rbp + 0xb90], rcx
mov rdx, rsi
mov byte [rbp + 0xba0], r12b
mov byte [rbp + 0xbb8], r12b
mov word [rax], r13w
lea rax, str.update
movsd xmm0, qword [str.PATCH]
movups xmm1, xmmword [0x14000bf20]
mov qword [rbp + 0xb60], rax
lea rax, str.uninstall
mov qword [rbp + 0xb78], rax
lea rax, [0x14000bda0]
mov qword [rbp + 0xb98], rax
lea rax, str.help
mov qword [rbp + 0xba8], rax
lea rax, [0x14000bdb4]
mov qword [rbp + 0xbb0], rax
lea rax, str.quiet
mov qword [rbp + 0xbc0], rax
lea rax, [0x14000bdd0]
mov qword [rbp + 0xbc8], rax
lea rax, str.passive
mov qword [rbp + 0xbd8], rax
lea rax, str._qb___REBOOTPROMPTS
mov qword [rbp + 0xbe0], rax
lea rax, str.norestart
mov qword [rbp + 0xbf0], rax
lea rax, str.REBOOTReallySuppress
mov qword [rbp + 0xbf8], rax
lea rax, str.forcerestart
mov qword [rbp + 0xc08], rax
lea rax, str.REBOOTForce
mov qword [rbp + 0xc10], rax
lea rax, str.promptrestart
mov qword [rbp + 0xc20], rax
lea rax, str.REBOOTPROMPT__
mov qword [rbp + 0xc28], rax
lea rax, [0x14000bee0]
mov qword [rbp + 0xc38], rax
lea rax, [0x14000bee8]
mov qword [rbp + 0xc40], rax
mov eax, dword [0x14000bef0]
mov dword [rbp + 0xc58], eax
movzx eax, word [0x14000bef4]
mov word [rbp + 0xc5c], ax
mov eax, dword [0x14000bef8]
mov dword [rbp + 0xc50], eax
movzx eax, word [0x14000befc]
mov word [rbp + 0xc54], ax
mov eax, dword [0x14000bf08]
mov dword [rbp + 0xc78], eax
movzx eax, word [0x14000bf0c]
movsd qword [rbp + 0xc70], xmm0
movups xmm0, xmmword [str.MSIPATCHREMOVE]
mov word [rbp + 0xc7c], ax
mov rax, rcx
mov byte [rbp + 0xbd0], r12b
mov byte [rbp + 0xbe8], r12b
mov byte [rbp + 0xc00], r12b
mov byte [rbp + 0xc18], r12b
mov byte [rbp + 0xc30], r12b
mov byte [rbp + 0xc48], r12b
movups xmmword [rbp + 0xc80], xmm0
movups xmmword [rbp + 0xc90], xmm1
cmp word [rax], r13w
je 0x140005e73
add rax, 2
sub rdx, r12
jne 0x140005e64
mov rcx, rsi
mov rax, rdx
sub rcx, rdx
neg rax
sbb r15, r15
and r15, rcx
test rdx, rdx
je 0x1400061a8
lea rdx, [rbp - 0x78]
mov qword [rbp - 0x58], rbx
lea rcx, [rbp - 0x58]
mov qword [rbp - 0x78], r13
call fcn.140002ca4
mov rdi, rax
test rax, rax
je 0x140005f84
mov r14, qword [rbp - 0x78]
movzx eax, word [rdi]
test ax, ax
je 0x140005f84
sub ax, 0x2d
mov ecx, 0xfffd
test cx, ax
jne 0x140005f55
lea r12, [r14 - 1]
mov ecx, 1
cmp r12, rcx
jne 0x140005f14
or dword [rsp + 0x28], 0xffffffff
lea rax, [0x14000bf30]
mov edx, ecx
mov qword [rsp + 0x20], rax
mov ecx, 0x409
lea r9d, [r14 - 1]
lea r8, [rdi + 2]
call qword [sym.imp.KERNEL32.dll_CompareStringW]
nop dword [rax + rax]
cmp eax, 2
je 0x1400060a4
cmp r15, r12
mov r12d, 1
jne 0x140005f55
lea rax, str.package
mov dword [rsp + 0x28], r15d
lea r9d, [r14 - 1]
mov qword [rsp + 0x20], rax
lea r8, [rdi + 2]
mov edx, r12d
mov ecx, 0x409
call qword [sym.imp.KERNEL32.dll_CompareStringW]
nop dword [rax + rax]
cmp eax, 2
je 0x1400060aa
mov r14, r13
mov qword [rbp - 0x78], r13
cmp qword [rbp - 0x58], r13
je 0x140005f78
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x58]
call fcn.140002ca4
mov r14, qword [rbp - 0x78]
mov rdi, rax
jmp 0x140005f7b
mov rdi, r13
test rdi, rdi
jne 0x140005eb3
lea rax, [rbp + 0xc50]
mov byte [rbp + 0xb70], r12b
mov qword [rbp + 0xb68], rax
lea rax, [rbp + 0xc58]
mov byte [rbp + 0xb88], r12b
lea rdx, [rbp - 0x78]
mov qword [rbp + 0xb80], rax
lea rcx, [rbp - 0x58]
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x78], r13
call fcn.140002ca4
mov rbx, rax
test rax, rax
je 0x140006160
mov rdi, qword [rbp - 0x78]
movzx eax, word [rbx]
test ax, ax
je 0x140006160
sub ax, 0x2d
mov ecx, 0xfffd
test cx, ax
jne 0x140006051
mov r15d, r13d
lea rcx, [rbx + 2]
mov r14, r13
lea r12, [rbp + 0xb60]
mov rax, qword [r12]
lea r9d, [rdi - 1]
or dword [rsp + 0x28], 0xffffffff
mov r8, rcx
mov ecx, 0x409
mov qword [rsp + 0x20], rax
mov edx, 1
call qword [sym.imp.KERNEL32.dll_CompareStringW]
nop dword [rax + rax]
cmp eax, 2
je 0x1400060d2
mov eax, 1
lea rcx, [rbx + 2]
add r15d, eax
add r14, rax
add r12, 0x18
cmp r15d, 0xa
jb 0x140005ffe
xor r13d, r13d
mov r12d, eax
mov r9b, r12b
mov dword [rbp + 0x2bc], 0x104
mov r8, rdi
lea rcx, [rbp + 0x2b0]
mov rdx, rbx
call fcn.140002d98
mov edi, eax
test eax, eax
jne 0x140006964
mov rdi, r13
mov qword [rbp - 0x78], r13
cmp qword [rbp - 0x58], r13
je 0x140006154
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x58]
call fcn.140002ca4
mov rdi, qword [rbp - 0x78]
mov rbx, rax
jmp 0x140006157
mov r12d, 1
lea rax, [rbp + 0xc70]
mov byte [rbp + 0xb70], r13b
mov qword [rbp + 0xb68], rax
lea rax, [rbp + 0xc80]
mov byte [rbp + 0xb88], r13b
jmp 0x140005fa7
lea rax, [r14 + r14*2]
mov dword [rbp + 0x2bc], 0x104
mov r10, qword [rbp + rax*8 + 0xb68]
xor r13d, r13d
mov r9b, byte [rbp + rax*8 + 0xb70]
mov r8d, r13d
test r10, r10
je 0x140006131
mov rdx, rsi
lea ecx, [r13 + 1]
mov rax, r10
cmp word [rax], r13w
je 0x140006114
add rax, 2
sub rdx, rcx
jne 0x140006105
mov rax, rdx
neg rax
sbb ecx, ecx
not ecx
and ecx, 0x80070057
test rdx, rdx
je 0x140006136
mov r8, rsi
sub r8, rdx
jmp 0x140006136
mov ecx, 0x80070057
test ecx, ecx
js 0x1400061a8
mov rdx, r10
lea rcx, [rbp + 0x2b0]
call fcn.140002d98
mov r12d, 1
jmp 0x140006070
mov rbx, r13
test rbx, rbx
jne 0x140005fd3
mov rbx, qword [rbp + 0x2b0]
mov rdx, r13
test rbx, rbx
je 0x14000619f
mov rdx, rsi
cmp word [rbx], r13w
je 0x140006181
add rbx, 2
sub rdx, r12
jne 0x140006172
mov rax, rdx
neg rax
sbb ecx, ecx
sub rsi, rdx
not ecx
and ecx, 0x80070057
neg rdx
sbb rdx, rdx
and rdx, rsi
jmp 0x1400061a4
mov ecx, 0x80070057
test ecx, ecx
jns 0x1400061b2
mov edi, 0x65b
jmp 0x140006964
mov r15d, 0x20
test rdx, rdx
je 0x1400061ef
mov rcx, qword [rbp + 0x2b0]
add rcx, 0xfffffffffffffffe
lea rcx, [rcx + rdx*2]
cmp word [rcx], r15w
je 0x1400061dc
mov eax, 9
cmp word [rcx], ax
jne 0x1400061ef
cmp rcx, qword [rbp + 0x2b0]
jb 0x1400061ef
mov word [rcx], r13w
sub rcx, 2
jmp 0x1400061cc
mov rbx, qword [rbp + 0x2b0]
jmp 0x14000620d
cmp r14w, r15w
je 0x140006209
mov eax, 9
cmp r14w, ax
jne 0x14000621c
add rbx, 2
movzx r14d, word [rbx]
mov qword [rsp + 0x68], rbx
test r14w, r14w
jne 0x1400061f8
mov r15, qword [0x140010b50]
mov esi, r13d
mov dword [rbp - 0x7c], r13d
mov edi, 0x667
lea rdx, str.RUVEH_IJDqXFAtPYZlgmnc
mov r8d, 0x52
lea r12, [0x140000000]
test r14w, r14w
je 0x1400068ad
lea r12d, [r8 - 0x32]
cmp r14w, 0x2f
je 0x14000638e
cmp r14w, 0x2d
je 0x14000638e
xor edx, edx
lea rcx, [rbp + 0x810]
mov r8d, 0x208
call sub.msvcrt.dll_memset
lea rax, [rbp + 0x810]
mov ebx, 0x104
lea rdx, [rbp + 0x800]
mov qword [rbp + 0x800], rax
lea rcx, [rsp + 0x68]
mov dword [rbp + 0x808], ebx
mov dword [rbp + 0x80c], ebx
call fcn.140005588
test eax, eax
je 0x140006843
mov r15, qword [rbp + 0x800]
test r15, r15
je 0x14000633a
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_lstrlenW]
nop dword [rax + rax]
mov edx, dword [0x140010d20]
lea rcx, [0x14000f0c0]
add edx, 2
mov ebx, eax
add edx, eax
call fcn.140008718
test al, al
je 0x140006333
movsxd rcx, dword [0x140010d20]
mov r8, r15
mov rax, qword [0x14000f0c0]
lea r14d, [rcx + 1]
mov word [rax + rcx*2], r12w
lea eax, [rbx + 1]
movsxd rdx, eax
mov rax, qword [0x14000f0c0]
movsxd rcx, r14d
mov dword [0x140010d20], r14d
lea rcx, [rax + rcx*2]
call fcn.1400010c4
test eax, eax
js 0x140006333
lea eax, [r14 + rbx]
mov dword [0x140010d20], eax
mov r15, qword [rbp + 0x800]
mov rbx, qword [rsp + 0x68]
mov esi, 9
movzx r14d, word [rbx]
cmp r14w, r12w
je 0x140006354
cmp r14w, si
jne 0x14000635f
add rbx, 2
mov qword [rsp + 0x68], rbx
jmp 0x140006344
cmp dword [rbp + 0x808], 0x104
mov esi, dword [rbp - 0x7c]
jle 0x140006382
test r15, r15
je 0x140006382
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GlobalFree]
nop dword [rax + rax]
mov r15, qword [0x140010b50]
jmp 0x14000682b
lea rax, [rbx + 2]
mov r9d, 0x20
movzx ecx, word [rax]
mov rbx, rax
or ecx, r9d
cmp r13w, word [rax]
je 0x1400063ab
add rbx, 2
mov qword [rsp + 0x68], rbx
mov r12, rdx
movzx eax, r8w
movzx edx, ax
movzx eax, ax
or eax, r9d
cmp eax, ecx
je 0x1400063d5
add r12, 2
movzx eax, word [r12]
movzx edx, ax
test ax, ax
jne 0x1400063b7
test dx, dx
je 0x140006701
cmp word [rbx], r9w
ja 0x1400063fb
movzx eax, word [rbx]
movabs rcx, 0x100000201
bt rcx, rax
mov dword [rbp - 0x80], r13d
jb 0x140006402
mov dword [rbp - 0x80], 1
mov r8d, 9
cmp word [rbx], r9w
je 0x140006414
cmp word [rbx], r8w
jne 0x14000641f
add rbx, 2
mov qword [rsp + 0x68], rbx
jmp 0x140006408
cmp word [r12], 0x63
lea rax, [rbp + 0xe40]
mov r8d, dword [rbp - 0x80]
mov qword [rbp - 0x20], rax
jne 0x14000643f
test r8d, r8d
jne 0x140006701
cmp word [r12], 0x50
jne 0x140006498
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
nop dword [rax + rax]
lea rcx, [rbp + 0x78]
lea edx, [rax + 0xa]
call fcn.1400087c0
test al, al
je 0x14000687b
mov rax, qword [rbp + 0x78]
lea rdx, [rbp - 8]
mov r8d, dword [rbp + 0x80]
lea rcx, [rsp + 0x68]
mov qword [rbp - 8], rax
call fcn.1400054b0
test al, al
je 0x140006885
mov r15, qword [0x140010b50]
jmp 0x1400064c9
cmp word [r12], 0x71
je 0x1400064a8
cmp word [r12], 0x63
jne 0x1400064ad
test r8d, r8d
je 0x1400064d4
mov r8d, 0x400
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x68]
call fcn.1400054b0
test al, al
je 0x140006885
mov rbx, qword [rsp + 0x68]
mov r9d, 0x20
mov r8d, 9
movzx r14d, word [rbx]
cmp r14w, r9w
je 0x1400064ea
cmp r14w, r8w
jne 0x1400064f5
add rbx, 2
mov qword [rsp + 0x68], rbx
jmp 0x1400064da
movzx edx, word [r12]
mov r8d, dword [rbp - 0x80]
lea eax, [rdx - 0x46]
cmp ax, 0x2b
ja 0x140006517
movabs rcx, 0x80000000011
bt rcx, rax
jb 0x140006532
lea r13, [rbp + 0xe40]
movzx ecx, dx
lea r9, [rbp + 0x1850]
cmp dx, 0x6c
jne 0x1400065be
lea r13, [rbp + 0xe40]
movzx ecx, dx
lea r9, [rbp + 0x1850]
test r8d, r8d
je 0x1400065be
lea rax, [rbp + 0x1850]
mov qword [rbp - 0x20], rax
lea r9, [rbp + 0xe40]
mov qword [rbp - 8], r9
lea r13, [rbp + 0x1850]
cmp dx, 0x71
je 0x1400065be
mov r8d, 0x400
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x68]
call fcn.1400054b0
test al, al
je 0x140006885
mov rbx, qword [rsp + 0x68]
mov eax, 0x20
lea esi, [rax - 0x17]
movzx r14d, word [rbx]
cmp r14w, ax
je 0x1400065a4
cmp r14w, si
jne 0x1400065af
add rbx, 2
mov qword [rsp + 0x68], rbx
jmp 0x140006594
movzx edx, word [r12]
mov esi, dword [rbp - 0x7c]
movzx ecx, dx
mov r9, qword [rbp - 8]
lea eax, [rcx - 0x61]
cmp ax, 0x19
ja 0x140006606
lea rax, str.RUVEH_IJDqXFAtPYZlgmnc
mov rdx, r13
sub r12, rax
mov rcx, r9
sar r12, 1
lea rax, [0x140000000]
mov rax, qword [rax + r12*8 + 0xb010]
call qword [0x14000b638]
xor r13d, r13d
test eax, eax
jne 0x140006701
mov r15, qword [0x140010b50]
jmp 0x140006815
test r15, r15
je 0x14000676f
mov eax, 0x41
cmp cx, 0x50
jne 0x1400066d8
cmp word [r15], ax
jne 0x1400066d8
xor r13d, r13d
cmp word [rbp + 0x2050], r13w
je 0x140006701
mov word [0x140010ed0], ax
lea r8, [0x140010ed2]
lea rax, [rbp + 0x2050]
mov edx, 0x104
sub rax, r8
lea r10d, [r13 + 1]
mov rcx, r8
test rdx, rdx
je 0x14000667a
movzx r8d, word [rax + rcx]
test r8w, r8w
je 0x14000667a
mov word [rcx], r8w
add rcx, 2
sub rdx, r10
jne 0x14000665d
test rdx, rdx
mov qword [0x140010b50], r12
lea rax, [rcx - 2]
mov r15, r12
cmovne rax, rcx
mov edx, 0x1e
lea rcx, [rbp + 0xca0]
mov word [rax], r13w
lea rax, [rbp + 0xca0]
sub r9, rax
test rdx, rdx
je 0x1400066c4
movzx eax, word [r9 + rcx]
test ax, ax
je 0x1400066c4
mov word [rcx], ax
add rcx, 2
sub rdx, r10
jne 0x1400066a9
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], r13w
jmp 0x140006815
cmp word [r15], 0x50
jne 0x140006893
cmp cx, ax
jne 0x140006893
mov ecx, eax
mov rdx, r13
call fcn.140004460
xor r13d, r13d
test eax, eax
je 0x140006815
xor edx, edx
xor ecx, ecx
call fcn.140002ec0
mov esi, edi
call fcn.140005898
test esi, esi
jne 0x140006729
cmp qword [0x140010b50], r13
jne 0x140006729
xor edx, edx
xor ecx, ecx
call fcn.140002ec0
mov esi, edi
mov edi, 1
lea r12, [0x140000000]
mov ebx, r13d
mov dword [rbp - 0x7c], ebx
test esi, esi
jne 0x140006962
mov eax, dword [0x140010c14]
test eax, eax
je 0x140006962
test eax, eax
je 0x140006a4d
mov rax, qword [0x14000f030]
xor edx, edx
xor ecx, ecx
call qword [0x14000b638]
jmp 0x140006a67
mov qword [0x140010b50], r12
mov r15, r12
cmp cx, 0x50
je 0x1400067c6
lea rax, [rbp + 0x2050]
mov r8d, 0x400
sub r13, rax
lea rcx, [rbp + 0x2050]
test r8, r8
je 0x1400067b2
movzx eax, word [rcx + r13]
test ax, ax
je 0x1400067b2
mov word [rcx], ax
add rcx, 2
sub r8, 1
jne 0x140006796
xor r13d, r13d
lea rax, [rcx - 2]
test r8, r8
cmovne rax, rcx
mov word [rax], r13w
jmp 0x1400067c9
xor r13d, r13d
lea rax, [rbp + 0xca0]
mov r8d, 0x1e
sub r9, rax
lea rcx, [rbp + 0xca0]
test r8, r8
je 0x1400067fc
movzx eax, word [r9 + rcx]
test ax, ax
je 0x1400067fc
mov word [rcx], ax
add rcx, 2
sub r8, 1
jne 0x1400067e0
test r8, r8
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], r13w
cmp dx, 0x45
je 0x1400068a6
mov word [rbp + 0xe40], r13w
mov r12d, 0x20
mov word [rbp + 0x1850], r13w
test r14w, r14w
je 0x1400068a6
lea rdx, str.RUVEH_IJDqXFAtPYZlgmnc
mov r8d, 0x52
jmp 0x140006251
xor edx, edx
xor ecx, ecx
call fcn.140002ec0
mov esi, edi
cmp dword [rbp + 0x808], ebx
jle 0x14000670c
mov rcx, qword [rbp + 0x800]
test rcx, rcx
je 0x14000670c
call qword [sym.imp.KERNEL32.dll_GlobalFree]
nop dword [rax + rax]
jmp 0x14000670c
mov esi, 0xe
jmp 0x14000670c
xor edx, edx
xor ecx, ecx
call fcn.140002ec0
jmp 0x140006964
xor edx, edx
xor ecx, ecx
call fcn.140002ec0
xor r13d, r13d
mov esi, edi
jmp 0x14000670c
lea r12, [0x140000000]
test r15, r15
je 0x14000670c
movzx eax, word [r15]
mov edi, 1
cmp ax, 0x45
je 0x1400068da
sub ax, 0x59
cmp ax, di
jbe 0x1400068da
call fcn.140005898
mov r15, qword [0x140010b50]
cmp word [r15], 0x50
lea rax, str.RUVEH_IJDqXFAtPYZlgmnc
lea rdx, [rbp + 0x2050]
cmove rdx, qword [rbp + 0x78]
lea rcx, [rbp + 0xca0]
sub r15, rax
sar r15, 1
mov rax, qword [r12 + r15*8 + 0xb010]
call qword [0x14000b638]
mov rcx, qword [0x140010b50]
mov esi, eax
movzx eax, word [rcx]
lea ecx, [rax - 0x59]
cmp cx, di
jbe 0x140006962
test esi, esi
jne 0x14000694c
cmp ax, 0x45
jne 0x14000693c
mov ebx, r13d
mov dword [0x140010c14], edi
mov dword [rbp - 0x7c], ebx
jmp 0x140006759
mov eax, dword [0x140010c14]
mov ebx, edi
mov dword [rbp - 0x7c], ebx
jmp 0x140006751
cmp esi, 0x8000
jne 0x1400069eb
mov dword [0x140010c14], r13d
mov esi, r13d
mov edi, esi
cmp dword [rbp + 0x2b8], 0x104
jle 0x140006983
mov rcx, qword [rbp + 0x2b0]
call qword [sym.imp.KERNEL32.dll_GlobalFree]
nop dword [rax + rax]
lea rax, [rbp + 0x2c0]
mov dword [rbp + 0x2b8], 0x104
mov qword [rbp + 0x2b0], rax
mov eax, 1
cmp dword [rbp + 0x80], eax
jle 0x1400069b8
mov rcx, qword [rbp + 0x78]
call qword [sym.imp.KERNEL32.dll_GlobalFree]
nop dword [rax + rax]
mov eax, edi
mov rcx, qword [rbp + 0x2850]
xor rcx, rsp
call fcn.140009a90
lea r11, [rsp + 0x2960]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov eax, 0x4eb
cmp esi, eax
jg 0x140006a1a
je 0x140006735
cmp esi, 0xfffffffe
jl 0x140006a41
test esi, esi
js 0x140006735
lea eax, [rsi - 2]
cmp eax, edi
jbe 0x140006a13
cmp esi, 0x7b
jne 0x140006a41
mov esi, 0x653
jmp 0x140006a41
lea eax, [rsi - 0x642]
cmp eax, 2
jbe 0x140006735
cmp esi, 0x669
je 0x140006735
cmp esi, 0xbc2
je 0x140006735
mov ecx, esi
call fcn.140004f58
jmp 0x140006735
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
nop dword [rax + rax]
lea rcx, str.OLEAUT32.dll
call fcn.140009384
test ebx, ebx
je 0x140006ac7
cmp dword [0x140010c14], r13d
jne 0x140006ad4
mov ebx, r13d
movsxd rcx, ebx
lea r8, [0x14000cbe8]
mov r9d, edi
lea rax, [rcx*4 + 0x1075c]
lea rdx, [rcx*8 + 0xf0b0]
add rax, r12
shl rcx, 4
add rdx, r12
add rcx, r8
mov qword [rsp + 0x20], rax
mov r8d, 4
call qword [sym.imp.ole32.dll_CoRegisterClassObject]
nop dword [rax + rax]
test eax, eax
jne 0x140006ac4
add ebx, edi
cmp ebx, edi
jl 0x140006a77
jmp 0x140006ac7
mov dword [rbp - 0x28], edi
cmp dword [0x140010c14], r13d
je 0x140007962
mov rax, qword gs:[0x60]
xorps xmm0, xmm0
mov r10, qword [rsp + 0x68]
mov r9d, r13d
mov rcx, qword [rax + 0x20]
bts dword [rcx + 8], 0x13
mov ecx, 0x20
movups xmmword [rbp + 0xc60], xmm0
lea ebx, [rcx - 0x17]
lea r11d, [rcx + 0x21]
movzx eax, word [r10]
sub ax, 0x30
cmp ax, bx
ja 0x140006b29
movzx r8d, word [r10]
mov ecx, r9d
lea eax, [r8 - 0x30]
shl r8d, 4
and cl, dil
cmovne r8d, eax
jmp 0x140006b50
movzx eax, word [r10]
sub ax, r11w
cmp ax, 5
ja 0x140006b8c
movzx eax, word [r10]
mov edx, r9d
lea r8d, [rax - 0x37]
shl r8d, 4
lea ecx, [rax - 0x37]
and dl, dil
cmovne r8d, ecx
mov ecx, 0x20
cmp r9d, ecx
jge 0x140006b7b
mov eax, r9d
test r9d, r9d
jns 0x140006b66
lea eax, [rdi + r9]
sar eax, 1
add r9d, edi
cdqe
or byte [rbp + rax + 0xc60], r8b
add r10, 2
jmp 0x140006b04
mov edx, 0x57
lea rcx, str.ServerMain__CA_:_Wrong_command_line
jmp 0x140007953
cmp r9d, ecx
je 0x140006ba2
mov edx, 0x57
lea rcx, str.ServerMain__CA_:_Parsing_command_line_failed
jmp 0x140007953
movzx eax, word [r10]
mov dil, r13b
mov byte [rsp + 0x60], r13b
mov r14b, r13b
mov dword [rsp + 0x70], edi
mov r15b, r13b
mov byte [rsp + 0x61], r13b
mov r12b, r13b
cmp ax, r13w
je 0x140006bcb
movzx eax, word [r10 + 2]
lea r8, [r10 + 2]
cmove r8, r10
cmp ax, 0x43
jne 0x140006be3
mov byte [rsp + 0x60], 1
jmp 0x140006caf
cmp ax, 0x55
jne 0x140006bfa
mov eax, 1
mov byte [rsp + 0x60], al
mov r15b, al
jmp 0x140006caf
cmp ax, r11w
jne 0x140006c11
mov eax, 1
mov r12b, al
mov byte [rsp + 0x61], al
jmp 0x140006caf
cmp ax, 0x4d
je 0x140006c40
mov ecx, 0x52
cmp ax, cx
je 0x140006c2b
cmp ax, 0x45
jne 0x140006caf
cmp ax, cx
movzx edi, dil
mov eax, 1
cmove edi, eax
mov dword [rsp + 0x70], edi
jmp 0x140006c4e
mov eax, 1
mov dl, al
mov r14b, al
mov dword [rsp + 0x70], edx
add r8, 4
xor edx, edx
mov ecx, 0x100000
call qword [sym.imp.KERNEL32.dll_OpenEventW]
nop dword [rax + rax]
mov rbx, rax
lea rcx, [rax - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x14000793e
or edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
nop dword [rax + rax]
mov rcx, rbx
mov edi, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
test edi, edi
je 0x140006cab
mov edx, edi
lea rcx, str.ServerMain__CA_:_Wait_on_synchronization_event_failed
jmp 0x140007953
mov edi, dword [rsp + 0x70]
or rbx, 0xffffffffffffffff
mov qword [rsp + 0x78], rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
nop dword [rax + rax]
mov rcx, rax
lea r9, [rsp + 0x78]
lea edx, [rbx + 3]
lea r8d, [rbx + 2]
call qword [sym.imp.ADVAPI32.dll_OpenThreadToken]
nop dword [rax + rax]
test eax, eax
jne 0x140006d07
mov qword [rsp + 0x78], rbx
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x3f0
je 0x140006d07
lea rcx, str.ServerMain__CA_:_Access_to_token_failed
jmp 0x140007951
test r14b, r14b
jne 0x140006d18
call qword [sym.imp.ADVAPI32.dll_RevertToSelf]
nop dword [rax + rax]
mov rbx, 0xffffffff80000001
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop dword [rax + rax]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
nop dword [rax + rax]
test r14b, r14b
je 0x140006d56
call qword [sym.imp.ADVAPI32.dll_RevertToSelf]
nop dword [rax + rax]
cmp byte [0x1400110da], r13b
mov r14d, r13d
setne r14b
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
nop dword [rax + rax]
lea r8, [rbp]
mov edx, 8
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
nop dword [rax + rax]
test eax, eax
je 0x140006e3b
cmp byte [0x140010b58], r13b
jne 0x140006da8
lea rcx, [rbp + 0x10]
call fcn.1400015e0
mov rbx, qword [rbp + 0x10]
jmp 0x140006db2
lea rbx, [0x140011140]
mov eax, r13d
test eax, eax
jne 0x140006e29
mov rcx, qword [rbp]
lea rax, [rbp + 8]
mov r9d, 0x58
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0xce0]
lea edx, [r9 - 0x57]
call qword [sym.imp.ADVAPI32.dll_GetTokenInformation]
nop dword [rax + rax]
test eax, eax
je 0x140006e29
mov rcx, qword [rbp + 0xce0]
mov rdx, rbx
call qword [sym.imp.ADVAPI32.dll_EqualSid]
nop dword [rax + rax]
mov r9b, byte [0x1400110da]
mov r14d, r13d
mov cl, r9b
movzx r8d, dil
xor r8d, 1
neg cl
sbb edx, edx
neg edx
add edx, 2
test r9b, r9b
setne r14b
test eax, eax
lea ecx, [rdx + r8*2]
cmovne r14d, ecx
mov rcx, qword [rbp]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
jmp 0x140006e78
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
xor edx, edx
lea rcx, [rbp + 0x1640]
mov r8d, 0x208
mov ebx, eax
call sub.msvcrt.dll_memset
mov r9d, ebx
lea r8, str.OpenProcessToken_failed_with__d
mov edx, 0x104
lea rcx, [rbp + 0x1640]
call fcn.140001340
test r15b, r15b
mov r15d, 1
je 0x140006e8c
cmp r14d, r15d
jne 0x140006f07
lea r14d, [r15 + 8]
test r12b, r12b
je 0x140006ea0
test r14d, r14d
jne 0x140006f28
mov r14d, 6
mov r12d, 0x100
mov r8d, 3
mov dword [rbp - 0x40], r12d
cmp r14d, r15d
jbe 0x140006ebe
lea eax, [r14 - 6]
cmp eax, r8d
ja 0x140006ec4
mov r8d, 2
xor r9d, r9d
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0xd40]
call fcn.140001704
mov edi, eax
test eax, eax
je 0x140006f49
mov rcx, qword [rsp + 0x78]
cmp rcx, 0xffffffffffffffff
je 0x140006ef4
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov edx, edi
lea rcx, str.ServerMain__CA_:_Error:_Access_to_SD
call fcn.140004c0c
jmp 0x140006964
test r14d, r14d
jne 0x140006f17
mov r14d, 8
jmp 0x140006e8c
mov edx, 0x57
lea rcx, str.ServerMain__CA_:_Error:_icacContext_in_CA_server_should_be_EEUI_but_is_not_any_impersonated_type
jmp 0x140007953
cmp r14d, r15d
jne 0x140006f38
mov r14d, 7
jmp 0x140006ea0
mov edx, 0x57
lea rcx, str.ServerMain__CA_:_Error:_icacContext_in_CA_server_should_be_AISImpersonated_but_is_not_any_impersonated_type
jmp 0x140007953
movsxd rbx, dword [rbp - 0x40]
mov dword [rbp - 0x10], ebx
mov dword [rbp - 0x80], ebx
mov dword [rbp - 0x34], ebx
mov dword [rbp - 0x38], ebx
mov dword [rbp - 0x3c], ebx
mov dword [rbp + 0x1a8], ebx
cmp ebx, r12d
jle 0x140006f90
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
nop dword [rax + rax]
mov ebx, dword [rbp - 0x80]
mov qword [rbp + 0x1a0], rax
test rax, rax
jne 0x140006faf
mov dword [rbp + 0x1a8], r13d
jmp 0x140006faf
mov r8, r12
lea rcx, [rbp + 0x1b0]
xor edx, edx
call sub.msvcrt.dll_memset
lea rax, [rbp + 0x1b0]
mov qword [rbp + 0x1a0], rax
mov dword [rbp + 0x5e8], ebx
cmp ebx, r12d
jle 0x140006fe0
movsxd rdx, ebx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
nop dword [rax + rax]
mov qword [rbp + 0x5e0], rax
test rax, rax
jne 0x140006fff
mov dword [rbp + 0x5e8], r13d
jmp 0x140006fff
mov r8, r12
lea rcx, [rbp + 0x5f0]
xor edx, edx
call sub.msvcrt.dll_memset
lea rax, [rbp + 0x5f0]
mov qword [rbp + 0x5e0], rax
movsxd rax, dword [rbp - 0x34]
mov dword [rbp + 0x4d8], eax
cmp eax, r12d
jle 0x140007034
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
nop dword [rax + rax]
mov qword [rbp + 0x4d0], rax
test rax, rax
jne 0x140007053
mov dword [rbp + 0x4d8], r13d
jmp 0x140007053
mov r8, r12
lea rcx, [rbp + 0x4e0]
xor edx, edx
call sub.msvcrt.dll_memset
lea rax, [rbp + 0x4e0]
mov qword [rbp + 0x4d0], rax
movsxd rax, dword [rbp - 0x38]
mov dword [rbp + 0x98], eax
cmp eax, r12d
jle 0x14000708b
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
nop dword [rax + rax]
mov qword [rbp + 0x90], rax
mov rbx, rax
test rax, rax
jne 0x1400070aa
mov dword [rbp + 0x98], r13d
jmp 0x1400070aa
mov r8, r12
lea rcx, [rbp + 0xa0]
xor edx, edx
call sub.msvcrt.dll_memset
lea rbx, [rbp + 0xa0]
mov qword [rbp + 0x90], rbx
movsxd rax, dword [rbp - 0x3c]
mov dword [rbp + 0x6f8], eax
cmp eax, r12d
jle 0x1400070e6
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
nop dword [rax + rax]
mov rbx, qword [rbp + 0x90]
mov qword [rbp + 0x6f0], rax
test rax, rax
jne 0x140007105
mov dword [rbp + 0x6f8], r13d
jmp 0x140007105
mov r8, r12
lea rcx, [rbp + 0x700]
xor edx, edx
call sub.msvcrt.dll_memset
lea rax, [rbp + 0x700]
mov qword [rbp + 0x6f0], rax
mov r9, qword [rbp + 0x5e0]
lea rcx, [rbp - 0x3c]
mov rdx, qword [rbp + 0x1a0]
lea r8, [rbp - 0x10]
mov qword [rsp + 0x50], rcx
lea rcx, [rbp + 0xd40]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x34]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x4d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_MakeAbsoluteSD]
nop dword [rax + rax]
test eax, eax
jne 0x14000719b
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x78]
mov edi, eax
cmp rcx, 0xffffffffffffffff
je 0x14000718d
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
lea rsi, str.ServerMain__CA_:_Error:_Format_SD
mov ebx, edi
jmp 0x140007296
mov rcx, qword [rbp + 0x1a0]
xor r9d, r9d
mov rax, qword [0x14000f038]
xor r8d, r8d
mov qword [rsp + 0x40], r13
or edx, 0xffffffff
mov dword [rsp + 0x38], r13d
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], 3
call qword [0x14000b638]
mov ebx, eax
test eax, eax
je 0x140007205
mov rcx, qword [rsp + 0x78]
cmp rcx, 0xffffffffffffffff
je 0x1400071f4
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov edi, 0x641
lea rsi, str.ServerMain__CA_:_CoInitializeSecurity_failed
jmp 0x140007296
xor r9d, r9d
xor r8d, r8d
mov edx, r15d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
nop dword [rax + rax]
mov r12, rax
test rax, rax
jne 0x140007244
mov rcx, qword [rsp + 0x78]
cmp rcx, 0xffffffffffffffff
je 0x14000723b
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
lea rsi, str.ServerMain__CA_:_Error:_Watch_for_the_shutdown_signal
jmp 0x140007283
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
nop dword [rax + rax]
xor r15d, r15d
mov r13, rax
test rax, rax
jne 0x1400072a5
mov rcx, qword [rsp + 0x78]
cmp rcx, 0xffffffffffffffff
je 0x14000727c
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
lea rsi, str.ServerMain__CA_:_Error:_Watch_for_change_of_owning_process_signal
mov edi, 0x641
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
mov edx, ebx
mov rcx, rsi
call fcn.140004c0c
jmp 0x14000776c
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x50], r15
call fcn.14000576c
mov rbx, rax
mov edi, 0x641
test rax, rax
jne 0x1400072e6
mov rcx, qword [rsp + 0x78]
cmp rcx, 0xffffffffffffffff
je 0x1400072da
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
lea rsi, str.ServerMain__CA_:_Connection_to_Service_failed.
jmp 0x140007558
mov dword [rbp - 0x60], r15d
mov dword [rbp - 0x30], r15d
call fcn.140002774
mov r15, rax
test rax, rax
jne 0x14000731e
mov rcx, qword [rsp + 0x78]
cmp rcx, 0xffffffffffffffff
je 0x140007312
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
lea rsi, str.ServerMain__CA_:_Create_Custom_Action_Server_failed.
jmp 0x140007558
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x140007334
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x14000b638]
mov rax, qword [r15]
lea r8, [rbp - 0x48]
lea rdx, [0x14000cc20]
mov rcx, r15
mov rax, qword [rax]
call qword [0x14000b638]
mov rax, qword [r15]
mov rcx, r15
mov rax, qword [rax + 0x10]
call qword [0x14000b638]
mov rcx, qword [rbp - 0x50]
mov dword [rbp - 0x64], r14d
test rcx, rcx
je 0x140007378
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x14000b638]
mov rax, qword [rbx]
lea rcx, [rbp - 0x30]
mov qword [rsp + 0x38], rcx
lea r8, [rbp + 0xc60]
lea rcx, [rbp - 0x50]
mov r9d, 0x10
mov qword [rsp + 0x30], rcx
lea rdx, [rbp - 0x64]
mov rax, qword [rax + 0x70]
lea rcx, [rbp - 0x60]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbp - 0x48]
mov qword [rsp + 0x20], rcx
mov rcx, rbx
call qword [0x14000b638]
test eax, eax
je 0x1400073e4
mov rcx, qword [rsp + 0x78]
cmp rcx, 0xffffffffffffffff
je 0x1400073d8
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
lea rsi, str.ServerMain__CA_:_Process_not_registered_with_service.
jmp 0x140007558
mov r8d, dword [rbp - 0x60]
xor edx, edx
mov ecx, 0x100000
call qword [sym.imp.KERNEL32.dll_OpenProcess]
nop dword [rax + rax]
mov r15, rax
test rax, rax
jne 0x140007432
mov rcx, qword [rsp + 0x78]
cmp rcx, 0xffffffffffffffff
je 0x14000741a
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
lea rsi, str.ServerMain__CA_:_Could_not_open_synchronization_handle.
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x14000755a
mov rcx, qword [rbp - 0x50]
mov rax, qword [0x14000f048]
call qword [0x14000b638]
test eax, eax
jne 0x14000746a
mov rcx, qword [rsp + 0x78]
cmp rcx, 0xffffffffffffffff
je 0x14000745e
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
lea rsi, str.ServerMain__CA_:_Connect_to_remote_object_failed.
jmp 0x140007558
mov rcx, qword [rbp - 0x48]
lea r8, [rbp - 0x70]
lea rdx, [0x14000ccb0]
mov rax, qword [rcx]
mov rax, qword [rax]
call qword [0x14000b638]
xor edx, edx
cmp r14d, dword [rbp - 0x64]
jne 0x14000749c
lea eax, [r14 - 8]
lea r14d, [rdx + 1]
cmp eax, r14d
ja 0x1400074a6
jmp 0x1400074a2
mov r14d, 1
lea rdx, [rbp - 0x64]
mov rcx, qword [rbp - 0x70]
lea r8, [rbp + 0xc60]
mov rax, qword [rcx]
mov rax, qword [rax + 0x140]
call qword [0x14000b638]
mov rcx, qword [rbp - 0x70]
mov rdx, r12
mov rax, qword [rcx]
mov rax, qword [rax + 0x150]
call qword [0x14000b638]
mov rcx, qword [rbp - 0x70]
mov rdx, r13
mov rax, qword [rcx]
mov rax, qword [rax + 0x158]
call qword [0x14000b638]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x70]
mov r9b, byte [rsp + 0x61]
mov r8b, byte [rsp + 0x60]
mov qword [rsp + 0x30], rdx
mov edx, dword [rbp - 0x30]
mov rax, qword [rcx]
mov dword [rsp + 0x28], edx
mov edx, dword [rsp + 0x70]
mov byte [rsp + 0x20], dl
mov rax, qword [rax + 0x148]
mov edx, dword [rbp - 0x60]
call qword [0x14000b638]
mov rcx, qword [rsp + 0x78]
mov edi, eax
cmp rcx, 0xffffffffffffffff
je 0x140007548
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
or qword [rsp + 0x78], 0xffffffffffffffff
test edi, edi
je 0x1400075ae
lea rsi, str.ServerMain__CA_:_Impersonation_token_not_saved.
mov edi, 0x641
mov eax, edi
mov edx, eax
mov rcx, rsi
call fcn.140004c0c
test rbx, rbx
je 0x140007579
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [0x14000b638]
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x14000758f
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x14000b638]
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x14000776c
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x14000b638]
jmp 0x14000776c
mov rcx, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x138]
call qword [0x14000b638]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [0x14000b638]
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x1400075ec
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x14000b638]
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x140007602
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x14000b638]
xor r8d, r8d
mov qword [rbp + 0xb40], r15
mov edi, 0x1cff
mov qword [rbp + 0xb48], r12
or r9d, 0xffffffff
mov qword [rbp + 0xb50], r13
lea rdx, [rbp + 0xb40]
mov dword [rsp + 0x20], edi
lea ecx, [r8 + 3]
xor bl, bl
call qword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
nop dword [rax + rax]
xor r13d, r13d
test eax, eax
je 0x14000782d
cmp eax, r14d
je 0x14000781e
cmp eax, 2
jne 0x1400076b0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov rcx, qword [rbp - 0x70]
lea rdx, [rbp - 0x2c]
mov dword [rbp - 0x2c], r13d
mov rax, qword [rcx]
mov rax, qword [rax + 0x160]
call qword [0x14000b638]
mov r8d, dword [rbp - 0x2c]
xor edx, edx
mov ecx, 0x100000
call qword [sym.imp.KERNEL32.dll_OpenProcess]
nop dword [rax + rax]
mov r15, rax
test rax, rax
je 0x140007736
mov qword [rbp + 0xb40], rax
jmp 0x14000770f
cmp eax, 3
jne 0x14000782d
jmp 0x1400076e1
cmp dword [rbp + 0x20], 0x12
je 0x140007704
lea rcx, [rbp + 0x18]
call qword [sym.imp.USER32.dll_TranslateMessage]
nop dword [rax + rax]
lea rcx, [rbp + 0x18]
call qword [sym.imp.USER32.dll_DispatchMessageW]
nop dword [rax + rax]
xor r9d, r9d
mov dword [rsp + 0x20], r14d
xor r8d, r8d
lea rcx, [rbp + 0x18]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageW]
nop dword [rax + rax]
test eax, eax
jne 0x1400076bb
jmp 0x140007707
mov bl, r14b
test bl, bl
jne 0x14000782d
xor r8d, r8d
mov dword [rsp + 0x20], edi
or r9d, 0xffffffff
lea rdx, [rbp + 0xb40]
lea ecx, [r8 + 3]
call qword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
nop dword [rax + rax]
jmp 0x140007643
mov rcx, qword [rsp + 0x78]
cmp rcx, 0xffffffffffffffff
je 0x14000774d
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov edx, eax
lea rcx, str.ServerMain__CA_:_Could_not_open_synchronization_handle.
call fcn.140004c0c
mov edi, 0x641
mov ebx, 0x100
cmp dword [rbp + 0x6f8], ebx
jle 0x140007791
mov rcx, qword [rbp + 0x6f0]
test rcx, rcx
je 0x140007791
call qword [sym.imp.KERNEL32.dll_GlobalFree]
nop dword [rax + rax]
cmp dword [rbp + 0x98], ebx
jle 0x1400077b1
mov rcx, qword [rbp + 0x90]
test rcx, rcx
je 0x1400077b1
call qword [sym.imp.KERNEL32.dll_GlobalFree]
nop dword [rax + rax]
cmp dword [rbp + 0x4d8], ebx
jle 0x1400077d1
mov rcx, qword [rbp + 0x4d0]
test rcx, rcx
je 0x1400077d1
call qword [sym.imp.KERNEL32.dll_GlobalFree]
nop dword [rax + rax]
cmp dword [rbp + 0x5e8], ebx
jle 0x1400077f1
mov rcx, qword [rbp + 0x5e0]
test rcx, rcx
je 0x1400077f1
call qword [sym.imp.KERNEL32.dll_GlobalFree]
nop dword [rax + rax]
cmp dword [rbp + 0x1a8], ebx
jle 0x140006964
mov rcx, qword [rbp + 0x1a0]
test rcx, rcx
je 0x140006964
call qword [sym.imp.KERNEL32.dll_GlobalFree]
nop dword [rax + rax]
jmp 0x140006964
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov rcx, qword [rbp - 0x70]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x14000b638]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov ebx, 0x100
cmp dword [rbp + 0x6f8], ebx
jle 0x140007872
mov rcx, qword [rbp + 0x6f0]
test rcx, rcx
je 0x140007872
call qword [sym.imp.KERNEL32.dll_GlobalFree]
nop dword [rax + rax]
cmp dword [rbp + 0x98], ebx
jle 0x140007892
mov rcx, qword [rbp + 0x90]
test rcx, rcx
je 0x140007892
call qword [sym.imp.KERNEL32.dll_GlobalFree]
nop dword [rax + rax]
cmp dword [rbp + 0x4d8], ebx
jle 0x1400078b2
mov rcx, qword [rbp + 0x4d0]
test rcx, rcx
je 0x1400078b2
call qword [sym.imp.KERNEL32.dll_GlobalFree]
nop dword [rax + rax]
cmp dword [rbp + 0x5e8], ebx
jle 0x1400078d2
mov rcx, qword [rbp + 0x5e0]
test rcx, rcx
je 0x1400078d2
call qword [sym.imp.KERNEL32.dll_GlobalFree]
nop dword [rax + rax]
cmp dword [rbp + 0x1a8], ebx
jle 0x1400078f2
mov rcx, qword [rbp + 0x1a0]
test rcx, rcx
je 0x1400078f2
call qword [sym.imp.KERNEL32.dll_GlobalFree]
nop dword [rax + rax]
cmp dword [rbp - 0x7c], r13d
je 0x140007917
cmp dword [0x140010c14], r13d
jne 0x140007917
mov ecx, dword [0x14001075c]
test ecx, ecx
je 0x140007917
call qword [sym.imp.ole32.dll_CoRevokeClassObject]
nop dword [rax + rax]
call qword [sym.imp.ole32.dll_CoUninitialize]
nop dword [rax + rax]
cmp dword [rbp - 0x28], r13d
je 0x140006962
mov edi, 0x641
mov ecx, edi
call fcn.140004f58
jmp 0x140006964
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
lea rcx, str.ServerMain__CA_:_Open_synchronization_event_failed
mov edx, eax
call fcn.140004c0c
mov edi, 0x641
jmp 0x140006964
xor r9d, r9d
lea rcx, [rbp + 0x48]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageW]
nop dword [rax + rax]
test eax, eax
jne 0x140007998
cmp dword [0x140010eb0], r13d
je 0x1400078f2
cmp dword [0x140010c10], r13d
je 0x1400078f2
lea rcx, [rbp + 0x48]
call qword [sym.imp.USER32.dll_TranslateMessage]
nop dword [rax + rax]
lea rcx, [rbp + 0x48]
call qword [sym.imp.USER32.dll_DispatchMessageW]
nop dword [rax + rax]
jmp 0x140007962