Function at 0x140095d30
Capabilities:
Get common file path
Modify service
Query service status
Start service

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xba8]
sub rsp, 0xc80
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x140499908]
xor rax, rsp
mov qword [rbp + 0xb70], rax
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x960]
call fcn.140334870
xor r15d, r15d
mov qword [rbp + 0x810], r15
lea r8, [rbp + 0x810]
lea edx, [r15 + 0x24]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
lea rdx, [rbp + 0x960]
mov rcx, qword [rbp + 0x810]
call qword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
call fcn.1400b1c7c
mov rcx, rax
test rax, rax
jne 0x140095dcc
mov ecx, 0x80004005
call fcn.140082d10
int3
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp + 0x838], rbx
lea rcx, [rbp + 0x960]
lea rax, [rbp + 0x960]
or rsi, 0xffffffffffffffff
test rax, 0xffffffffffff0000
jne 0x140095e1a
movzx edi, cx
mov ecx, edi
call fcn.1400b2c04
test rax, rax
je 0x140095e4b
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x838]
call fcn.140082750
jmp 0x140095e44
lea rcx, [rbp + 0x960]
mov rax, rsi
inc rax
cmp word [rcx + rax*2], 0
jne 0x140095e24
mov r8d, eax
lea rdx, [rbp + 0x960]
lea rcx, [rbp + 0x838]
call fcn.140082b40
mov rbx, qword [rbp + 0x838]
movsxd rdi, dword [rbx - 0x10]
test edi, edi
jns 0x140095e5e
mov ecx, 0x80070057
call fcn.140082d10
int3
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140095e84
mov edx, edi
lea rcx, [rbp + 0x838]
call fcn.1400829d0
mov rbx, qword [rbp + 0x838]
lea eax, [rdi + 1]
movsxd rdx, eax
mov rcx, rbx
call fcn.14033bebc
cmp edi, dword [rbx - 0xc]
jg 0x14009731e
mov dword [rbx - 0x10], edi
mov word [rbx + rdi*2], r15w
mov r8d, 2
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x838]
call fcn.1400813e0
nop
mov r8, rax
lea rdx, [0x140442530]
lea rcx, [rsp + 0x68]
call fcn.140082000
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 3]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140095f15
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140095f33
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.1400b1c7c
mov rcx, rax
test rax, rax
jne 0x140095f4b
mov ecx, 0x80004005
call fcn.140082d10
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x820], rax
lea r12, [0x14043fa60]
test r12, 0xffffffffffff0000
jne 0x140095f90
movzx ebx, r12w
mov ecx, ebx
call fcn.1400b2c04
test rax, rax
je 0x140095fb0
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x820]
call fcn.140081520
jmp 0x140095fb0
mov rax, rsi
inc rax
cmp byte [r12 + rax], 0
jne 0x140095f93
mov r8d, eax
mov rdx, r12
lea rcx, [rbp + 0x820]
call fcn.140081660
nop
call fcn.1400b1c7c
mov rcx, rax
test rax, rax
jne 0x140095fc8
mov ecx, 0x80004005
call fcn.140082d10
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x830], rax
lea rdx, [0x14043e3a4]
test rdx, 0xffffffffffff0000
jne 0x14009600c
movzx ebx, dx
mov ecx, ebx
call fcn.1400b2c04
test rax, rax
je 0x14009602a
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0x830]
call fcn.140082750
jmp 0x14009602a
mov rax, rsi
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x140096010
mov r8d, eax
lea rcx, [rbp + 0x830]
call fcn.140082b40
nop
xor edx, edx
xor ecx, ecx
mov r8d, 0x20000000
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov r14, rax
mov r8d, 0x36
lea rdx, str.Winmgmt
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov rdi, rax
lea rdx, [rbp + 0x928]
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
cmp dword [rbp + 0x92c], 1
jne 0x140096117
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
or r9d, 0xffffffff
mov r8d, 2
or edx, r9d
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_StartServiceW]
mov ebx, 0x3e8
lea rdx, [rbp + 0x928]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
cmp eax, 1
jne 0x140096117
nop
cmp ebx, 0x1b62
jge 0x140096117
add ebx, 0x1f4
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [rbp + 0x92c], 4
je 0x140096117
lea rdx, [rbp + 0x928]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
cmp eax, 1
je 0x1400960e0
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov ecx, 0x400
call fcn.1400a50b4
mov rbx, rax
mov qword [rbp - 0x68], rax
mov r8d, 1
mov rdx, rax
lea ecx, [r8 + 1]
call fcn.1400a4b50
test eax, eax
jle 0x1400961cd
lea rax, [rbp + 0x238]
mov qword [rbp + 0x230], rax
mov r8d, 3
mov rdx, rbx
lea rcx, [rbp + 0x230]
call fcn.14008d0c0
nop
mov rdx, qword [rbp + 0x230]
test rdx, rdx
jne 0x140096185
mov eax, r15d
jmp 0x140096199
mov rax, rsi
nop dword [rax + rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x140096190
mov r8d, eax
lea rcx, [rbp + 0x820]
call fcn.140081660
nop
lea rax, [rbp + 0x238]
mov rcx, qword [rbp + 0x230]
cmp rcx, rax
je 0x1400961c1
call fcn.14033bf10
lea rcx, [rbp + 0x820]
call fcn.140098d20
mov rax, qword [rbp + 0x820]
cmp dword [rax - 0x10], 3
jge 0x14009626d
mov r8d, 4
mov rdx, rbx
lea ecx, [r8 - 3]
call fcn.1400a4b50
test eax, eax
jle 0x14009626d
lea rax, [rbp + 0x1a8]
mov qword [rbp + 0x1a0], rax
mov r8d, 3
mov rdx, rbx
lea rcx, [rbp + 0x1a0]
call fcn.14008d0c0
nop
mov rdx, qword [rbp + 0x1a0]
test rdx, rdx
jne 0x140096229
mov eax, r15d
jmp 0x140096239
mov rax, rsi
nop dword [rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x140096230
mov r8d, eax
lea rcx, [rbp + 0x820]
call fcn.140081660
nop
lea rax, [rbp + 0x1a8]
mov rcx, qword [rbp + 0x1a0]
cmp rcx, rax
je 0x140096261
call fcn.14033bf10
lea rcx, [rbp + 0x820]
call fcn.140098d20
mov rax, qword [rbp + 0x820]
cmp dword [rax - 0x10], 3
jge 0x14009629c
lea rdx, str.Daefgilnrsttu179
mov rax, rsi
inc rax
cmp byte [rdx + rax], 0
jne 0x140096284
mov r8d, eax
lea rcx, [rbp + 0x820]
call fcn.140081660
mov rbx, qword [rbp + 0x820]
movsxd rdi, dword [rbx - 0x10]
lea eax, [rdi + 1]
movsxd rcx, eax
call fcn.1400a50b4
mov r13, rax
mov r8, rdi
mov rdx, rbx
mov rcx, rax
call fcn.140334150
lea rbx, [rdi + r13]
movzx ecx, byte [rbp + 0x818]
mov byte [rbp + 0x818], cl
lea r9, [rbp + 0x818]
mov r8, rdi
mov rdx, rbx
mov rcx, r13
call fcn.1400990a0
mov byte [rbx], 0
test r13, r13
jne 0x1400962f6
mov eax, r15d
jmp 0x14009630a
mov rax, rsi
nop dword [rax]
inc rax
cmp byte [rax + r13], 0
jne 0x140096300
mov r8d, eax
mov rdx, r13
lea rcx, [rbp + 0x820]
call fcn.140081660
lea rax, [rbp + 0x3d8]
mov qword [rbp + 0x3d0], rax
mov r8d, 3
mov rdx, qword [rbp + 0x820]
lea rcx, [rbp + 0x3d0]
call fcn.14008d200
nop
mov rdx, qword [rbp + 0x3d0]
test rdx, rdx
jne 0x140096355
mov eax, r15d
jmp 0x14009636a
mov rax, rsi
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140096360
mov r8d, eax
lea rcx, [0x1404ba8b8]
call fcn.140082b40
nop
lea rax, [rbp + 0x3d8]
mov rcx, qword [rbp + 0x3d0]
cmp rcx, rax
je 0x140096392
call fcn.14033bf10
mov rax, qword [0x1404ba8b8]
cmp dword [rax - 0x10], 0x20
jle 0x1400963e5
mov r8d, 0x20
lea rdx, [rsp + 0x78]
lea rcx, [0x1404ba8b8]
call fcn.1400813e0
nop
mov rdx, rax
lea rcx, [0x1404ba8b8]
call fcn.140082310
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400963e5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [0x1404ba978]
cmp dword [rdx - 8], 1
jle 0x140096408
mov edx, dword [rdx - 0x10]
lea rcx, [0x1404ba978]
call fcn.1400828d0
mov rdx, qword [0x1404ba978]
lea rax, [rbp + 0x118]
mov qword [rbp + 0x110], rax
mov r8d, 3
lea rcx, [rbp + 0x110]
call fcn.14008d0c0
nop
mov qword [rbp + 0x858], select
mov qword [rbp + 0x850], r15
mov byte [rbp + 0x840], 0
mov rdx, qword [rbp + 0x110]
cmp byte [rdx], 0
jne 0x140096453
mov r8, r15
jmp 0x140096460
mov r8, rsi
inc r8
cmp byte [rdx + r8], 0
jne 0x140096456
lea rcx, [rbp + 0x840]
call fcn.140084f50
nop
lea rax, [rbp + 0x118]
mov rcx, qword [rbp + 0x110]
cmp rcx, rax
je 0x140096485
call fcn.14033bf10
mov qword [rbp + 0x878], select
mov qword [rbp + 0x870], r15
mov byte [rbp + 0x860], 0
lea rdx, [rbp + 0x840]
lea rcx, [rbp - 0x28]
call fcn.140084a10
mov rdx, rax
lea rcx, [rbp + 0x860]
call fcn.140098c60
mov rax, qword [rbp - 0x10]
cmp rax, 0x10
jb 0x140096513
inc rax
mov rcx, qword [rbp - 0x28]
cmp rax, 0x1000
jb 0x14009650e
test cl, 0x1f
je 0x1400964e1
call fcn.14033a09c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1400964f0
call fcn.14033a09c
int3
sub rcx, rax
cmp rcx, 8
jae 0x1400964ff
call fcn.14033a09c
int3
cmp rcx, 0x27
jbe 0x14009650b
call fcn.14033a09c
int3
mov rcx, rax
call fcn.1400a50bc
mov r9, rsi
xor r8d, r8d
lea rdx, [rbp + 0x860]
lea rcx, [rbp + 0x840]
call fcn.140085080
cmp dword [0x1404b34f4], 0
jne 0x140096983
mov r9d, 7
xor r8d, r8d
lea rdx, str._updt_
lea rcx, [rbp + 0x840]
call fcn.140084e60
mov rdi, rax
cmp eax, 0xffffffff
jle 0x140096983
lea ecx, [rax + 7]
movsxd rbx, ecx
mov r9d, 2
mov r8, rbx
lea rdx, [0x140442570]
lea rcx, [rbp + 0x840]
call fcn.140084e60
movsxd rcx, edi
sub rax, rcx
lea r9, [rax - 7]
mov r8, rbx
lea rdx, [rbp + 0x880]
lea rcx, [rbp + 0x840]
call fcn.140098c20
nop
lea rdi, [rbp + 0x880]
cmp qword [rbp + 0x898], 0x10
cmovae rdi, qword [rbp + 0x880]
call fcn.1400b1c7c
mov rcx, rax
test rax, rax
jne 0x1400965d3
mov ecx, 0x80004005
call fcn.140082d10
int3
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp + 0x828], rbx
test rdi, rdi
je 0x140096615
test rdi, 0xffffffffffff0000
jne 0x140096615
movzx edi, di
mov ecx, edi
call fcn.1400b2c04
test rax, rax
je 0x14009662b
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x828]
call fcn.140082750
jmp 0x140096624
mov rdx, rdi
lea rcx, [rbp + 0x828]
call fcn.14008d8a0
mov rbx, qword [rbp + 0x828]
cmp dword [rbx - 0x10], 0
jl 0x14009690d
lea rdx, [0x14043fa68]
mov rcx, rbx
call fcn.140334588
mov rdi, rax
test rax, rax
je 0x14009690d
sub rdi, rbx
sar rdi, 1
test edi, edi
jle 0x14009690d
mov r8d, edi
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x828]
call fcn.1400813e0
mov rcx, qword [rax]
call fcn.1403404f0
cvttsd2si r14d, xmm0
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14009669b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r8d, dword [rbx - 0x10]
sub r8d, edi
dec r8d
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x828]
call fcn.140081480
mov rcx, qword [rax]
call fcn.1403404f0
cvttsd2si ebx, xmm0
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400966e0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor ecx, ecx
call fcn.140340590
mov qword [rbp + 0x920], rax
xorps xmm0, xmm0
movsd qword [rbp - 0x60], xmm0
mov dword [rbp - 0x58], r15d
lea rdx, [rbp + 0x920]
lea rcx, [rbp - 0x60]
call fcn.140099800
movups xmm1, xmmword [rbp - 0x60]
movups xmmword [0x1404baec0], xmm1
movd xmm0, r14d
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
cvttsd2si eax, xmm1
cmp eax, ebx
jge 0x140096906
mov dword [0x1404b34f8], 1
mov r9d, 6
xor r8d, r8d
lea rdx, str._cdk_
lea rcx, [rbp + 0x840]
call fcn.140084e60
mov dword [0x14049c120], eax
lea rdx, [rbp + 0x880]
cmp qword [rbp + 0x898], 0x10
cmovae rdx, qword [rbp + 0x880]
lea rax, [rbp + 0x4e8]
mov qword [rbp + 0x4e0], rax
mov r8d, 3
lea rcx, [rbp + 0x4e0]
call fcn.14008d200
nop
mov rdx, qword [rbp + 0x4e0]
test rdx, rdx
jne 0x1400967a3
mov eax, r15d
jmp 0x1400967b0
mov rax, rsi
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400967a6
mov r8d, eax
lea rcx, [rbp + 0x828]
call fcn.140082b40
nop
lea rax, [rbp + 0x4e8]
mov rcx, qword [rbp + 0x4e0]
cmp rcx, rax
je 0x1400967d8
call fcn.14033bf10
mov eax, dword [0x14049c120]
test eax, eax
jle 0x140096906
add eax, 6
movsxd r8, eax
mov r9d, 2
lea rdx, [0x140442570]
lea rcx, [rbp + 0x840]
call fcn.140084e60
movsxd rdx, dword [0x14049c120]
sub rax, rdx
lea r9, [rax - 6]
lea ecx, [rdx + 6]
movsxd r8, ecx
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x840]
call fcn.140098c20
mov rdx, rax
lea rcx, [rbp + 0x880]
call fcn.140098c60
lea rcx, [rbp + 0x58]
call fcn.140084d20
lea rdx, [rbp + 0x880]
cmp qword [rbp + 0x898], 0x10
cmovae rdx, qword [rbp + 0x880]
lea rax, [rbp + 0x5f8]
mov qword [rbp + 0x5f0], rax
mov r8d, 3
lea rcx, [rbp + 0x5f0]
call fcn.14008d200
nop
mov rdx, qword [rbp + 0x5f0]
test rdx, rdx
jne 0x14009688a
mov eax, r15d
jmp 0x14009689a
mov rax, rsi
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140096890
mov r8d, eax
lea rcx, [rbp + 0x828]
call fcn.140082b40
nop
lea rax, [rbp + 0x5f8]
mov rcx, qword [rbp + 0x5f0]
cmp rcx, rax
je 0x1400968c2
call fcn.14033bf10
mov r8d, 5
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0x828]
call fcn.1400813e0
nop
mov rdx, rax
lea rcx, [0x1404baa38]
call fcn.140082310
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140096906
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rbp + 0x828]
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140096927
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rbp + 0x898]
cmp rax, 0x10
jb 0x140096983
inc rax
mov rcx, qword [rbp + 0x880]
cmp rax, 0x1000
jb 0x14009697e
test cl, 0x1f
je 0x140096951
call fcn.14033a09c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140096960
call fcn.14033a09c
int3
sub rcx, rax
cmp rcx, 8
jae 0x14009696f
call fcn.14033a09c
int3
cmp rcx, 0x27
jbe 0x14009697b
call fcn.14033a09c
int3
mov rcx, rax
call fcn.1400a50bc
mov r9d, 6
xor r8d, r8d
lea rdx, str._cdk_
lea rcx, [rbp + 0x840]
call fcn.140084e60
mov dword [0x14049c120], eax
cmp eax, 0xffffffff
jle 0x140096b1f
add eax, 6
movsxd r8, eax
mov r9d, 2
lea rdx, [0x140442570]
lea rcx, [rbp + 0x840]
call fcn.140084e60
movsxd rdx, dword [0x14049c120]
sub rax, rdx
lea r9, [rax - 6]
lea ecx, [rdx + 6]
movsxd r8, ecx
lea rdx, [rbp + 0x8e0]
lea rcx, [rbp + 0x840]
call fcn.140098c20
nop
mov dword [0x14049c120], esi
cmp qword [rbp + 0x8f0], 0x14
jne 0x140096ac3
lea rdx, [rbp + 0x8e0]
cmp qword [rbp + 0x8f8], 0x10
cmovae rdx, qword [rbp + 0x8e0]
mov r9d, reloc.WS2_32.dll_sendto
xor r8d, r8d
lea rcx, [0x1404ba9d8]
call fcn.140084e60
mov dword [0x14049c120], eax
lea rdx, [rbp + 0x8e0]
cmp qword [rbp + 0x8f8], 0x10
cmovae rdx, qword [rbp + 0x8e0]
lea rax, [rbp + 0x2c8]
mov qword [rbp + 0x2c0], rax
mov r8d, 3
lea rcx, [rbp + 0x2c0]
call fcn.14008d200
nop
mov rdx, qword [rbp + 0x2c0]
test rdx, rdx
jne 0x140096a84
mov eax, r15d
jmp 0x140096a9a
mov rax, rsi
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140096a90
mov r8d, eax
lea rcx, [0x1404ba8d0]
call fcn.140082b40
nop
lea rax, [rbp + 0x2c8]
mov rcx, qword [rbp + 0x2c0]
cmp rcx, rax
je 0x140096ac3
call fcn.14033bf10
nop
mov rax, qword [rbp + 0x8f8]
cmp rax, 0x10
jb 0x140096b1f
inc rax
mov rcx, qword [rbp + 0x8e0]
cmp rax, 0x1000
jb 0x140096b1a
test cl, 0x1f
je 0x140096aed
call fcn.14033a09c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140096afc
call fcn.14033a09c
int3
sub rcx, rax
cmp rcx, 8
jae 0x140096b0b
call fcn.14033a09c
int3
cmp rcx, 0x27
jbe 0x140096b17
call fcn.14033a09c
int3
mov rcx, rax
call fcn.1400a50bc
mov r9d, 6
xor r8d, r8d
lea rdx, str._reg_
lea rcx, [rbp + 0x860]
call fcn.140084e60
mov rdi, rax
test eax, eax
js 0x140096bec
lea ecx, [rax + 6]
movsxd rbx, ecx
mov r9d, 2
mov r8, rbx
lea rdx, [0x140442570]
lea rcx, [rbp + 0x860]
call fcn.140084e60
movsxd rcx, edi
sub rax, rcx
lea r9, [rax - 6]
mov r8, rbx
lea rdx, [rbp + 0x38]
lea rcx, [rbp + 0x860]
call fcn.140098c20
mov rdx, rax
lea rcx, [rbp + 0x840]
call fcn.140098c60
mov rax, qword [rbp + 0x50]
cmp rax, 0x10
jb 0x140096bfe
inc rax
mov rcx, qword [rbp + 0x38]
cmp rax, 0x1000
jb 0x140096be5
test cl, 0x1f
je 0x140096bb8
call fcn.14033a09c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140096bc7
call fcn.14033a09c
int3
sub rcx, rax
cmp rcx, 8
jae 0x140096bd6
call fcn.14033a09c
int3
cmp rcx, 0x27
jbe 0x140096be2
call fcn.14033a09c
int3
mov rcx, rax
call fcn.1400a50bc
jmp 0x140096bfe
xor r8d, r8d
mov rdx, r12
lea rcx, [rbp + 0x840]
call fcn.140084f50
lea rdx, [rbp + 0x840]
lea rcx, [rbp + 0x8c0]
call fcn.140095820
nop
lea rdx, [rbp + 0x8c0]
cmp qword [rbp + 0x8d8], 0x10
cmovae rdx, qword [rbp + 0x8c0]
lea rax, [rbp + 0x708]
mov qword [rbp + 0x700], rax
mov r8d, 3
lea rcx, [rbp + 0x700]
call fcn.14008d200
mov r8, qword [rbp + 0x700]
test r8, r8
jne 0x140096c60
mov ecx, 0x80004005
call fcn.140082d10
int3
mov rax, qword [0x1404ba8b8]
mov rdx, r8
sub rdx, rax
nop dword [rax]
movzx ecx, word [rax]
cmp cx, word [rax + rdx]
jne 0x140096c87
add rax, 2
test cx, cx
jne 0x140096c70
mov eax, r15d
jmp 0x140096c8c
sbb eax, eax
or eax, 1
test eax, eax
sete al
movzx edx, al
mov dword [0x1404b3510], edx
lea rax, [rbp + 0x708]
cmp r8, rax
je 0x140096cae
mov rcx, r8
call fcn.14033bf10
mov r9d, 6
xor r8d, r8d
lea rdx, str._rsa_
lea rcx, [rbp + 0x860]
call fcn.140084e60
test eax, eax
js 0x14009712d
mov dword [0x1404b32dc], eax
add eax, 6
movsxd r8, eax
mov r9d, 2
lea rdx, [0x140442570]
lea rcx, [rbp + 0x860]
call fcn.140084e60
movsxd rdx, dword [0x1404b32dc]
sub rax, rdx
lea r9, [rax - 6]
lea ecx, [rdx + 6]
movsxd r8, ecx
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x860]
call fcn.140098c20
mov rdx, rax
lea rcx, [rbp + 0x840]
call fcn.140098c60
mov rax, qword [rbp + 0x30]
cmp rax, 0x10
jb 0x140096d80
inc rax
mov rcx, qword [rbp + 0x18]
cmp rax, 0x1000
jb 0x140096d7b
test cl, 0x1f
je 0x140096d4e
call fcn.14033a09c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140096d5d
call fcn.14033a09c
int3
sub rcx, rax
cmp rcx, 8
jae 0x140096d6c
call fcn.14033a09c
int3
cmp rcx, 0x27
jbe 0x140096d78
call fcn.14033a09c
int3
mov rcx, rax
call fcn.1400a50bc
lea rdx, [rbp + 0x840]
lea rcx, [rbp - 8]
call fcn.140084a10
nop
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.140095a50
mov rdx, rax
lea r12, [0x1404baa18]
mov rcx, r12
call fcn.140098c60
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x140096e05
inc rax
mov rcx, qword [rbp - 0x50]
cmp rax, 0x1000
jb 0x140096e00
test cl, 0x1f
je 0x140096dd3
call fcn.14033a09c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140096de2
call fcn.14033a09c
int3
sub rcx, rax
cmp rcx, 8
jae 0x140096df1
call fcn.14033a09c
int3
cmp rcx, 0x27
jbe 0x140096dfd
call fcn.14033a09c
int3
mov rcx, rax
call fcn.1400a50bc
mov qword [rbp - 0x38], select
mov qword [rbp - 0x40], r15
mov byte [rbp - 0x50], 0
mov rax, qword [rbp + 0x10]
cmp rax, 0x10
jb 0x140096e6b
inc rax
mov rcx, qword [rbp - 8]
cmp rax, 0x1000
jb 0x140096e66
test cl, 0x1f
je 0x140096e39
call fcn.14033a09c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140096e48
call fcn.14033a09c
int3
sub rcx, rax
cmp rcx, 8
jae 0x140096e57
call fcn.14033a09c
int3
cmp rcx, 0x27
jbe 0x140096e63
call fcn.14033a09c
int3
mov rcx, rax
call fcn.1400a50bc
mov r8d, dword [0x1404b32d8]
lea rdx, [0x14043d7b8]
lea rcx, [rbp + 0x830]
call fcn.1400825b0
lea r8, [0x1404ba8b8]
lea rdx, [rbp + 0x830]
lea rcx, [rbp - 0x70]
call fcn.140081320
nop
mov rdx, rax
lea rcx, [rbp + 0x830]
call fcn.140082310
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140096eca
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rbp + 0x830]
cmp dword [rax - 8], 1
jle 0x140096ee6
mov edx, dword [rax - 0x10]
lea rcx, [rbp + 0x830]
call fcn.1400828d0
lea rax, [rbp + 0x88]
mov qword [rbp + 0x80], rax
mov r8d, 3
mov rdx, qword [rbp + 0x830]
lea rcx, [rbp + 0x80]
call fcn.14008d0c0
nop
mov qword [rbp + 0x8b8], select
mov qword [rbp + 0x8b0], r15
mov byte [rbp + 0x8a0], 0
mov rdx, qword [rbp + 0x80]
cmp byte [rdx], 0
jne 0x140096f38
mov r8, r15
jmp 0x140096f4a
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140096f40
lea rcx, [rbp + 0x8a0]
call fcn.140084f50
nop
lea rax, [rbp + 0x88]
mov rcx, qword [rbp + 0x80]
cmp rcx, rax
je 0x140096f6f
call fcn.14033bf10
lea rcx, [rbp + 0x8a0]
cmp qword [rbp + 0x8b8], 0x10
cmovae rcx, qword [rbp + 0x8a0]
lea r8, [rbp + 0x948]
mov rdx, qword [rbp + 0x8b0]
call fcn.140261430
mov qword [rbp + 0x918], select
mov qword [rbp + 0x910], r15
mov byte [rbp + 0x900], 0
mov rbx, r15
lea rdi, str.0123456789ABCDEF
nop dword [rax]
movzx eax, byte [rbp + rbx + 0x948]
shr rax, 4
movzx r8d, byte [rax + rdi]
lea rcx, [rbp + 0x900]
call fcn.1400851b0
movzx eax, byte [rbp + rbx + 0x948]
and eax, 0xf
movzx r8d, byte [rax + rdi]
lea rcx, [rbp + 0x900]
call fcn.1400851b0
inc rbx
cmp rbx, 0x10
jb 0x140096fc0
lea rdx, [rbp + 0x900]
mov rbx, qword [rbp + 0x900]
mov r15, qword [rbp + 0x918]
cmp r15, 0x10
cmovae rdx, rbx
cmp qword [0x1404baa30], 0x10
cmovae r12, qword [0x1404baa18]
mov rdi, qword [0x1404baa28]
mov r14, qword [rbp + 0x910]
mov r8, r14
cmp rdi, r14
cmovb r8, rdi
test r8, r8
je 0x14009705a
mov rcx, r12
call fcn.1403353e0
mov ecx, eax
test eax, eax
jne 0x14009706b
cmp rdi, r14
jae 0x140097063
mov ecx, esi
jmp 0x14009706b
xor ecx, ecx
cmp rdi, r14
seta cl
xor eax, eax
test ecx, ecx
sete al
mov dword [0x1404b34fc], eax
cmp r15, 0x10
jb 0x1400970cf
lea rax, [r15 + 1]
cmp rax, 0x1000
jb 0x1400970c6
test byte [rbp + 0x900], 0x1f
je 0x140097099
call fcn.14033a09c
int3
mov rax, qword [rbx - 8]
cmp rax, rbx
jb 0x1400970a8
call fcn.14033a09c
int3
sub rbx, rax
cmp rbx, 8
jae 0x1400970b7
call fcn.14033a09c
int3
cmp rbx, 0x27
jbe 0x1400970c3
call fcn.14033a09c
int3
mov rbx, rax
mov rcx, rbx
call fcn.1400a50bc
nop
mov rax, qword [rbp + 0x8b8]
cmp rax, 0x10
jb 0x140097148
inc rax
mov rcx, qword [rbp + 0x8a0]
cmp rax, 0x1000
jb 0x140097126
test cl, 0x1f
je 0x1400970f9
call fcn.14033a09c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140097108
call fcn.14033a09c
int3
sub rcx, rax
cmp rcx, 8
jae 0x140097117
call fcn.14033a09c
int3
cmp rcx, 0x27
jbe 0x140097123
call fcn.14033a09c
int3
mov rcx, rax
call fcn.1400a50bc
jmp 0x140097148
xor r8d, r8d
mov rdx, r12
lea rcx, [rbp + 0x840]
call fcn.140084f50
mov dword [0x1404b3510], r15d
jmp 0x14009714b
xor r15d, r15d
mov rcx, qword [rbp - 0x68]
call fcn.1400a50bc
mov rcx, r13
call fcn.1400a50bc
nop
mov rax, qword [rbp + 0x8d8]
cmp rax, 0x10
jb 0x1400971b9
inc rax
mov rcx, qword [rbp + 0x8c0]
cmp rax, 0x1000
jb 0x1400971b4
test cl, 0x1f
je 0x140097187
call fcn.14033a09c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140097196
call fcn.14033a09c
int3
sub rcx, rax
cmp rcx, 8
jae 0x1400971a5
call fcn.14033a09c
int3
cmp rcx, 0x27
jbe 0x1400971b1
call fcn.14033a09c
int3
mov rcx, rax
call fcn.1400a50bc
mov qword [rbp + 0x8d8], select
mov qword [rbp + 0x8d0], r15
mov byte [rbp + 0x8c0], 0
mov rax, qword [rbp + 0x878]
cmp rax, 0x10
jb 0x14009722e
inc rax
mov rcx, qword [rbp + 0x860]
cmp rax, 0x1000
jb 0x140097229
test cl, 0x1f
je 0x1400971fc
call fcn.14033a09c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x14009720b
call fcn.14033a09c
int3
sub rcx, rax
cmp rcx, 8
jae 0x14009721a
call fcn.14033a09c
int3
cmp rcx, 0x27
jbe 0x140097226
call fcn.14033a09c
int3
mov rcx, rax
call fcn.1400a50bc
mov qword [rbp + 0x878], select
mov qword [rbp + 0x870], r15
mov byte [rbp + 0x860], 0
mov rax, qword [rbp + 0x858]
cmp rax, 0x10
jb 0x1400972a3
inc rax
mov rcx, qword [rbp + 0x840]
cmp rax, 0x1000
jb 0x14009729e
test cl, 0x1f
je 0x140097271
call fcn.14033a09c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140097280
call fcn.14033a09c
int3
sub rcx, rax
cmp rcx, 8
jae 0x14009728f
call fcn.14033a09c
int3
cmp rcx, 0x27
jbe 0x14009729b
call fcn.14033a09c
int3
mov rcx, rax
call fcn.1400a50bc
mov qword [rbp + 0x858], select
mov qword [rbp + 0x850], r15
mov byte [rbp + 0x840], 0
mov rdx, qword [rbp + 0x830]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400972dd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x820]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400972fe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x838]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x140097329
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140097329
mov ecx, 0x80070057
call fcn.140082d10
nop
mov rcx, qword [rbp + 0xb70]
xor rcx, rsp
call fcn.14025d560
lea r11, [rsp + 0xc80]
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