Function at 0x140081e10
Capabilities:
Execute anti-debugging instructions

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0x80]
movapd xmmword [rbp + 0x20], xmm8
movapd xmmword [rbp + 0x10], xmm7
movapd xmmword [rbp], xmm6
mov qword [rbp - 8], 0xfffffffffffffffe
mov rsi, rcx
mov r9, qword [rdx + 8]
test r9, r9
je 0x1400826ae
mov rdi, rdx
mov r8, qword [rdx]
xorpd xmm6, xmm6
movupd xmmword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov ecx, 0xfde9
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
je 0x140081ea3
movapd xmmword [rbp - 0x30], xmm6
mov qword [rbp - 0x20], 0
inc eax
jne 0x140081f74
xor eax, eax
xor ecx, ecx
jmp 0x140081f8c
mov r12, qword [0x140172858]
movzx eax, byte [r12 + 0x50]
cmp al, 7
ja 0x1400826ae
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x14], eax
mov eax, dword [0x140171310]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov eax, dword [rax + 0x138]
test al, 1
je 0x140082b59
mov eax, dword [0x140171310]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r13, qword [rax + 0x128]
cmp byte [r13 + 0x280], 1
jne 0x140082c5f
mov rax, qword [r13 + 0x80]
mov edx, dword [rax + 0x80]
mov ecx, dword [rax + 0x180]
sub edx, ecx
add edx, dword [rax + 0x188]
cmp edx, 0x27
ja 0x140081f4d
mov edx, dword [rax + 0x200]
mov dword [rax + 0x188], edx
mov ecx, dword [rax + 0x180]
add edx, dword [rax + 0x80]
sub edx, ecx
cmp edx, 0x28
jb 0x140082124
mov r14, qword [rax + 0x90]
test r14, r14
je 0x140082124
and ecx, dword [rax + 0x84]
add r14, rcx
test r14, r14
jne 0x1400823b7
jmp 0x1400823e4
movsxd rdx, eax
lea rcx, [rbp - 0x30]
lea r8, [rbp - 0x38]
call fcn.1400830f0
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x28]
sub ecx, eax
mov r9d, dword [rdi + 8]
mov r8, qword [rdi]
movupd xmmword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rax
mov ecx, 0xfde9
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
je 0x14008200c
cdqe
mov rcx, qword [rbp - 0x30]
mov byte [rcx + rax], 0
mov rbx, qword [rbp - 0x30]
movupd xmmword [rsi + 0x10], xmm6
movupd xmmword [rsi], xmm6
mov rcx, rbx
call fcn.1400e8690
test rax, rax
js 0x140082c55
mov rdi, rax
cmp rax, 0xf
ja 0x1400820dd
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], 0xf
mov rcx, rsi
mov rdx, rbx
mov r8, rdi
call fcn.1401022e0
add rdi, rsi
jmp 0x1400821f0
mov r12, qword [0x140172858]
movzx eax, byte [r12 + 0x50]
cmp al, 8
jae 0x140082ae3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x14], eax
mov eax, dword [0x140171310]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov eax, dword [rax + 0x138]
test al, 1
je 0x140082b91
mov eax, dword [0x140171310]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r13, qword [rax + 0x128]
cmp byte [r13 + 0x280], 1
jne 0x140082c6e
mov rax, qword [r13 + 0x80]
mov edx, dword [rax + 0x80]
mov ecx, dword [rax + 0x180]
sub edx, ecx
add edx, dword [rax + 0x188]
cmp edx, 0x27
ja 0x1400820b6
mov edx, dword [rax + 0x200]
mov dword [rax + 0x188], edx
mov ecx, dword [rax + 0x180]
add edx, dword [rax + 0x80]
sub edx, ecx
cmp edx, 0x28
jb 0x1400821f8
mov r14, qword [rax + 0x90]
test r14, r14
je 0x1400821f8
and ecx, dword [rax + 0x84]
add r14, rcx
test r14, r14
jne 0x1400827ea
jmp 0x140082815
mov qword [rsi + 0x18], 0xf
mov rax, rdi
or rax, 0xf
cmp rax, 0x17
mov r15d, 0x16
cmovae r15, rax
cmp r15, 0xfff
jb 0x1400821c8
lea rcx, [r15 + 0x28]
call fcn.1400cd3b4
mov r14, rax
add r14, 0x27
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x1400821d4
mov rax, qword [r13 + 0x80]
mov r14d, dword [rax + 0x80]
nop word cs:[rax + rax]
mov rcx, r14
add r14, r14
cmp rcx, 0x15
jb 0x140082140
cmp rcx, 0x40000000
ja 0x1400823e4
mov ecx, dword [rax + 0x180]
mov dword [rax + 0x100], ecx
mov ecx, 0x300
mov edx, 0x80
call fcn.1400cd3f0
mov r15, rax
movzx ebx, byte [r13]
mov qword [rax], 0
test r14d, r14d
js 0x140082298
lea eax, [r14 - 1]
test r14d, eax
sete al
test r14d, r14d
setne cl
test cl, al
jne 0x14008229e
mov eax, r14d
cvtsi2sd xmm0, rax
call fcn.1400e74ac
addsd xmm0, qword [0x140126ed8]
call fcn.1400e5cfc
cvttsd2si r14, xmm0
jmp 0x14008229e
lea rcx, [r15 + 1]
call fcn.1400cd3b4
mov r14, rax
mov qword [rsi], r14
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], r15
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.1401022e0
add rdi, r14
mov byte [rdi], 0
jmp 0x140082afb
mov rax, qword [r13 + 0x80]
mov r14d, dword [rax + 0x80]
nop word cs:[rax + rax]
mov rcx, r14
add r14, r14
cmp rcx, 0x15
jb 0x140082210
cmp rcx, 0x40000000
ja 0x140082815
mov ecx, dword [rax + 0x180]
mov dword [rax + 0x100], ecx
mov ecx, 0x300
mov edx, 0x80
call fcn.1400cd3f0
mov r15, rax
movzx ebx, byte [r13]
mov qword [rax], 0
test r14d, r14d
js 0x1400826cb
lea eax, [r14 - 1]
test r14d, eax
sete al
test r14d, r14d
setne cl
test cl, al
jne 0x1400826d1
mov eax, r14d
cvtsi2sd xmm0, rax
call fcn.1400e74ac
addsd xmm0, qword [0x140126ed8]
call fcn.1400e5cfc
cvttsd2si r14, xmm0
jmp 0x1400826d1
mov r14d, 0x80000000
mov dword [r15 + 0x80], r14d
lea eax, [r14 - 1]
mov dword [r15 + 0x84], eax
mov r14d, r14d
xorps xmm0, xmm0
cvtsi2sd xmm0, r14
mulsd xmm0, qword [0x14012dff0]
divsd xmm0, qword [0x14012dff8]
cvttsd2si rax, xmm0
mov dword [r15 + 0x88], eax
add r14, r14
mov edx, 0x80
mov rcx, r14
mov r8d, ebx
mov qword [rbp - 0x10], r15
call fcn.14009e990
mov rdi, qword [rbp - 0x10]
mov qword [rdi + 0x90], rax
mov dword [rdi + 0x100], 0
mov qword [rdi + 0x180], 0
mov dword [rdi + 0x188], 0
mov dword [rdi + 0x200], 0
mov qword [rdi + 0x280], 0
mov dword [rdi + 0x288], 0
xor ebx, ebx
mov rcx, rax
xor edx, edx
mov r8, r14
call fcn.140102980
xor eax, eax
xchg dword [rdi + 0x100], eax
xchg dword [rdi + 0x200], ebx
mov rax, qword [r13 + 0x80]
mov qword [rax], rdi
mov qword [r13 + 0x80], rdi
mov eax, dword [rdi + 0x80]
mov r14d, dword [rdi + 0x180]
sub eax, r14d
add eax, dword [rdi + 0x188]
cmp eax, 0x27
mov rcx, rdi
ja 0x1400823a4
mov eax, dword [rcx + 0x200]
mov dword [rcx + 0x188], eax
mov r14d, dword [rcx + 0x180]
add eax, dword [rcx + 0x80]
sub eax, r14d
cmp eax, 0x28
jb 0x1400823e4
and r14d, dword [rcx + 0x84]
add r14, qword [rcx + 0x90]
test r14, r14
je 0x1400823e4
lea rbx, [r14 + 7]
and rbx, 0xfffffffffffffff8
movzx eax, byte [r12 + 0x39]
cmp eax, 1
je 0x140082633
test eax, eax
jne 0x14008263e
rdtsc
shl rdx, 0x20
or rdx, rax
jmp 0x14008264c
lock inc qword [r13 + 0x380]
lea rbx, [rbp - 0x30]
movsd xmm6, qword [0x14012dff0]
movsd xmm7, qword [0x14012dff8]
movsd xmm8, qword [0x140126ed8]
jmp 0x140082418
xor r14d, r14d
test r14, r14
jne 0x1400823b7
mov qword [rbp - 0x30], 0x320
mov rcx, rbx
call fcn.140015710
cmp byte [r13 + 0x280], 1
jne 0x140082c4b
mov rax, qword [r13 + 0x80]
mov edx, dword [rax + 0x80]
mov ecx, dword [rax + 0x180]
sub edx, ecx
add edx, dword [rax + 0x188]
cmp edx, 0x27
ja 0x140082475
mov edx, dword [rax + 0x200]
mov dword [rax + 0x188], edx
mov ecx, dword [rax + 0x180]
add edx, dword [rax + 0x80]
sub edx, ecx
cmp edx, 0x28
jb 0x140082490
mov r14, qword [rax + 0x90]
test r14, r14
je 0x140082490
and ecx, dword [rax + 0x84]
add r14, rcx
jmp 0x140082413
mov rax, qword [r13 + 0x80]
mov r15d, dword [rax + 0x80]
nop
mov rcx, r15
add r15, r15
cmp rcx, 0x15
jb 0x1400824a0
cmp rcx, 0x40000000
ja 0x140082410
mov ecx, dword [rax + 0x180]
mov dword [rax + 0x100], ecx
mov ecx, 0x300
mov edx, 0x80
call fcn.1400cd3f0
movzx r14d, byte [r13]
mov qword [rax], 0
test r15d, r15d
js 0x14008251d
lea ecx, [r15 - 1]
test r15d, ecx
sete dl
test r15d, r15d
setne cl
test cl, dl
jne 0x140082523
mov ecx, r15d
cvtsi2sd xmm0, rcx
mov r15, rax
call fcn.1400e74ac
addsd xmm0, xmm8
call fcn.1400e5cfc
mov rax, r15
cvttsd2si r15, xmm0
jmp 0x140082523
mov r15d, 0x80000000
mov qword [rbp - 0x10], rax
mov dword [rax + 0x80], r15d
lea ecx, [r15 - 1]
mov dword [rax + 0x84], ecx
mov r15d, r15d
xorps xmm0, xmm0
cvtsi2sd xmm0, r15
mulsd xmm0, xmm6
divsd xmm0, xmm7
cvttsd2si rcx, xmm0
mov dword [rax + 0x88], ecx
add r15, r15
mov edx, 0x80
mov rcx, r15
mov r8d, r14d
call fcn.14009e990
mov rdi, qword [rbp - 0x10]
mov qword [rdi + 0x90], rax
mov dword [rdi + 0x100], 0
mov qword [rdi + 0x180], 0
mov dword [rdi + 0x188], 0
mov dword [rdi + 0x200], 0
mov qword [rdi + 0x280], 0
mov dword [rdi + 0x288], 0
mov rcx, rax
xor edx, edx
mov r8, r15
call fcn.140102980
xor eax, eax
xchg dword [rdi + 0x100], eax
xor eax, eax
xchg dword [rdi + 0x200], eax
mov rax, qword [r13 + 0x80]
mov qword [rax], rdi
mov qword [r13 + 0x80], rdi
mov eax, dword [rdi + 0x80]
mov r14d, dword [rdi + 0x180]
sub eax, r14d
add eax, dword [rdi + 0x188]
cmp eax, 0x27
ja 0x140082620
mov eax, dword [rdi + 0x200]
mov dword [rdi + 0x188], eax
mov r14d, dword [rdi + 0x180]
add eax, dword [rdi + 0x80]
sub eax, r14d
cmp eax, 0x28
jb 0x140082410
and r14d, dword [rdi + 0x84]
add r14, qword [rdi + 0x90]
jmp 0x140082413
call fcn.1400ceeb4
imul rdx, rax, 0x64
jmp 0x14008264c
mov rcx, qword [r12 + 0x40]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, rax
mov ecx, dword [rbp - 0x14]
lea rax, [0x1400c61a0]
mov qword [rbx], rax
mov qword [rbx + 8], r12
mov qword [rbx + 0x10], rdx
mov dword [rbx + 0x18], ecx
cmp byte [r13 + 0x280], 1
jne 0x140082c64
sub ebx, r14d
mov rax, qword [r13 + 0x80]
mov ecx, dword [rax + 0x180]
add ecx, ebx
add ecx, 0x1c
mov dword [rax + 0x180], ecx
cmp byte [r13 + 0x280], 1
jne 0x140082c69
mov rax, qword [r13 + 0x80]
mov ecx, dword [rax + 0x180]
mov dword [rax + 0x100], ecx
xorpd xmm0, xmm0
movupd xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 0xf
jmp 0x140082b35
mov r14d, 0x80000000
mov dword [r15 + 0x80], r14d
lea eax, [r14 - 1]
mov dword [r15 + 0x84], eax
mov r14d, r14d
xorps xmm0, xmm0
cvtsi2sd xmm0, r14
mulsd xmm0, qword [0x14012dff0]
divsd xmm0, qword [0x14012dff8]
cvttsd2si rax, xmm0
mov dword [r15 + 0x88], eax
add r14, r14
mov edx, 0x80
mov rcx, r14
mov r8d, ebx
mov qword [rbp - 0x10], r15
call fcn.14009e990
mov rdi, qword [rbp - 0x10]
mov qword [rdi + 0x90], rax
mov dword [rdi + 0x100], 0
mov qword [rdi + 0x180], 0
mov dword [rdi + 0x188], 0
mov dword [rdi + 0x200], 0
mov qword [rdi + 0x280], 0
mov dword [rdi + 0x288], 0
xor ebx, ebx
mov rcx, rax
xor edx, edx
mov r8, r14
call fcn.140102980
xor eax, eax
xchg dword [rdi + 0x100], eax
xchg dword [rdi + 0x200], ebx
mov rax, qword [r13 + 0x80]
mov qword [rax], rdi
mov qword [r13 + 0x80], rdi
mov eax, dword [rdi + 0x80]
mov r14d, dword [rdi + 0x180]
sub eax, r14d
add eax, dword [rdi + 0x188]
cmp eax, 0x27
mov rcx, rdi
ja 0x1400827d7
mov eax, dword [rcx + 0x200]
mov dword [rcx + 0x188], eax
mov r14d, dword [rcx + 0x180]
add eax, dword [rcx + 0x80]
sub eax, r14d
cmp eax, 0x28
jb 0x140082815
and r14d, dword [rcx + 0x84]
add r14, qword [rcx + 0x90]
test r14, r14
je 0x140082815
movzx eax, byte [r12 + 0x39]
cmp eax, 1
je 0x140082a63
test eax, eax
jne 0x140082a6e
rdtsc
mov rcx, rax
mov rax, rdx
shl rax, 0x20
or rax, rcx
jmp 0x140082a79
lock inc qword [r13 + 0x380]
lea rbx, [rbp - 0x38]
movsd xmm6, qword [0x14012dff0]
movsd xmm7, qword [0x14012dff8]
movsd xmm8, qword [0x140126ed8]
jmp 0x140082848
xor r14d, r14d
test r14, r14
jne 0x1400827ea
mov qword [rbp - 0x38], 0x320
mov rcx, rbx
call fcn.140015710
cmp byte [r13 + 0x280], 1
jne 0x140082c50
mov rax, qword [r13 + 0x80]
mov edx, dword [rax + 0x80]
mov ecx, dword [rax + 0x180]
sub edx, ecx
add edx, dword [rax + 0x188]
cmp edx, 0x27
ja 0x1400828a5
mov edx, dword [rax + 0x200]
mov dword [rax + 0x188], edx
mov ecx, dword [rax + 0x180]
add edx, dword [rax + 0x80]
sub edx, ecx
cmp edx, 0x28
jb 0x1400828c0
mov r14, qword [rax + 0x90]
test r14, r14
je 0x1400828c0
and ecx, dword [rax + 0x84]
add r14, rcx
jmp 0x140082843
mov rax, qword [r13 + 0x80]
mov r15d, dword [rax + 0x80]
nop
mov rcx, r15
add r15, r15
cmp rcx, 0x15
jb 0x1400828d0
cmp rcx, 0x40000000
ja 0x140082840
mov ecx, dword [rax + 0x180]
mov dword [rax + 0x100], ecx
mov ecx, 0x300
mov edx, 0x80
call fcn.1400cd3f0
movzx r14d, byte [r13]
mov qword [rax], 0
test r15d, r15d
js 0x14008294d
lea ecx, [r15 - 1]
test r15d, ecx
sete dl
test r15d, r15d
setne cl
test cl, dl
jne 0x140082953
mov ecx, r15d
cvtsi2sd xmm0, rcx
mov r15, rax
call fcn.1400e74ac
addsd xmm0, xmm8
call fcn.1400e5cfc
mov rax, r15
cvttsd2si r15, xmm0
jmp 0x140082953
mov r15d, 0x80000000
mov qword [rbp - 0x10], rax
mov dword [rax + 0x80], r15d
lea ecx, [r15 - 1]
mov dword [rax + 0x84], ecx
mov r15d, r15d
xorps xmm0, xmm0
cvtsi2sd xmm0, r15
mulsd xmm0, xmm6
divsd xmm0, xmm7
cvttsd2si rcx, xmm0
mov dword [rax + 0x88], ecx
add r15, r15
mov edx, 0x80
mov rcx, r15
mov r8d, r14d
call fcn.14009e990
mov rdi, qword [rbp - 0x10]
mov qword [rdi + 0x90], rax
mov dword [rdi + 0x100], 0
mov qword [rdi + 0x180], 0
mov dword [rdi + 0x188], 0
mov dword [rdi + 0x200], 0
mov qword [rdi + 0x280], 0
mov dword [rdi + 0x288], 0
mov rcx, rax
xor edx, edx
mov r8, r15
call fcn.140102980
xor eax, eax
xchg dword [rdi + 0x100], eax
xor eax, eax
xchg dword [rdi + 0x200], eax
mov rax, qword [r13 + 0x80]
mov qword [rax], rdi
mov qword [r13 + 0x80], rdi
mov eax, dword [rdi + 0x80]
mov r14d, dword [rdi + 0x180]
sub eax, r14d
add eax, dword [rdi + 0x188]
cmp eax, 0x27
ja 0x140082a50
mov eax, dword [rdi + 0x200]
mov dword [rdi + 0x188], eax
mov r14d, dword [rdi + 0x180]
add eax, dword [rdi + 0x80]
sub eax, r14d
cmp eax, 0x28
jb 0x140082840
and r14d, dword [rdi + 0x84]
add r14, qword [rdi + 0x90]
jmp 0x140082843
call fcn.1400ceeb4
imul rax, rax, 0x64
jmp 0x140082a79
mov rcx, qword [r12 + 0x40]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [r14 + 7]
and rcx, 0xfffffffffffffff8
lea rdx, [0x1400c6220]
mov qword [rcx], rdx
mov qword [rcx + 8], r12
mov qword [rcx + 0x10], rax
mov eax, dword [rbp - 0x14]
mov dword [rcx + 0x18], eax
cmp byte [r13 + 0x280], 1
jne 0x140082c73
sub ecx, r14d
mov rax, qword [r13 + 0x80]
mov edx, dword [rax + 0x180]
add ecx, edx
add ecx, 0x1c
mov dword [rax + 0x180], ecx
cmp byte [r13 + 0x280], 1
jne 0x140082c78
mov rax, qword [r13 + 0x80]
mov ecx, dword [rax + 0x180]
mov dword [rax + 0x100], ecx
xorpd xmm0, xmm0
movupd xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 0xf
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x140082b35
mov rdx, qword [rbp - 0x20]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140082b30
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140082c5a
add rdx, 0x27
mov rcx, rax
call fcn.1400cd44c
mov rax, rsi
movaps xmm6, xmmword [rbp]
movaps xmm7, xmmword [rbp + 0x10]
movaps xmm8, xmmword [rbp + 0x20]
add rsp, 0xb8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rdx, qword [r12 + 0x48]
or eax, 1
mov ecx, dword [0x140171310]
mov r8, qword gs:[0x58]
mov rcx, qword [r8 + rcx*8]
mov dword [rcx + 0x138], eax
mov rax, qword [rdx]
mov r8d, dword [rax + 0xe8]
cmp qword [rax + 0x30], 0
je 0x140082bc9
mov r9d, dword [rax + 0x48]
jmp 0x140082bcf
mov rdx, qword [r12 + 0x48]
or eax, 1
mov ecx, dword [0x140171310]
mov r8, qword gs:[0x58]
mov rcx, qword [r8 + rcx*8]
mov dword [rcx + 0x138], eax
mov rax, qword [rdx]
mov r8d, dword [rax + 0xe8]
cmp qword [rax + 0x30], 0
je 0x140082c0a
mov r9d, dword [rax + 0x48]
jmp 0x140082c10
mov r9d, 1
movzx eax, byte [rax + 0xec]
mov byte [rsp + 0x20], al
mov eax, dword [0x140171310]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x120]
call fcn.14000b160
lea rcx, [0x140015950]
call fcn.1400cd650
jmp 0x140081ee2
mov r9d, 1
movzx eax, byte [rax + 0xec]
mov byte [rsp + 0x20], al
mov eax, dword [0x140171310]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x120]
call fcn.14000b160
lea rcx, [0x140015950]
call fcn.1400cd650
jmp 0x14008204b
call fcn.14000b7a0
call fcn.14000b7a0
call fcn.140002640
call fcn.1400e193c
call fcn.14000b7a0
call fcn.14000b7a0
call fcn.14000b7a0
call fcn.14000b7a0
call fcn.14000b7a0
call fcn.14000b7a0
int3