Function at 0x14000958c
Capabilities:
Acquire debug privileges
Check for time delay via gettickcount
Check mutex on windows
Create process on windows
Read file via mapping
Resume thread

Disassembly:
mov dword [rsp + 0x10], edx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x268
mov esi, 1
xor r15d, r15d
mov r14d, edx
mov byte [rsp + 0x2c0], sil
mov byte [rsp + 0x2c8], sil
mov byte [rsp + 0x92], r15b
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
or rax, 0xffffffffffffffff
mov r8, rax
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
xor eax, eax
lea r8d, [rsi + 0x5f]
lea rcx, [rsp + 0x1d0]
xor edx, edx
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0xd0], r15
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0x1c0], 0x70
mov qword [rsp + 0x1c8], r15
call fcn.1400d1fa0
bts dword [rsp + 0x1fc], 7
mov rcx, rbx
call fcn.140005100
mov cl, r15b
mov dword [rsp + 0x138], r15d
mov dword [rsp + 0xa4], ecx
mov rcx, rax
mov r12, r15
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x88], r15
mov edi, r15d
mov dword [rsp + 0x70], r15d
mov dword [rsp + 0x9c], r15d
mov byte [rsp + 0x90], r15b
mov byte [rsp + 0x91], r15b
mov bpl, r15b
mov byte [rsp + 0x2b0], r15b
mov qword [rsp + 0xf0], r15
mov r13d, r15d
mov dword [rsp + 0xa8], r15d
mov byte [rsp + 0x98], r15b
mov qword [rsp + 0x180], r15
mov byte [rsp + 0x9a], r15b
call fcn.140004f58
lea ebx, [rsi + 8]
mov qword [rsp + 0x78], rax
jmp 0x14000972f
mov edi, 0x2d
lea rdx, [rsp + 0x78]
lea rcx, [0x1400eef64]
lea r8d, [rdi - 0x2b]
call fcn.14005992c
cmp al, r15b
jne 0x140009d8a
lea r8d, [rdi - 0x2a]
lea rdx, [rsp + 0x78]
lea rcx, [0x1400eef60]
call fcn.14005992c
cmp al, r15b
je 0x14000973a
mov byte [rsp + 0x90], sil
mov bpl, byte [rsp + 0x2b0]
mov edi, dword [rsp + 0x70]
mov r12, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x78]
call fcn.140004f58
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
cmp word [rax], r15w
jne 0x1400096c2
jmp 0x140009d9e
lea rdx, [rsp + 0x78]
lea rcx, str.__usr
mov r8d, 5
call fcn.14005992c
cmp al, r15b
je 0x140009760
mov byte [rsp + 0x91], sil
jmp 0x140009707
lea rdx, [rsp + 0x78]
lea rcx, str.__svr
mov r8d, 5
call fcn.14005992c
cmp al, r15b
je 0x140009785
mov dword [rsp + 0xa8], esi
jmp 0x140009707
mov ebp, 6
lea rdx, [rsp + 0x78]
lea rcx, str.__desk
mov r8d, ebp
call fcn.14005992c
cmp al, r15b
je 0x1400097b3
mov bpl, 2
mov byte [rsp + 0x2b0], bpl
jmp 0x14000970f
lea rdx, [rsp + 0x78]
lea rcx, str.__desk_
mov r8d, 7
call fcn.14005992c
cmp al, r15b
je 0x1400097df
mov bpl, r15b
mov byte [rsp + 0x2b0], r15b
jmp 0x14000970f
mov rdx, qword [rsp + 0x78]
lea rcx, str.__ack:
mov r8d, ebp
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
cmp eax, r15d
jne 0x140009888
mov rcx, qword [rsp + 0x78]
add rcx, 0xc
mov qword [rsp + 0x78], rcx
mov rbx, rcx
mov qword [rsp + 0xf0], rcx
movzx eax, word [rcx]
cmp ax, r15w
je 0x14000984b
mov edx, 9
lea r8d, [rdx + 0x17]
cmp dx, ax
ja 0x140009833
cmp ax, 0xd
jbe 0x14000984b
cmp r8w, ax
je 0x14000984b
add rcx, 2
mov qword [rsp + 0x78], rcx
mov ax, word [rcx]
cmp ax, r15w
jne 0x140009828
mov r13, rcx
sub r13, rbx
sar r13, 1
call fcn.140004f58
mov byte [rsp + 0x90], sil
mov byte [rsp + 0x2c8], r15b
mov byte [rsp + 0x2c0], sil
mov dword [rsp + 0x1fc], r15d
mov qword [rsp + 0x78], rax
mov ebx, 9
jmp 0x140009707
mov rdx, qword [rsp + 0x78]
lea rcx, str.__exe:
mov r8d, ebp
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
cmp eax, r15d
jne 0x140009900
mov rax, qword [rsp + 0x78]
lea rcx, [rsp + 0x188]
xor edx, edx
add rax, 0xc
mov r8d, 0x8d
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x188], rax
call fcn.140023d48
mov bpl, byte [rsp + 0x2b0]
mov edi, dword [rsp + 0x70]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x188]
cmp word [rax], r15w
je 0x140009713
mov r12, rax
mov qword [rsp + 0x88], rax
jmp 0x14000971b
lea rdx, [rsp + 0x78]
lea rcx, str.__job
mov r8d, 5
call fcn.14005992c
cmp al, r15b
je 0x140009929
mov byte [rsp + 0x2c8], sil
jmp 0x140009707
lea rdx, [rsp + 0x78]
lea rcx, str.__nojob
mov r8d, 7
call fcn.14005992c
cmp al, r15b
je 0x140009952
mov byte [rsp + 0x2c8], r15b
jmp 0x140009707
lea rdx, [rsp + 0x78]
lea rcx, [0x1400eef08]
mov r8d, ebp
call fcn.14005992c
cmp al, r15b
je 0x14000997a
mov cl, sil
mov dword [rsp + 0xa4], ecx
jmp 0x140009707
lea rdx, [rsp + 0x78]
lea rcx, str.__wait
mov r8d, ebp
call fcn.14005992c
cmp al, r15b
je 0x1400099a0
mov byte [rsp + 0x2c0], sil
jmp 0x140009707
lea rdx, [rsp + 0x78]
lea rcx, str.__waiti
mov r8d, 7
call fcn.14005992c
cmp al, r15b
jne 0x140009707
lea rdx, [rsp + 0x78]
lea rcx, str.__nowait
mov r8d, 8
call fcn.14005992c
cmp al, r15b
je 0x1400099e9
mov byte [rsp + 0x2c0], r15b
jmp 0x140009707
mov r12d, 0xa
lea rdx, [rsp + 0x78]
lea rcx, str.__idlewait
mov r8d, r12d
call fcn.14005992c
cmp al, r15b
je 0x140009a15
mov byte [rsp + 0x98], sil
jmp 0x140009707
lea rdx, [rsp + 0x78]
lea rcx, str.__idle
mov r8d, ebp
call fcn.14005992c
cmp al, r15b
je 0x140009a71
lea rdx, [rsp + 0x9c]
lea rcx, [rsp + 0x78]
mov dword [rsp + 0x9c], r15d
call fcn.140005120
mov bpl, byte [rsp + 0x2b0]
mov r12, qword [rsp + 0x88]
cmp eax, r15d
je 0x140009d81
mov edi, dword [rsp + 0x9c]
mov dword [rsp + 0x70], edi
jmp 0x14000971b
lea rdx, [rsp + 0x78]
lea rcx, str.__killwin2
mov r8d, r12d
call fcn.14005992c
cmp al, r15b
je 0x140009a97
mov byte [rsp + 0x92], sil
jmp 0x140009707
lea rdx, [rsp + 0x78]
lea rcx, str.__killwin
mov r8d, ebx
call fcn.14005992c
cmp al, r15b
je 0x140009b05
mov r8, qword [rsp + 0x78]
mov rdx, r8
movzx eax, word [r8]
cmp ax, r15w
je 0x140009aea
mov ecx, 0x20
cmp bx, ax
ja 0x140009ad2
cmp ax, 0xd
jbe 0x140009aea
cmp cx, ax
je 0x140009aea
add r8, 2
mov qword [rsp + 0x78], r8
mov ax, word [r8]
cmp ax, r15w
jne 0x140009ac7
sub r8, rdx
lea rcx, [0x14010ba08]
or r9, 0xffffffffffffffff
sar r8, 1
call fcn.140057090
jmp 0x140009707
lea rdx, [rsp + 0x78]
lea rcx, str.__delayservice
mov r8d, 0xe
call fcn.14005992c
cmp al, r15b
je 0x140009bac
lea rdx, [rsp + 0x9c]
lea rcx, [rsp + 0x78]
mov dword [rsp + 0x9c], r15d
call fcn.140005120
cmp eax, r15d
je 0x140009707
cmp r14d, esi
jne 0x140009707
mov ecx, dword [rsp + 0x9c]
mov eax, 0x51eb851f
add ecx, 0x63
imul ecx
mov ebx, edx
sar ebx, 5
mov eax, ebx
shr eax, 0x1f
add ebx, eax
mov al, byte [0x14010921f]
cmp al, r15b
jle 0x140009b94
sub ebx, esi
js 0x140009b94
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r11b, byte [0x14010921f]
cmp r11b, r15b
jg 0x140009b79
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rsp + 0x9c]
mov dword [0x14010b95c], eax
jmp 0x14000987e
lea rdx, [rsp + 0x78]
lea rcx, str.__idlequit
mov r8d, r12d
call fcn.14005992c
cmp al, r15b
je 0x140009cb4
mov rax, qword [rsp + 0x78]
mov rdi, rax
movzx ecx, word [rax]
cmp cx, r15w
je 0x140009c10
mov r14d, 0x20
cmp bx, cx
ja 0x140009beb
cmp cx, 0xd
jbe 0x140009c08
cmp r14w, cx
je 0x140009c08
mov rax, qword [rsp + 0x78]
add rax, 2
mov qword [rsp + 0x78], rax
mov cx, word [rax]
cmp cx, r15w
jne 0x140009be0
mov r14d, dword [rsp + 0x2b8]
mov rbx, qword [rsp + 0x78]
sub rbx, rdi
sar rbx, 1
cmp ebx, r15d
jle 0x14000987e
lea eax, [rbx + 2]
movsxd rbp, eax
add rbp, rbp
mov rcx, qword [0x14010c0f0]
lea r8, [rbp + 8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
cmp rax, r15
jne 0x140009c57
mov ecx, 2
call fcn.140056c8c
cmp eax, 4
je 0x140009c2d
mov dword [rsi + 4], 0xaa55
mov qword [rsi], rbp
add rsi, 8
mov eax, 0x2a
mov qword [rsp + 0x180], rsi
cmp ax, word [rdi]
je 0x140009c81
mov eax, 0x21
cmp ax, word [rdi]
jne 0x140009c90
mov al, byte [rdi]
add rdi, 2
dec ebx
mov byte [rsp + 0x9a], al
movsxd rax, ebx
mov rdx, rdi
mov rcx, rsi
lea rbx, [rax + rax]
mov r8, rbx
call fcn.14001a9b0
mov word [rbx + rsi], r15w
mov esi, 1
jmp 0x14000987e
mov rdx, qword [rsp + 0x78]
lea rcx, str.__ppid:
mov r8d, 7
call fcn.140050a6c
cmp al, r15b
je 0x140009d04
add qword [rsp + 0x78], 0xe
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x190], r15
call fcn.14005b108
mov eax, dword [rsp + 0x190]
mov qword [rsp + 0x138], rax
jmp 0x140009707
mov rax, qword [rsp + 0x78]
movzx ecx, word [rax]
cmp di, cx
jne 0x140009d50
cmp di, word [rax + 2]
jne 0x140009d50
cmp bx, cx
ja 0x140009d26
cmp cx, 0xd
jbe 0x140009707
mov eax, 0x20
cmp ax, cx
je 0x140009707
mov rax, qword [rsp + 0x78]
add rax, 2
mov qword [rsp + 0x78], rax
mov cx, word [rax]
cmp cx, r15w
jne 0x140009d17
jmp 0x140009707
mov bpl, byte [rsp + 0x2b0]
mov edi, dword [rsp + 0x70]
mov r12, qword [rsp + 0x88]
mov eax, 0x3d
cmp ax, cx
jne 0x140009d9e
add qword [rsp + 0x78], 2
mov byte [rsp + 0x2c0], sil
jmp 0x14000972a
mov edi, dword [rsp + 0x70]
jmp 0x14000971b
mov bpl, byte [rsp + 0x2b0]
mov edi, dword [rsp + 0x70]
mov r12, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x78]
call fcn.140004f58
mov rcx, rax
mov qword [rsp + 0x78], rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
xor ecx, ecx
mov byte [rsp + 0x80], r15b
mov esi, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
call qword [sym.imp.KERNEL32.dll_GetLastError]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
or rax, 0xffffffffffffffff
mov r8, rax
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
cmp edi, r15d
jbe 0x140009df3
mov ecx, edi
call fcn.140004e88
mov rbx, qword [0x14010ba00]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, 0x11
cmp eax, ecx
cmovge eax, ecx
movsxd rcx, eax
lea eax, [rax + rsi + 0xa0]
lea rdi, [rbx + rcx*2]
lea rcx, [rsp + 0xe8]
movsxd rdx, eax
call fcn.1400571c8
mov eax, 0x3d
cmp ax, word [rdi]
jne 0x140009e41
add rdi, 2
mov byte [rsp + 0x2c0], 1
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rdx, rdi
movsxd rbx, eax
lea ecx, [rbx + 1]
movsxd r8, ecx
mov rcx, qword [rsp + 0xe8]
add r8, r8
call fcn.14001a9b0
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rdx, qword [rsp + 0x78]
inc eax
movsxd r8, eax
mov rax, qword [rsp + 0xe8]
lea rcx, [rax + rbx*2]
add r8, r8
call fcn.14001a9b0
mov rcx, qword [rsp + 0xe8]
lea rdx, [0x1400eee70]
call fcn.140004ff0
cmp rax, r15
je 0x140009eda
movzx eax, word [rax + 0x10]
cmp ax, r15w
je 0x140009ecc
mov edx, 9
cmp dx, ax
ja 0x140009ec2
cmp ax, 0xd
jbe 0x140009ecc
mov ecx, 0x20
cmp cx, ax
jne 0x140009eda
mov ebx, 1
mov byte [rsp + 0x80], bl
jmp 0x140009edf
mov ebx, 1
or dword [rsp + 0x94], 0xffffffff
xor edx, edx
lea rcx, [rsp + 0x231]
lea r8d, [rdx + 0x27]
mov dword [rsp + 0xb8], 8
mov dword [rsp + 0xbc], r15d
mov byte [rsp + 0x230], r15b
call fcn.1400d1fa0
lea rax, [rsp + 0x230]
lea rcx, [rsp + 0x168]
mov qword [rsp + 0x168], rax
mov dword [rsp + 0x160], 0x18
mov dword [rsp + 0x170], r15d
call fcn.140052918
mov al, byte [0x14010921f]
cmp al, r15b
mov qword [rsp + 0x120], r12
mov qword [rsp + 0x118], r15
jle 0x14000a036
call fcn.140003680
mov rdx, qword [rsp + 0xe8]
xor edi, edi
lea r8d, [rdi + 0x20]
mov r14, r15
mov qword [rsp + 0xf8], r15
mov byte [rsp + 0x99], 0xa
mov qword [rsp + 0x128], r15
mov qword [rsp + 0x130], rdi
mov r12, rdi
mov qword [rsp + 0x110], rdi
mov ecx, edi
movzx eax, word [rdx]
cmp ax, di
je 0x140009fc5
or ax, r8w
sub ax, 0x61
cmp ax, 0x19
ja 0x140009fc5
add ecx, ebx
add rdx, 2
jmp 0x140009fa7
mov eax, 9
cmp ax, word [rdx]
ja 0x140009fd5
cmp word [rdx], 0xd
jbe 0x140009fdc
cmp r8w, word [rdx]
cmovne ecx, edi
cmp ecx, 4
jne 0x14000a06d
lea rdx, [0x1400eee48]
lea rcx, [rsp + 0x150]
call fcn.14006160c
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x150]
call fcn.140057290
mov rcx, qword [rsp + 0x150]
or bpl, bl
mov byte [0x14010b8d4], bpl
call fcn.140004d44
lea rcx, [rsp + 0x150]
mov byte [0x14010b8d4], dil
call fcn.14004f564
mov ebx, dword [rsp + 0x94]
lea rcx, [rsp + 0x118]
call fcn.14004f564
lea rcx, [rsp + 0xe8]
call fcn.14004f564
mov eax, ebx
add rsp, 0x268
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
or rax, 0xffffffffffffffff
mov r8, rax
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
movsxd rbx, dword [rsp + 0xa8]
movsxd r13, r13d
mov rbp, rbx
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x178], r13
mov al, byte [rsp + 0x91]
mov byte [rsp + 0x93], al
cmp rbp, rdi
je 0x14000a0cf
cmp r12, rdi
je 0x14000a0cf
mov cl, 1
call fcn.140051728
or edx, 0xffffffff
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov r10, qword [rsp + 0xe8]
mov rdx, rdi
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0x100], rdi
mov qword [rsp + 0x198], r10
cmp qword [rsp + 0xf0], rdi
je 0x14000a788
mov eax, edi
lea rcx, [rsp + 0xc8]
mov qword [rsp + 0x138], rax
call fcn.140057154
mov eax, ebx
neg eax
sbb ebx, ebx
and ebx, 0x100000
mov dword [rsp + 0xa0], ebx
lea eax, [rbx + 0x80]
movsxd rsi, eax
xor eax, eax
mov qword [rsp + 0x1a0], rsi
cmp r14, rax
jne 0x14000a431
cmp r15, rax
jne 0x14000a3a2
mov r15, qword [rsp + 0xf0]
movzx ebx, word [r15 + r13*2]
cmp bx, ax
je 0x14000a16e
mov word [r15 + r13*2], ax
or rax, 0xffffffffffffffff
lea rdx, str.Globalpecmd2012.shm.
lea rcx, [rsp + 0xc8]
mov r9, rax
mov r8, rax
call fcn.140057310
lea rcx, [rsp + 0xc8]
mov rdx, r15
call fcn.140057290
mov r8, qword [rsp + 0xc8]
xor edx, edx
lea ecx, [rdx + 6]
call qword [sym.imp.KERNEL32.dll_OpenFileMappingW]
xor ecx, ecx
mov r15, rax
mov qword [rsp + 0x128], rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor ecx, ecx
cmp rbp, rcx
je 0x14000a348
cmp qword [rsp + 0x130], rcx
jne 0x14000a29a
lea rdx, str.Globalpecmd2012.lock.
lea rcx, [rsp + 0x108]
or r8, 0xffffffffffffffff
call fcn.14006164c
mov rdx, qword [rsp + 0xf0]
lea rcx, [rsp + 0x108]
call fcn.140057290
mov r8, qword [rsp + 0x108]
lea rcx, [rsp + 0x160]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov r8, qword [rsp + 0x108]
lea rcx, [rsp + 0x160]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [rsp + 0x130], rax
test rax, rax
jne 0x14000a27d
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r8, qword [rsp + 0x108]
lea rcx, [rsp + 0x160]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [rsp + 0x130], rax
test rax, rax
je 0x14000a245
mov r14, qword [rsp + 0xf8]
lea rcx, [rsp + 0x108]
call fcn.14004f564
xor ecx, ecx
cmp qword [rsp + 0x130], rcx
je 0x14000a348
cmp r12, rcx
jne 0x14000a348
lea rdx, str.Globalpecmd2012.event.
lea rcx, [rsp + 0x148]
or r8, 0xffffffffffffffff
call fcn.14006164c
mov rdx, qword [rsp + 0xf0]
lea rcx, [rsp + 0x148]
call fcn.140057290
mov r9, qword [rsp + 0x148]
lea rcx, [rsp + 0x160]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov r12, rax
mov qword [rsp + 0x110], rax
test rax, rax
jne 0x14000a339
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r9, qword [rsp + 0x148]
lea rcx, [rsp + 0x160]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rsp + 0x110], rax
test rax, rax
je 0x14000a2fb
mov rbp, qword [rsp + 0x140]
mov r12, rax
lea rcx, [rsp + 0x148]
call fcn.14004f564
xor ecx, ecx
cmp bx, cx
je 0x14000a35a
mov rax, qword [rsp + 0xf0]
mov word [rax + r13*2], bx
cmp r15, rcx
jne 0x14000a3a2
mov rax, qword [rsp + 0xc8]
xor r9d, r9d
lea rdx, [rsp + 0x160]
mov qword [rsp + 0x28], rax
lea r8d, [r9 + 4]
or rcx, 0xffffffffffffffff
mov dword [rsp + 0x20], esi
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov r15, rax
mov qword [rsp + 0x128], rax
xor eax, eax
cmp r15, rax
setne dil
cmp r15, rax
je 0x14000a3c7
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
lea edx, [r9 + 6]
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov r14, rax
mov qword [rsp + 0xf8], rax
xor eax, eax
cmp dil, al
je 0x14000a42a
xor edi, edi
cmp r14, rdi
je 0x14000a3e3
xor edx, edx
mov r8d, 0x80
mov rcx, r14
call fcn.140004fcc
cmp r12, rdi
je 0x14000a428
lea rcx, [rsp + 0xc8]
call fcn.14004f564
lea rcx, [rsp + 0x100]
call fcn.14004f564
lea rcx, [rsp + 0xc0]
call fcn.14004f564
lea rcx, [rsp + 0xb0]
call fcn.14004f564
mov ebx, dword [rsp + 0xa8]
jmp 0x14000a0b2
xor eax, eax
mov ebx, dword [rsp + 0xa0]
mov dil, byte [rsp + 0x99]
cmp dil, al
jle 0x14000a462
or rsi, 0xffffffffffffffff
add dil, sil
mov byte [rsp + 0x99], dil
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r8, rsi
mov rcx, rax
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
xor edi, edi
mov rsi, rdi
mov rbp, rdi
mov r12, rdi
mov r13, rdi
mov r15, rdi
cmp r14, rdi
je 0x14000a4a4
movsxd rbp, dword [r14 + 0x18]
movsxd r12, dword [r14 + 0x1c]
movsxd rsi, dword [r14 + 0x20]
movsxd r13, dword [r14 + 0x24]
movsxd r15, dword [r14 + 0x30]
and rsi, 0xfffffffffffffffe
and rbp, 0xfffffffffffffffe
and r12, 0xfffffffffffffffe
mov qword [r14 + 0x18], rdi
and r13, 0xfffffffffffffffe
mov dword [r14 + 0x20], edi
cmp qword [rsp + 0x140], rdi
je 0x14000a520
cmp r14, rdi
je 0x14000a4bc
mov rax, qword [r14]
cmp rax, 0xffffffffffffffff
je 0x14000a520
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rsp + 0xc8]
call fcn.14004f564
lea rcx, [rsp + 0x100]
call fcn.14004f564
lea rcx, [rsp + 0xc0]
call fcn.14004f564
lea rcx, [rsp + 0xb0]
call fcn.14004f564
mov rbp, qword [rsp + 0x140]
mov r12, qword [rsp + 0x110]
mov r15, qword [rsp + 0x128]
mov r13, qword [rsp + 0x178]
jmp 0x14000ab2d
lea rax, [r15 + r13]
mov r14, rdi
mov rdi, qword [rsp + 0xf8]
add rax, r12
lea rcx, [rax + rbp + 0x80]
cmp rcx, qword [rsp + 0x1a0]
jle 0x14000a567
xor r9d, r9d
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x128]
lea edx, [r9 + 6]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rdi, rax
mov r14, rax
xor edx, edx
cmp ebx, edx
jle 0x14000a5d0
cmp rbp, rdx
jle 0x14000a5d0
lea rdx, [rbp + 8]
lea rcx, [rsp + 0x100]
call fcn.140056fe0
mov rbx, qword [rsp + 0x100]
mov rdx, qword [rsp + 0xf8]
sub rdx, 0xffffffffffffff80
mov rcx, rbx
mov r8, rbp
mov qword [rsp + 0x198], rbx
call fcn.14001a9b0
mov rax, qword [rsp + 0xf8]
xor edx, edx
mov word [rbx + rbp], dx
mov rax, qword [rax + 0x28]
test al, 1
je 0x14000a5d0
mov al, byte [rsp + 0x91]
and al, 0xfe
mov byte [rsp + 0x93], al
cmp r12, rdx
lea ebx, [rbp + 0x80]
jle 0x14000a63a
movsxd rcx, dword [rsp + 0xa0]
mov rax, rcx
sub rax, rbp
cmovs rax, rdx
cmp rsi, rax
cmovg rsi, rax
cmp rdi, rdx
je 0x14000a641
lea rdx, [r12 + 8]
lea rcx, [rsp + 0xc0]
call fcn.140056fe0
mov r11, qword [rsp + 0xc0]
xor edx, edx
lea rcx, [r12 + r11]
lea r8d, [rdx + 8]
call fcn.140004fcc
mov rcx, qword [rsp + 0xc0]
movsxd rdx, ebx
add rdx, rdi
mov r8, r12
call fcn.14001a9b0
xor edx, edx
mov ecx, dword [rsp + 0xa0]
add ebx, r12d
cmp rsi, rdx
jle 0x14000a69f
movsxd rax, ecx
sub rax, rbp
cmovs rax, rdx
cmp rsi, rax
cmovg rsi, rax
cmp rdi, rdx
je 0x14000a69f
lea rdx, [rsi + 8]
lea rcx, [rsp + 0xb0]
call fcn.140056fe0
mov rcx, qword [rsp + 0xb0]
movsxd rdx, ebx
add rdx, rdi
mov r8, rsi
call fcn.14001a9b0
mov r11, qword [rsp + 0xb0]
xor edx, edx
lea rcx, [rsi + r11]
lea r8d, [rdx + 8]
call fcn.140004fcc
xor edx, edx
add ebx, esi
cmp r13, rdx
jle 0x14000a6fc
cmp rdi, rdx
je 0x14000a6fc
lea rdx, [r13 + 8]
lea rcx, [rsp + 0x118]
call fcn.140056fe0
mov rcx, qword [rsp + 0x118]
movsxd rdx, ebx
add rdx, rdi
mov r8, r13
call fcn.14001a9b0
mov r11, qword [rsp + 0x118]
xor edx, edx
lea rcx, [r13 + r11]
lea r8d, [rdx + 8]
call fcn.140004fcc
mov rsi, qword [rsp + 0x118]
mov qword [rsp + 0x120], rsi
jmp 0x14000a704
mov rsi, qword [rsp + 0x120]
cmp r15, 0x10
lea eax, [r13 + rbx]
movsxd rcx, eax
jl 0x14000a731
cmp dword [rcx + rdi], 0x10
jb 0x14000a731
cmp dword [rcx + rdi + 4], 0x10
jne 0x14000a731
mov rcx, qword [rcx + rdi + 8]
call fcn.140008c9c
mov qword [rsp + 0x138], rax
xor edi, edi
cmp r14, rdi
je 0x14000a741
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
lea rcx, [rsp + 0xc8]
call fcn.14004f564
mov rdx, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x198]
mov r14, qword [rsp + 0xf8]
mov rbp, qword [rsp + 0x140]
mov r12, qword [rsp + 0x110]
mov r15, qword [rsp + 0x128]
mov r13, qword [rsp + 0x178]
jmp 0x14000a790
mov rsi, qword [rsp + 0x120]
mov qword [rsp + 0x158], r10
cmp rbp, rdi
je 0x14000a7e5
lea rdx, [rsp + 0x158]
lea rcx, [0x1400eef08]
mov r8d, 6
call fcn.14005992c
mov ecx, dword [rsp + 0xa4]
mov rdx, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x158]
cmp al, dil
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [rsp + 0xa4], ecx
jmp 0x14000a7f1
mov ecx, dword [rsp + 0xa4]
mov eax, 1
cmp cl, dil
je 0x14000a805
or dword [rsp + 0x1fc], eax
mov word [rsp + 0x200], di
lea rcx, [rsp + 0x1a8]
call fcn.140005c14
mov rax, qword [rsp + 0x138]
mov ecx, edi
mov qword [rsp + 0x228], rdi
cmp eax, edi
je 0x14000a862
lea r8, [rsp + 0x1c0]
lea rcx, [rsp + 0x1a8]
mov edx, eax
call fcn.140005c28
mov r11, qword [rsp + 0x1b0]
mov rdx, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x158]
neg r11
sbb ecx, ecx
and ecx, 0x80000
cmp rdx, rdi
mov eax, 0x404
mov r8d, 4
cmovne r8d, eax
xor r9d, r9d
or ecx, r8d
cmp byte [rsp + 0x2b0], dil
jne 0x14000a8ce
lea rax, [rsp + 0xd0]
xor r8d, r8d
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x88]
mov rdx, r10
mov dword [rsp + 0x20], edi
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
jmp 0x14000a932
movsx eax, byte [rsp + 0x93]
mov qword [rsp + 0x68], rdi
lea r8, [0x1400eed40]
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0x50], eax
lea rax, [rsp + 0xd0]
xor r8d, r8d
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], ecx
mov rcx, rsi
mov rdx, r10
mov dword [rsp + 0x20], edi
call fcn.140006af8
lea rcx, [rsp + 0x1a8]
mov edi, eax
call fcn.140005d3c
xor esi, esi
cmp rbp, rsi
je 0x14000a986
mov ebx, dword [rsp + 0x1c0]
lea r8d, [rsi + 0x70]
lea rcx, [rsp + 0x1c0]
xor edx, edx
call fcn.140004fcc
mov cl, sil
mov dword [rsp + 0x1c0], ebx
mov dword [rsp + 0x1fc], 0x80
mov qword [rsp + 0x120], rsi
mov dword [rsp + 0xa4], ecx
lea rcx, [rsp + 0x100]
call fcn.14004f564
lea rcx, [rsp + 0xc0]
call fcn.14004f564
lea rcx, [rsp + 0xb0]
call fcn.14004f564
mov r11, qword [rsp + 0xe0]
or rbx, 0xffffffffffffffff
cmp r11d, esi
mov eax, r11d
cmovne rbx, rax
cmp r14, rsi
je 0x14000a9ef
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov r11d, eax
mov eax, 1
mov qword [r14 + 8], r11
mov qword [r14 + 0x10], rbx
mov qword [r14], rax
cmp rbp, rsi
jne 0x14000a9ef
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
cmp edi, esi
jne 0x14000aa00
xor edi, edi
cmp rbp, rdi
je 0x14000a036
jmp 0x14000aa02
xor edi, edi
mov sil, byte [rsp + 0x92]
cmp sil, dil
je 0x14000aa59
mov al, byte [0x14010ced4]
test al, 8
jne 0x14000aa3a
xor r8d, r8d
or al, 8
lea rcx, str.SeShutdownPrivilege
lea edx, [r8 + 2]
mov byte [0x14010ced4], al
call fcn.14001945c
mov al, byte [0x14010ced4]
test al, 4
jne 0x14000aa59
xor r8d, r8d
or al, 4
lea rcx, str.SeDebugPrivilege
lea edx, [r8 + 2]
mov byte [0x14010ced4], al
call fcn.14001945c
mov rax, qword [0x14010ba38]
cmp byte [rsp + 0x2c8], dil
je 0x14000aa80
cmp rax, rdi
jne 0x14000aa85
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateJobObjectW]
mov qword [0x14010ba38], rax
cmp rax, rdi
je 0x14000aa96
mov rdx, qword [rsp + 0xd0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
mov rcx, qword [rsp + 0xd8]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, qword [rsp + 0xd0]
cmp rcx, rdi
je 0x14000aabc
mov edx, 0x1388
call qword [sym.imp.USER32.dll_WaitForInputIdle]
mov rcx, qword [rsp + 0xd8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0xd8], rdi
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
or rbx, 0xffffffffffffffff
mov rcx, rax
mov r8, rbx
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
mov r11, qword [0x14010b978]
cmp r11, rdi
je 0x14000ab04
mov rcx, qword [0x14010b978]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0xd0]
mov qword [0x14010b978], rdi
mov qword [0x14010b978], rcx
cmp rbp, rdi
je 0x14000ab39
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0xd0], rdi
mov ebx, dword [rsp + 0xa8]
jmp 0x14000a0a4
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r8, rbx
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
lea rcx, [rsp + 0xb8]
call qword [sym.imp.USER32.dll_GetLastInputInfo]
mov r15d, 1
mov cl, r15b
call fcn.140051728
cmp dword [rsp + 0x70], edi
jbe 0x14000adc1
lea rcx, [rsp + 0xb8]
mov ebx, 0x103
mov dword [rsp + 0x94], ebx
call qword [sym.imp.USER32.dll_GetLastInputInfo]
cmp byte [rsp + 0x98], dil
jne 0x14000accf
mov r12b, byte [rsp + 0x80]
mov al, byte [0x14010921f]
xor r14d, r14d
cmp r12b, dil
je 0x14000ad3b
cmp al, dil
jle 0x14000ae4b
mov r13b, byte [rsp + 0x2c0]
lea edi, [rbx - 0x3b]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, r14d
mov ebp, eax
mov ebx, eax
mov cl, byte [0x14010921f]
cmp cl, r14b
jle 0x14000ac3d
lea rcx, [rsp + 0xb8]
call qword [sym.imp.USER32.dll_GetLastInputInfo]
mov r11d, dword [rsp + 0xbc]
sub r11d, dword [0x14010b95c]
cmp r11d, r14d
jg 0x14000ac3d
cmp r13b, r14b
je 0x14000ac3d
mov rcx, qword [rsp + 0xd0]
mov edx, edi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov ebx, eax
sub ecx, ebp
cmp ecx, 0x64
jae 0x14000ac3d
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
add esi, r15d
cmp esi, 3
jl 0x14000abd7
mov cl, byte [0x14010921f]
mov edx, dword [0x14010b95c]
mov r8d, dword [rsp + 0xbc]
sub ebx, ebp
cmp cl, r14b
jle 0x14000acdf
mov eax, r8d
sub eax, edx
cmp eax, r14d
jg 0x14000acdf
cmp r13b, r14b
je 0x14000ac70
cmp ebx, 0x64
jb 0x14000acdf
cmp ebx, edi
jae 0x14000ac7e
mov ecx, edi
sub ecx, ebx
call qword [sym.imp.KERNEL32.dll_Sleep]
mov al, byte [0x14010921f]
cmp al, r14b
jg 0x14000abca
jmp 0x14000ae4b
mov rcx, qword [rsp + 0xd0]
mov edx, 0x64
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsp + 0xd0]
lea rdx, [rsp + 0x94]
mov dword [rsp + 0x94], ebx
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
cmp dword [rsp + 0x94], ebx
jne 0x14000ae29
mov al, byte [0x14010921f]
cmp al, dil
jge 0x14000ac92
jmp 0x14000ae29
mov eax, r8d
lea rcx, [rsp + 0xd0]
mov r9b, r12b
sub eax, edx
cmp eax, r14d
cmovg edx, r8d
lea r8, [0x14010ba38]
mov dword [0x14010b95c], edx
mov dl, byte [rsp + 0x92]
call fcn.1400094cc
mov rax, qword [rsp + 0x180]
cmp rax, r14
je 0x14000ad2e
mov dl, byte [rsp + 0x9a]
mov r8b, r15b
mov rcx, rax
call fcn.140007564
mov dword [rsp + 0x94], r14d
jmp 0x14000ae4b
cmp al, dil
jl 0x14000ada2
mov edi, 0xc8
mov rcx, qword [rsp + 0xd0]
mov edx, edi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x14000ad6a
cmp eax, r14d
jne 0x14000ad6a
cmp dword [rsp + 0x94], ebx
jne 0x14000ada2
lea rcx, [rsp + 0xb8]
call qword [sym.imp.USER32.dll_GetLastInputInfo]
mov r11d, dword [rsp + 0xbc]
mov eax, r11d
sub eax, dword [0x14010b95c]
cmp eax, r14d
jg 0x14000ad9b
mov al, byte [0x14010921f]
cmp al, r14b
jge 0x14000ad45
jmp 0x14000ada2
mov dword [0x14010b95c], r11d
lea r8, [0x14010ba38]
lea rcx, [rsp + 0xd0]
xor r9d, r9d
mov dl, sil
call fcn.1400094cc
jmp 0x14000ae4b
mov r13b, byte [rsp + 0x2c0]
mov dword [rsp + 0x94], edi
cmp r13b, dil
je 0x14000ae48
mov al, byte [0x14010921f]
cmp al, dil
jl 0x14000ae29
mov ebx, 0x103
mov rcx, qword [rsp + 0xd0]
mov edx, 0x64
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsp + 0xd0]
lea rdx, [rsp + 0x94]
mov dword [rsp + 0x94], ebx
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
cmp dword [rsp + 0x94], ebx
jne 0x14000ae29
mov al, byte [0x14010921f]
cmp al, dil
jge 0x14000ade5
mov r9b, byte [rsp + 0x80]
lea r8, [0x14010ba38]
lea rcx, [rsp + 0xd0]
mov dl, sil
call fcn.1400094cc
xor r14d, r14d
cmp byte [rsp + 0x90], r14b
je 0x14000a036
lea rcx, [0x14010bee0]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x895440
call fcn.14001bffc
jmp 0x14000ae59