Function at 0x715d80
Capabilities:
Acquire debug privileges

Disassembly:
push rbp
push r13
push rdi
push rsi
push rbx
sub rsp, 0x220
mov rbp, rsp
movdqa xmmword [rbp + 0x210], xmm6
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x88], 0
mov qword [rbp + 0xc0], 0
mov qword [rbp + 0x98], 0
mov qword [rbp + 0xb8], 0
mov qword [rbp + 0xa8], 0
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xd0], 0
mov qword [rbp + 0xc8], 0
mov qword [rbp + 0xe8], 0
mov qword [rbp + 0xe0], 0
mov qword [rbp + 0xf8], 0
mov qword [rbp + 0xf0], 0
mov qword [rbp + 0x100], 0
mov qword [rbp + 0x108], 0
mov qword [rbp + 0x118], 0
mov qword [rbp + 0x110], 0
mov qword [rbp + 0x128], 0
mov qword [rbp + 0x120], 0
mov qword [rbp + 0x138], 0
mov qword [rbp + 0x130], 0
mov qword [rbp + 0x158], 0
mov qword [rbp + 0x150], 0
mov qword [rbp + 0x148], 0
mov qword [rbp + 0x140], 0
mov qword [rbp + 0x168], 0
mov qword [rbp + 0x160], 0
mov qword [rbp + 0x178], 0
mov qword [rbp + 0x170], 0
mov qword [rbp + 0x188], 0
mov qword [rbp + 0x180], 0
mov qword [rbp + 0x190], 0
mov qword [rbp + 0x198], 0
mov qword [rbp + 0x1a8], 0
mov qword [rbp + 0x1a0], 0
mov qword [rbp + 0x1b0], 0
mov qword [rbp + 0x1e8], 0
mov qword [rbp + 0x1e0], 0
mov qword [rbp + 0x1d0], 0
mov qword [rbp + 0x1b8], rbp
mov dword [rbp + 0x250], ecx
mov qword [rbp + 0x258], rdx
nop
call fcn.00715000
call fcn.0063d4c0
lea rcx, [0x00717764]
xor rdx, rdx
call fcn.00486c50
cmp al, 1
jne 0x716010
xor rcx, rcx
call fcn.00486db0
test al, al
je 0x716010
lea rcx, [rbp + 0x1b0]
lea rdx, [0x0071778c]
xor r8, r8
call fcn.00486b10
lea rcx, [0x00a9a528]
mov rdx, qword [rbp + 0x1b0]
call fcn.0040e6f0
jmp 0x71601c
lea rcx, [0x00a9a528]
call fcn.0040e080
lea rcx, [0x007177a0]
mov dl, 1
call fcn.00486c50
mov byte [0x00a9a4f0], al
mov rax, qword [0x00a8dbf0]
cmp byte [rax], 0
jne 0x7160ba
mov rax, qword [0x00a8d628]
mov rcx, qword [rax]
call fcn.0040feb0
mov rcx, rax
lea rdx, [0x00714ee0]
xor r8, r8
call sub.advapi32.dll_RegisterServiceCtrlHandlerExW
mov qword [0x00a8d1f8], rax
cmp qword [0x00a8d1f8], 0
jne 0x7160ba
call sub.kernel32.dll_GetLastError_2
mov dword [rbp + 0x208], eax
lea rcx, [rbp + 0x1a0]
mov edx, dword [rbp + 0x208]
call fcn.00435d20
lea rcx, [rbp + 0x1a8]
lea rdx, [0x007177b4]
mov r8, qword [rbp + 0x1a0]
call fcn.004102f0
mov cx, 1
mov rdx, qword [rbp + 0x1a8]
call fcn.0047cfa0
jmp 0x7174ce
mov rax, qword [0x00a8d1f8]
mov qword [0x00a8d1f0], rax
lea rcx, [rbp + 0x1e8]
lea rdx, [0x00717800]
xor r8, r8
call fcn.00486b10
lea rcx, [rbp + 0x198]
lea rdx, [0x00717814]
xor r8, r8
call fcn.00486b10
lea rcx, [rbp + 0x1d0]
mov rdx, qword [rbp + 0x198]
lea r8, [0x0071782c]
xor r9, r9
movzx rax, byte [0x00717830]
mov byte [rsp + 0x20], al
call fcn.004394c0
mov dword [rbp + 0x1cc], 0
cmp qword [rbp + 0x1e8], 0
je 0x716141
mov rax, qword [rbp + 0x1e8]
mov eax, dword [rax - 4]
mov dword [rbp + 0x1cc], eax
lea rcx, [rbp + 0x190]
mov rdx, qword [rbp + 0x1e8]
xor r8, r8
call fcn.0040f6a0
mov rcx, qword [rbp + 0x190]
call fcn.004816d0
mov ebx, eax
lea rcx, [rbp + 0x180]
mov rdx, qword [rbp + 0x1e8]
mov r8d, dword [rbp + 0x1cc]
sub r8d, 3
mov r9d, 4
call fcn.00410500
lea rcx, [rbp + 0x188]
lea rdx, [0x00717840]
mov r8, qword [rbp + 0x180]
call fcn.004102f0
mov rcx, qword [rbp + 0x188]
xor rdx, rdx
call fcn.0042c020
mov esi, eax
mov rax, qword [0x00a8db68]
mov rcx, qword [rax]
call fcn.004816d0
mov edi, eax
lea rcx, [rbp + 0x170]
mov rdx, qword [rbp + 0x1d0]
mov r8d, 1
mov r9d, 4
call fcn.00410500
lea rcx, [rbp + 0x178]
lea rdx, [0x00717840]
mov r8, qword [rbp + 0x170]
call fcn.004102f0
mov rcx, qword [rbp + 0x178]
xor rdx, rdx
call fcn.0042c020
mov r13d, eax
lea rcx, [rbp + 0x160]
mov rdx, qword [rbp + 0x1d0]
mov r8d, 5
mov r9d, 4
call fcn.00410500
lea rcx, [rbp + 0x168]
lea rdx, [0x00717840]
mov r8, qword [rbp + 0x160]
call fcn.004102f0
mov rcx, qword [rbp + 0x168]
xor rdx, rdx
call fcn.0042c020
movzx ebx, bx
xor ebx, esi
movzx edi, di
xor ebx, edi
xor ebx, r13d
cmp ebx, eax
je 0x7162c1
cmp qword [rbp + 0x1e8], 0
je 0x716293
lea rcx, [0x00717800]
xor rdx, rdx
call fcn.00486ea0
lea rcx, [rbp + 0x1e8]
call fcn.0040e080
cmp qword [rbp + 0x1d0], 0
je 0x7163be
lea rcx, [0x00717814]
xor rdx, rdx
call fcn.00486ea0
lea rcx, [rbp + 0x1d0]
call fcn.0040e080
jmp 0x7163be
lea rcx, [rbp + 0x140]
mov rdx, qword [rbp + 0x1e8]
xor r8, r8
call fcn.0040f6a0
mov rcx, qword [rbp + 0x140]
call fcn.004816d0
lea rcx, [rbp + 0x148]
movzx edx, ax
mov r8d, 4
call fcn.0042bf90
lea rcx, [rbp + 0x150]
mov rdx, qword [rbp + 0x148]
mov r8d, 2
mov r9d, 1
call fcn.00410500
lea rcx, [rbp + 0x158]
lea rdx, [0x00717840]
mov r8, qword [rbp + 0x150]
call fcn.004102f0
mov rcx, qword [rbp + 0x158]
call fcn.0042bfd0
mov byte [0x00a8d200], al
mov dword [rbp + 0x1c8], 0
cmp qword [rbp + 0x1e8], 0
je 0x71636a
mov rax, qword [rbp + 0x1e8]
mov eax, dword [rax - 4]
mov dword [rbp + 0x1c8], eax
lea rcx, [rbp + 0x130]
mov rdx, qword [rbp + 0x1e8]
mov r8d, dword [rbp + 0x1c8]
sub r8d, 3
mov r9d, 1
call fcn.00410500
lea rcx, [rbp + 0x138]
lea rdx, [0x00717840]
mov r8, qword [rbp + 0x130]
call fcn.004102f0
mov rcx, qword [rbp + 0x138]
xor rdx, rdx
call fcn.0042c020
mov byte [0x00a8d201], al
lea rcx, [0x00a9a4c0]
mov rdx, qword [0x00714ea8]
mov r8d, 1
mov r9d, 8
call fcn.00411ea0
mov dword [rbp + 0x1d8], 0
movsxd rax, dword [rbp + 0x1d8]
add rax, rax
add rax, rax
add rax, rax
mov rcx, qword [0x00a9a4c0]
add rcx, rax
mov rdx, qword [0x00714e70]
mov r8d, 1
mov r9d, 8
call fcn.00411ea0
mov dword [rbp + 0x1dc], 0
mov eax, dword [rbp + 0x1d8]
cmp eax, 4
jg 0x716466
cmp eax, 4
je 0x716602
sub eax, 1
cmp eax, 0xffffffff
je 0x71648c
test eax, eax
je 0x7164f8
sub eax, 1
test eax, eax
je 0x71653f
sub eax, 1
test eax, eax
jne 0x71673a
jmp 0x71659d
sub eax, 5
test eax, eax
je 0x716652
sub eax, 1
test eax, eax
je 0x7166a2
sub eax, 1
test eax, eax
jne 0x71673a
jmp 0x7166ef
lea rcx, [rbp + 0x128]
mov rdx, qword [rbp + 0x1e8]
mov r8d, dword [rbp + 0x1dc]
add r8d, r8d
add r8d, r8d
add r8d, 1
mov r9d, 4
call fcn.00410500
lea rcx, [rbp + 0x120]
mov rdx, qword [rbp + 0x128]
call fcn.00410060
mov rcx, qword [rbp + 0x120]
call fcn.00485ea0
mov rcx, qword [0x00a9a4c0]
movsxd rdx, dword [rbp + 0x1d8]
mov rcx, qword [rcx + rdx*8]
movsxd rdx, dword [rbp + 0x1dc]
mov word [rcx + rdx*2], ax
jmp 0x71673a
mov rax, qword [0x00a9a4c0]
movsxd rcx, dword [rbp + 0x1d8]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [rbp + 0x1dc]
mov rdx, qword [0x00a9a4c0]
mov rdx, qword [rdx]
movsxd r8, dword [rbp + 0x1dc]
mov r9, qword [0x00a9a4c0]
mov r9, qword [r9]
movzx rdx, word [rdx + r8*2]
xor dx, word [r9 + 0xe]
mov word [rax + rcx*2], dx
jmp 0x71673a
mov rax, qword [0x00a9a4c0]
movsxd rcx, dword [rbp + 0x1d8]
mov r8, qword [rax + rcx*8]
movsxd r9, dword [rbp + 0x1dc]
mov rax, qword [0x00a9a4c0]
mov rcx, qword [rax]
movsxd r10, dword [rbp + 0x1dc]
mov rax, qword [0x00a9a4c0]
mov rax, qword [rax]
movsxd rdx, dword [rbp + 0x1dc]
movzx eax, word [rax + rdx*2]
mov r11d, 0x10
xor edx, edx
div r11d
movzx rax, word [rcx + r10*2]
mov ecx, edx
shl eax, cl
mov word [r8 + r9*2], ax
jmp 0x71673a
mov rax, qword [0x00a9a4c0]
movsxd rcx, dword [rbp + 0x1d8]
mov r8, qword [rax + rcx*8]
movsxd r9, dword [rbp + 0x1dc]
mov rax, qword [0x00a9a4c0]
mov rax, qword [rax]
movsxd rcx, dword [rbp + 0x1dc]
movzx r10d, word [rax + rcx*2]
mov ecx, 0x10
mov rax, qword [0x00a9a4c0]
mov rax, qword [rax]
movsxd rdx, dword [rbp + 0x1dc]
movzx eax, word [rax + rdx*2]
mov r11d, 0x10
xor edx, edx
div r11d
sub ecx, edx
shr r10d, cl
mov word [r8 + r9*2], r10w
jmp 0x71673a
mov rax, qword [0x00a9a4c0]
movsxd rcx, dword [rbp + 0x1d8]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [rbp + 0x1dc]
mov rdx, qword [0x00a9a4c0]
mov rdx, qword [rdx + 8]
movsxd r8, dword [rbp + 0x1dc]
mov r9, qword [0x00a9a4c0]
mov r9, qword [r9 + 0x18]
movsxd r10, dword [rbp + 0x1dc]
movzx rdx, word [rdx + r8*2]
xor dx, word [r9 + r10*2]
mov word [rax + rcx*2], dx
jmp 0x71673a
mov rax, qword [0x00a9a4c0]
movsxd rcx, dword [rbp + 0x1d8]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [rbp + 0x1dc]
mov rdx, qword [0x00a9a4c0]
mov rdx, qword [rdx + 0x10]
movsxd r8, dword [rbp + 0x1dc]
mov r9, qword [0x00a9a4c0]
mov r9, qword [r9 + 0x20]
movsxd r10, dword [rbp + 0x1dc]
movzx rdx, word [rdx + r8*2]
xor dx, word [r9 + r10*2]
mov word [rax + rcx*2], dx
jmp 0x71673a
mov rax, qword [0x00a9a4c0]
movsxd rcx, dword [rbp + 0x1d8]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [rbp + 0x1dc]
mov rdx, qword [0x00a9a4c0]
mov rdx, qword [rdx + 0x18]
movsxd r8, dword [rbp + 0x1dc]
mov r9, qword [0x00a9a4c0]
mov r9, qword [r9 + 0x28]
movsxd r10, dword [rbp + 0x1dc]
movzx rdx, word [rdx + r8*2]
xor dx, word [r9 + r10*2]
mov word [rax + rcx*2], dx
jmp 0x71673a
mov rax, qword [0x00a9a4c0]
movsxd rcx, dword [rbp + 0x1d8]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [rbp + 0x1dc]
mov rdx, qword [0x00a9a4c0]
mov rdx, qword [rdx + 0x20]
movsxd r8, dword [rbp + 0x1dc]
mov r9, qword [0x00a9a4c0]
mov r9, qword [r9 + 0x30]
movsxd r10, dword [rbp + 0x1dc]
movzx rdx, word [rdx + r8*2]
xor dx, word [r9 + r10*2]
mov word [rax + rcx*2], dx
add dword [rbp + 0x1dc], 1
cmp dword [rbp + 0x1dc], 8
jne 0x716427
nop
add dword [rbp + 0x1d8], 1
cmp dword [rbp + 0x1d8], 8
jne 0x7163e9
nop
lea rcx, [0x00a9a4a4]
mov edx, 0x1c
xor r8, r8
call fcn.00408d50
mov dword [0x00a9a4a4], 0x10
mov dword [0x00a9a4ac], 0xc5
mov dword [0x00a9a4b0], 0
mov dword [0x00a9a4b4], 0
mov dword [0x00a9a4b8], 0
mov dword [0x00a9a4bc], 0x2710
lea rcx, [0x00a9a4a4]
lea rdx, [0x00a9a4c8]
mov r8d, 0x1c
call fcn.00406200
mov dword [0x00a9a4a8], 2
mov rax, qword [0x00a8dbf0]
cmp byte [rax], 0
jne 0x716895
mov rcx, qword [0x00a8d1f8]
lea rdx, [0x00a9a4a4]
call sub.advapi32.dll_SetServiceStatus
test eax, eax
setne al
test al, al
jne 0x716895
mov dword [0x00a9a4ac], 0x45
lea rcx, [0x00a9a4a4]
lea rdx, [0x00a9a4c8]
mov r8d, 0x1c
call fcn.00406200
mov rcx, qword [0x00a8d1f8]
lea rdx, [0x00a9a4a4]
call sub.advapi32.dll_SetServiceStatus
test eax, eax
setne al
test al, al
jne 0x716895
call sub.kernel32.dll_GetLastError_2
mov dword [rbp + 0x208], eax
lea rcx, [rbp + 0x110]
mov edx, dword [rbp + 0x208]
call fcn.00435d20
lea rcx, [rbp + 0x118]
lea rdx, [0x00717850]
mov r8, qword [rbp + 0x110]
call fcn.004102f0
mov cx, 1
mov rdx, qword [rbp + 0x118]
call fcn.0047cfa0
jmp 0x7174ce
lea rcx, [rbp + 0x108]
mov rax, qword [0x00a8ddd0]
mov rdx, qword [rax]
mov rax, qword [0x00a8de78]
mov r8, qword [rax]
call fcn.004102f0
mov rcx, qword [rbp + 0x108]
mov edx, 1
call fcn.00480590
lea rcx, [rbp + 0x100]
mov rax, qword [0x00a8ddd0]
mov rdx, qword [rax]
mov rax, qword [0x00a8df40]
mov r8, qword [rax]
call fcn.004102f0
mov rcx, qword [rbp + 0x100]
mov edx, 1
call fcn.00480590
mov dword [0x00a9a4a8], 4
lea rcx, [0x00a9a4a4]
lea rdx, [0x00a9a4c8]
mov r8d, 0x1c
call fcn.00406200
mov rax, qword [0x00a8dbf0]
cmp byte [rax], 0
jne 0x716991
mov rcx, qword [0x00a8d1f8]
lea rdx, [0x00a9a4a4]
call sub.advapi32.dll_SetServiceStatus
test eax, eax
setne al
test al, al
jne 0x716991
call sub.kernel32.dll_GetLastError_2
mov dword [rbp + 0x208], eax
lea rcx, [rbp + 0xf0]
mov edx, dword [rbp + 0x208]
call fcn.00435d20
lea rcx, [rbp + 0xf8]
lea rdx, [0x007178b4]
mov r8, qword [rbp + 0xf0]
call fcn.004102f0
mov cx, 1
mov rdx, qword [rbp + 0xf8]
call fcn.0047cfa0
jmp 0x7174ce
mov rax, qword [0x00a9a4c0]
mov rax, qword [rax]
mov rcx, qword [0x00a9a4c0]
mov rcx, qword [rcx]
movzx rax, word [rax + 8]
xor ax, word [rcx + 2]
mov ecx, eax
mov rax, qword [0x00a9a4c0]
mov rax, qword [rax]
movzx rdx, word [rax + 2]
mov rax, qword [0x00a9a4c0]
mov rax, qword [rax]
mov r8, qword [0x00a9a4c0]
mov r8, qword [r8]
movzx rax, word [rax + 6]
xor ax, word [r8 + 2]
mov r8d, eax
mov rax, qword [0x00a9a4c0]
mov rax, qword [rax]
mov r9, qword [0x00a9a4c0]
mov r9, qword [r9]
movzx rax, word [rax + 4]
xor ax, word [r9 + 2]
mov r9d, eax
call fcn.0063bd30
nop
xor rcx, rcx
call fcn.00486db0
mov ecx, eax
cmp cl, 7
ja 0x716a29
mov al, 1
shl eax, cl
movzx rcx, byte [0x007178fe]
test al, cl
setne al
jmp 0x716a2c
xor rax, rax
test al, al
je 0x716a35
call fcn.006fd840
xor rcx, rcx
call fcn.00486db0
cmp al, 5
jne 0x716a47
call fcn.00633d90
lea rcx, [0x0071790c]
xor rdx, rdx
call fcn.00486c50
cmp al, 1
jne 0x716a60
call fcn.00684840
lea rcx, [0x00717930]
mov dl, 1
call fcn.00486c50
cmp al, 1
jne 0x716a78
call fcn.007125c0
lea rcx, [0x00717944]
mov dl, 1
call fcn.00486c50
cmp al, 1
jne 0x716a9f
mov rax, qword [0x00a9a4c0]
mov rax, qword [rax]
movzx rcx, word [rax + 2]
call fcn.0070ffb0
lea rcx, [0x00717960]
mov dl, 1
call fcn.00486c50
cmp al, 1
jne 0x716ab7
call fcn.00714950
lea rcx, [0x00717978]
mov dl, 1
call fcn.00486c50
cmp al, 1
jne 0x716acf
call fcn.00648460
lea rcx, [0x0071798c]
mov dl, 1
call fcn.00486c50
cmp al, 1
jne 0x716af9
mov rcx, qword [0x00a8d1f8]
mov edx, 1
call fcn.0063eef0
call fcn.0063eed0
call fcn.0064ddc0
call fcn.00433700
movsd qword [0x00a9a4e8], xmm0
lea rcx, [0x007179a0]
mov dl, 1
call fcn.00486c50
cmp al, 1
jne 0x716b6c
call fcn.00433700
movapd xmm6, xmm0
lea rcx, [rbp + 0xe0]
call fcn.005ee720
lea rcx, [rbp + 0xe8]
mov rdx, qword [rbp + 0xe0]
call fcn.00414550
movapd xmm0, xmm6
mov dl, 0x30
xor r8, r8
xor r9, r9
mov qword [rsp + 0x20], 0
mov rax, qword [rbp + 0xe8]
mov qword [rsp + 0x28], rax
call fcn.005ef370
lea rcx, [rbp + 0xc8]
mov rax, qword [0x00a8ddd0]
mov rdx, qword [rax]
mov rax, qword [0x00a8d608]
mov r8, qword [rax]
call fcn.004102f0
mov rcx, qword [rbp + 0xc8]
call fcn.00484730
lea rcx, [rbp + 0xd0]
mov rdx, rax
call fcn.004848d0
lea rcx, [rbp + 0xd8]
lea rdx, [0x007179b4]
mov r8, qword [rbp + 0xd0]
call fcn.004102f0
mov cx, 4
mov rdx, qword [rbp + 0xd8]
call fcn.0047cfa0
mov dword [0x00a9a510], 0x4000
mov ecx, dword [0x00a9a510]
call fcn.00405da0
mov qword [0x00a9a508], rax
call sub.kernel32.dll_GetCurrentProcess
mov rcx, rax
lea rdx, [0x007179e4]
mov r8b, 1
call fcn.0068f770
lea rcx, [0x00717a06]
call sub.kernel32.dll_LoadLibraryW
mov rcx, rax
lea rdx, [0x00717a1a]
call sub.kernel32.dll_GetProcAddress_2
mov qword [0x00a8d208], rax
lea rcx, [0x00717a06]
call sub.kernel32.dll_LoadLibraryW
mov rcx, rax
lea rdx, [0x00717a33]
call sub.kernel32.dll_GetProcAddress_2
mov qword [0x00a8d210], rax
mov rcx, qword [0x00457e40]
mov dl, 1
call fcn.0040ad50
mov qword [0x00a9a4f8], rax
mov rax, qword [0x00a9a4c0]
mov rax, qword [rax]
cmp word [rax + 0xc], 0x8244
jne 0x716c81
mov rax, qword [0x00a9a4c0]
mov rax, qword [rax]
cmp word [rax + 0xe], 0x2b8e
je 0x716ca4
mov rax, qword [0x00a9a4c0]
mov rax, qword [rax]
cmp word [rax + 0xa], 0x2fd2
je 0x716ca9
mov rax, qword [0x00a9a4c0]
mov rax, qword [rax]
cmp word [rax + 0xa], 0
je 0x716ca9
call fcn.0040db70
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0x1f4], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0x1f8], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0x1fc], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0x200], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0x204], eax
mov dword [rbp + 0x1dc], 1
cmp qword [rbp + 0x1e8], 0
je 0x716e64
cmp dword [rbp + 0x1dc], 5
jne 0x716d33
xor rcx, rcx
mov rdx, qword [rbp + 0x1b8]
call fcn.007175c0
jmp 0x7174ce
mov dword [rbp + 0x1c4], 0
cmp qword [rbp + 0x1e8], 0
je 0x716d57
mov rax, qword [rbp + 0x1e8]
mov eax, dword [rax - 4]
mov dword [rbp + 0x1c4], eax
lea rcx, [rbp + 0xb0]
mov rdx, qword [rbp + 0x1e8]
xor r8, r8
call fcn.0040f6a0
mov rcx, qword [rbp + 0xb0]
call fcn.004816d0
mov ebx, eax
lea rcx, [rbp + 0xa0]
mov rdx, qword [rbp + 0x1e8]
mov r8d, dword [rbp + 0x1c4]
sub r8d, 3
mov r9d, 4
call fcn.00410500
lea rcx, [rbp + 0xa8]
lea rdx, [0x00717840]
mov r8, qword [rbp + 0xa0]
call fcn.004102f0
mov rcx, qword [rbp + 0xa8]
xor rdx, rdx
call fcn.0042c020
mov esi, eax
mov rax, qword [0x00a8db68]
mov rcx, qword [rax]
call fcn.004816d0
lea rcx, [rbp + 0xb8]
movzx edx, bx
xor edx, esi
movzx eax, ax
xor edx, eax
mov r8d, 4
call fcn.0042bf90
lea rcx, [rbp + 0xc0]
mov rdx, qword [rbp + 0xb8]
mov r8d, dword [rbp + 0x1dc]
mov r9d, 1
call fcn.00410500
lea rcx, [rbp + 0x98]
mov rdx, qword [rbp + 0x1d0]
mov r8d, 1
mov r9d, 1
call fcn.00410500
mov rcx, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0x98]
call fcn.004104f0
test eax, eax
je 0x716e64
add dword [rbp + 0x1dc], 1
cmp dword [rbp + 0x1dc], 6
jne 0x716d08
nop
mov eax, dword [0x00a9a514]
not eax
cmp dword [0x00a9a518], eax
je 0x716f86
mov rcx, qword [0x00a8d1e0]
mov edx, 0x3e8
call sub.kernel32.dll_WaitForSingleObject
mov dword [rbp + 0x20c], eax
mov rax, qword [0x00a9a4c0]
movsxd rcx, dword [rbp + 0x1f8]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [rbp + 0x1f4]
mov rdx, qword [0x00a9a4c0]
movsxd r8, dword [rbp + 0x1fc]
mov rdx, qword [rdx + r8*8]
movsxd r8, dword [rbp + 0x1f8]
mov r9, qword [0x00a9a4c0]
movsxd r10, dword [rbp + 0x200]
mov r9, qword [r9 + r10*8]
movsxd r10, dword [rbp + 0x1f8]
movzx rdx, word [rdx + r8*2]
or dx, word [r9 + r10*2]
and dx, 0xffff
mov r8, qword [0x00a9a4c0]
movsxd r9, dword [rbp + 0x204]
mov r8, qword [r8 + r9*8]
movsxd r9, dword [rbp + 0x204]
xor dx, word [r8 + r9*2]
mov r8, qword [0x00a9a4c0]
movsxd r9, dword [rbp + 0x1f4]
mov r8, qword [r8 + r9*8]
movsxd r9, dword [rbp + 0x1fc]
xor dx, word [r8 + r9*2]
cmp word [rax + rcx*2], dx
jne 0x716f54
mov rax, qword [0x00a8dbf0]
cmp byte [rax], 1
jne 0x716f43
call fcn.00715d30
cmp ax, 0xd
je 0x716f80
cmp dword [rbp + 0x20c], 0x102
jne 0x716f80
jmp 0x716e79
cmp dword [rbp + 0x20c], 0x102
jne 0x716f80
mov rax, qword [0x00a8dbf0]
cmp byte [rax], 1
jne 0x716e79
call fcn.00715d30
cmp ax, 0xd
je 0x716f80
jmp 0x716e79
nop
jmp 0x717098
mov rcx, qword [0x00a8d1e0]
mov edx, 0x3e8
call sub.kernel32.dll_WaitForSingleObject
mov dword [rbp + 0x20c], eax
mov rax, qword [0x00a9a4c0]
movsxd rcx, dword [rbp + 0x1f8]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [rbp + 0x1f4]
mov rdx, qword [0x00a9a4c0]
movsxd r8, dword [rbp + 0x1fc]
mov rdx, qword [rdx + r8*8]
movsxd r8, dword [rbp + 0x1f8]
mov r9, qword [0x00a9a4c0]
movsxd r10, dword [rbp + 0x200]
mov r9, qword [r9 + r10*8]
movsxd r10, dword [rbp + 0x1f8]
movzx rdx, word [rdx + r8*2]
or dx, word [r9 + r10*2]
and dx, 0xffff
mov r8, qword [0x00a9a4c0]
movsxd r9, dword [rbp + 0x204]
mov r8, qword [r8 + r9*8]
movsxd r9, dword [rbp + 0x204]
xor dx, word [r8 + r9*2]
mov r8, qword [0x00a9a4c0]
movsxd r9, dword [rbp + 0x1f4]
mov r8, qword [r8 + r9*8]
movsxd r9, dword [rbp + 0x1fc]
xor dx, word [r8 + r9*2]
cmp word [rax + rcx*2], dx
jne 0x717066
mov rax, qword [0x00a8dbf0]
cmp byte [rax], 1
jne 0x717050
call fcn.00715d30
cmp ax, 0xd
je 0x717097
cmp dword [rbp + 0x20c], 0x102
jne 0x717097
call fcn.00718bb0
jmp 0x716f86
cmp dword [rbp + 0x20c], 0x102
jne 0x717097
call fcn.00718bb0
mov rax, qword [0x00a8dbf0]
cmp byte [rax], 1
jne 0x716f86
call fcn.00715d30
cmp ax, 0xd
je 0x717097
jmp 0x716f86
nop
call fcn.00718680
mov rcx, qword [0x00a9a4f8]
call fcn.0040ae10
lea rcx, [rbp + 0x1e0]
mov edx, 3
lea r8, [0x00717a5c]
mov rax, qword [0x00a8d628]
mov r9, qword [rax]
lea rax, [0x00717ab0]
mov qword [rsp + 0x20], rax
call fcn.00410420
lea rcx, [rbp + 0x90]
xor rdx, rdx
mov r8, 0xffffffff80000002
xor r9, r9
mov rax, qword [rbp + 0x1e0]
mov qword [rsp + 0x20], rax
lea rax, [0x00717ac0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 0
call fcn.0047e560
lea rcx, [rbp + 0x88]
mov rax, qword [0x00a8ddd0]
mov rdx, qword [rax]
mov rax, qword [0x00a8d608]
mov r8, qword [rax]
call fcn.004102f0
mov rcx, qword [rbp + 0x90]
mov rdx, qword [rbp + 0x88]
call fcn.004104f0
test eax, eax
je 0x71719a
lea rcx, [rbp + 0x80]
mov rax, qword [0x00a8ddd0]
mov rdx, qword [rax]
mov rax, qword [0x00a8d608]
mov r8, qword [rax]
call fcn.004102f0
xor rcx, rcx
mov rdx, 0xffffffff80000002
xor r8, r8
mov r9, qword [rbp + 0x1e0]
lea rax, [0x00717ac0]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x28], rax
call fcn.0047e260
lea rcx, [rbp + 0x78]
xor rdx, rdx
mov r8, 0xffffffff80000002
xor r9, r9
mov rax, qword [rbp + 0x1e0]
mov qword [rsp + 0x20], rax
lea rax, [0x00717ae0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 0
call fcn.0047e560
mov rcx, qword [rbp + 0x78]
lea rdx, [0x00717b04]
call fcn.004104f0
test eax, eax
je 0x717216
xor rcx, rcx
mov rdx, 0xffffffff80000002
xor r8, r8
mov r9, qword [rbp + 0x1e0]
lea rax, [0x00717ae0]
mov qword [rsp + 0x20], rax
lea rax, [0x00717b04]
mov qword [rsp + 0x28], rax
call fcn.0047e260
xor rcx, rcx
mov rdx, 0xffffffff80000002
xor r8, r8
mov r9, qword [rbp + 0x1e0]
lea rax, [0x00717b28]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0xffffffff
call fcn.0047eba0
test eax, eax
je 0x717274
xor rcx, rcx
mov rdx, 0xffffffff80000002
xor r8, r8
mov r9, qword [rbp + 0x1e0]
lea rax, [0x00717b28]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0
call fcn.0047e900
xor rcx, rcx
mov rdx, 0xffffffff80000002
xor r8, r8
mov r9, qword [rbp + 0x1e0]
lea rax, [0x00717b50]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0xffffffff
call fcn.0047eba0
cmp eax, 0xffffffff
jne 0x7172d3
xor rcx, rcx
mov rdx, 0xffffffff80000002
xor r8, r8
mov r9, qword [rbp + 0x1e0]
lea rax, [0x00717b50]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 2
call fcn.0047e900
xor rcx, rcx
mov rdx, 0xffffffff80000002
xor r8, r8
mov r9, qword [rbp + 0x1e0]
lea rax, [0x00717b68]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0xffffffff
call fcn.0047eba0
cmp eax, 0x10
je 0x717332
xor rcx, rcx
mov rdx, 0xffffffff80000002
xor r8, r8
mov r9, qword [rbp + 0x1e0]
lea rax, [0x00717b68]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0x10
call fcn.0047e900
mov rax, qword [0x00a8dcc8]
mov rcx, qword [rax]
call fcn.004866a0
lea rcx, [0x00717b80]
mov dl, 1
call fcn.00486c50
xor rcx, rcx
mov rdx, qword [0x00a8d628]
mov rdx, qword [rdx]
mov r8, qword [0x00a8d608]
mov r8, qword [r8]
xor r9, r9
mov qword [rsp + 0x20], 0
mov byte [rsp + 0x28], al
call fcn.00482940
call fcn.00648b10
call fcn.0063ef30
call fcn.0063eee0
call fcn.0064e000
call fcn.00712980
call fcn.00710600
call fcn.00714d90
lea rcx, [0x00717ba0]
mov dl, 1
call fcn.00486c50
cmp al, 1
jne 0x7173f3
call fcn.00433700
movapd xmm6, xmm0
lea rcx, [rbp + 0x68]
call fcn.00715a20
lea rcx, [rbp + 0x70]
mov rdx, qword [rbp + 0x68]
call fcn.00414550
movapd xmm0, xmm6
mov dl, 0x46
xor r8, r8
xor r9, r9
mov qword [rsp + 0x20], 0
mov rax, qword [rbp + 0x70]
mov qword [rsp + 0x28], rax
call fcn.005ef370
call fcn.006fe330
call fcn.006343a0
call fcn.00684da0
nop
call fcn.0063c7d0
call fcn.007156f0
lea rcx, [rbp + 0x50]
mov rax, qword [0x00a8ddd0]
mov rdx, qword [rax]
mov rax, qword [0x00a8d608]
mov r8, qword [rax]
call fcn.004102f0
mov rcx, qword [rbp + 0x50]
call fcn.00484730
lea rcx, [rbp + 0x58]
mov rdx, rax
call fcn.004848d0
lea rcx, [rbp + 0x60]
lea rdx, [0x00717bb4]
mov r8, qword [rbp + 0x58]
call fcn.004102f0
mov cx, 4
mov rdx, qword [rbp + 0x60]
call fcn.0047cfa0
mov dword [0x00a9a4a8], 1
mov rax, qword [0x00a8dbf0]
cmp byte [rax], 0
jne 0x7174cd
mov rcx, qword [0x00a8d1f8]
lea rdx, [0x00a9a4a4]
call sub.advapi32.dll_SetServiceStatus
test eax, eax
setne al
test al, al
jne 0x7174cd
call sub.kernel32.dll_GetLastError_2
mov dword [rbp + 0x208], eax
lea rcx, [rbp + 0x40]
mov edx, dword [rbp + 0x208]
call fcn.00435d20
lea rcx, [rbp + 0x48]
lea rdx, [0x00717be0]
mov r8, qword [rbp + 0x40]
call fcn.004102f0
mov cx, 1
mov rdx, qword [rbp + 0x48]
call fcn.0047cfa0
nop
lea rcx, [rbp + 0x40]
mov edx, 6
call fcn.0040e160
lea rcx, [rbp + 0x70]
call fcn.0040e0d0
lea rcx, [rbp + 0x78]
mov edx, 7
call fcn.0040e160
lea rcx, [rbp + 0xb0]
call fcn.0040e0d0
lea rcx, [rbp + 0xb8]
mov edx, 6
call fcn.0040e160
lea rcx, [rbp + 0xe8]
call fcn.0040e0d0
lea rcx, [rbp + 0xf0]
mov edx, 6
call fcn.0040e160
lea rcx, [rbp + 0x120]
call fcn.0040e120
lea rcx, [rbp + 0x128]
mov edx, 3
call fcn.0040e160
lea rcx, [rbp + 0x140]
call fcn.0040e0d0
lea rcx, [rbp + 0x148]
mov edx, 9
call fcn.0040e160
lea rcx, [rbp + 0x190]
call fcn.0040e0d0
lea rcx, [rbp + 0x198]
mov edx, 4
call fcn.0040e160
lea rcx, [rbp + 0x1d0]
call fcn.0040e080
lea rcx, [rbp + 0x1e0]
mov edx, 2
call fcn.0040e160
movdqa xmm6, xmmword [rbp + 0x210]
lea rsp, [rbp + 0x220]
pop rbx
pop rsi
pop rdi
pop r13
pop rbp
ret