Function at 0x14001fe00
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rax, qword gs:[0x58]
xor r14d, r14d
mov edi, 4
mov rbx, qword [rax]
mov eax, dword [rdi + rbx]
cmp dword [sym.Stunner.exe_int__unsigned_long_int___cdecl_anti_suspend_void_::_2::_TSS0], eax
jle 0x14001fee7
lea rcx, [sym.Stunner.exe_int__unsigned_long_int___cdecl_anti_suspend_void_::_2::_TSS0]
call fcn.14006fa34
cmp dword [sym.Stunner.exe_int__unsigned_long_int___cdecl_anti_suspend_void_::_2::_TSS0], 0xffffffff
jne 0x14001fee7
xor eax, eax
mov dword [rbp - 0x60], 0x23202126
mov qword [rbp - 0x5c], rax
movabs r9, 0xe6211e96676f787b
mov dword [rbp - 0x54], eax
mov word [rbp - 0x50], ax
mov byte [rbp - 0x4e], al
mov qword [rbp + 0x30], r14
mov rax, qword [rbp + 0x30]
nop word [rax + rax]
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x30]
add rcx, r9
movzx edx, byte [rbp + rax - 0x60]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rbp + 0x30]
add r8, rcx
add r8, rdx
sub r8b, 0x5d
mov byte [rbp + rax - 0x60], r8b
mov rax, qword [rbp + 0x30]
inc rax
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x30]
cmp rax, 0x13
jb 0x14001fe90
mov eax, dword [rbp - 0x60]
lea rcx, [sym.Stunner.exe_int__unsigned_long_int___cdecl_anti_suspend_void_::_2::_TSS0]
mov dword [sym.Stunner.exe_unsigned_long_int__unsigned_long_int___cdecl_anti_suspend_void_::_2::TimeTest1], eax
call fcn.14006f9c8
mov eax, dword [rdi + rbx]
cmp dword [sym.Stunner.exe_int__unsigned_long_int___cdecl_anti_suspend_void_::_2::_TSS1], eax
jle 0x14001ff97
lea rcx, [sym.Stunner.exe_int__unsigned_long_int___cdecl_anti_suspend_void_::_2::_TSS1]
call fcn.14006fa34
cmp dword [sym.Stunner.exe_int__unsigned_long_int___cdecl_anti_suspend_void_::_2::_TSS1], 0xffffffff
jne 0x14001ff97
xor eax, eax
mov dword [rbp - 0x40], 0x7b787966
mov qword [rbp - 0x3c], rax
movabs r9, 0x264015e39bda17af
mov dword [rbp - 0x34], eax
mov word [rbp - 0x30], ax
mov qword [rbp + 0x30], r14
mov rax, qword [rbp + 0x30]
nop word [rax + rax]
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x30]
add rcx, r9
movzx edx, byte [rbp + rax - 0x40]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rbp + 0x30]
add r8, rcx
add r8, rdx
add r8b, 0x37
mov byte [rbp + rax - 0x40], r8b
mov rax, qword [rbp + 0x30]
inc rax
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x30]
cmp rax, 0x12
jb 0x14001ff40
mov eax, dword [rbp - 0x40]
lea rcx, [sym.Stunner.exe_int__unsigned_long_int___cdecl_anti_suspend_void_::_2::_TSS1]
mov dword [sym.Stunner.exe_unsigned_long_int__unsigned_long_int___cdecl_anti_suspend_void_::_2::TimeTest2], eax
call fcn.14006f9c8
mov rcx, qword [0x14007d290]
mov eax, dword [sym.Stunner.exe_unsigned_long_int__unsigned_long_int___cdecl_anti_suspend_void_::_2::TimeTest2]
mov dword [sym.Stunner.exe_unsigned_long_int__unsigned_long_int___cdecl_anti_suspend_void_::_2::TimeTest1], eax
test rcx, rcx
jne 0x140020151
mov rax, qword gs:[0x60]
mov r11d, r14d
mov r10d, 0x3ce75d8a
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r11d, r11d
je 0x14002002d
psrldq xmm0, 8
mov edx, 0xa7bd9a22
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140020024
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140020010
cmp edx, r11d
jne 0x14002012e
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
mov edi, ecx
shr r15, 0x20
add rdi, r9
cmp rdi, r9
je 0x14002012e
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x14002012e
mov r14d, dword [rdi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0xa7bd9a22
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1400200a7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140020090
cmp edx, r10d
je 0x1400200b3
test r8d, r8d
jne 0x140020070
jmp 0x14002012e
mov ecx, dword [rdi + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r9
mov ecx, dword [rcx + rdx*4]
add rcx, r9
cmp rcx, rdi
jbe 0x140020251
lea rax, [rdi + r15]
cmp rcx, rax
jae 0x140020251
movzx eax, byte [rcx]
mov r11d, 0xa7bd9a22
mov r10d, r11d
cmp al, 0x2e
je 0x140020107
movsx eax, al
inc rcx
xor eax, r11d
imul r11d, eax, 0x1000193
movzx eax, byte [rcx]
cmp al, 0x2e
jne 0x1400200f0
movzx eax, byte [rcx + 1]
inc rcx
test al, al
je 0x14002012a
movsx eax, al
lea rcx, [rcx + 1]
xor eax, r10d
imul r10d, eax, 0x1000193
movzx eax, byte [rcx]
test al, al
jne 0x140020112
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140020144
cmp qword [rax + 0x30], 0
jne 0x14001ffe0
xor r14d, r14d
mov ecx, r14d
mov qword [0x14007d290], rcx
call rcx
mov dword [sym.Stunner.exe_unsigned_long_int__unsigned_long_int___cdecl_anti_suspend_void_::_2::TimeTest2], eax
call fcn.140003760
movsx r13d, al
call fcn.140003750
movsx r12d, al
mov esi, r12d
imul esi, r13d
call fcn.140003790
movsx r15d, al
lea edx, [rsi + rsi*4]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r15d
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14002058b
movsx eax, byte [0x14007c0da]
lea ebx, [r15 + rsi*2]
mov r11d, 7
movd xmm1, eax
movsx eax, byte [0x14007c0dc]
cmp dword [sym.Stunner.exe_unsigned_long_int__unsigned_long_int___cdecl_anti_suspend_void_::_2::TimeTest1], 0
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mov rax, r14
setne al
add ebx, esi
cvtdq2pd xmm0, xmm0
xor edx, edx
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rbp + 0x30], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, ebx
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x140020259
call fcn.140003770
movsx edx, al
movsx eax, byte [0x14007d2e0]
imul edx, eax
shl edx, 3
call fcn.1400037a0
movsx ecx, al
sub edx, ecx
call fcn.140003780
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x14007c0dc]
add ecx, edx
je 0x140020259
mov r9d, r11d
lea r10d, [rsi + rsi*4]
jmp 0x1400202bc
xor r14d, r14d
jmp 0x14002014a
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea r10d, [rsi + rsi*4]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r15d
add eax, r10d
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x1400202b8
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rsi + r15]
lea ecx, [rcx + rsi*8]
xor edx, edx
add eax, ecx
xorps xmm0, xmm0
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp + 0x30]
cvttsd2si r9d, xmm0
jmp 0x1400202bc
mov r9d, dword [rbp + 0x30]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add r10d, r15d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r10d
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x14002058b
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r15d
lea eax, [rax + rsi*2]
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14002058b
xor eax, eax
mov dword [rbp - 0x20], 0xb0a1ac4
mov qword [rbp - 0x1c], rax
mov dword [rbp - 0x14], eax
mov word [rbp - 0x10], ax
mov qword [rbp + 0x30], r14
mov rax, qword [rbp + 0x30]
cmp rax, 0x12
jae 0x140020382
movabs r9, 0x3bf76294b0b2d682
nop dword [rax]
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x30]
add rcx, r9
movzx edx, byte [rbp + rax - 0x20]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rbp + 0x30]
add r8, rcx
add r8, rdx
add r8b, 0x72
mov byte [rbp + rax - 0x20], r8b
mov rax, qword [rbp + 0x30]
inc rax
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x30]
cmp rax, 0x12
jb 0x140020340
movsx eax, byte [0x14007c0da]
mov rcx, r14
movd xmm1, eax
movsx eax, byte [0x14007c0dc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mov eax, dword [sym.Stunner.exe_unsigned_long_int__unsigned_long_int___cdecl_anti_suspend_void_::_2::TimeTest2]
sub eax, dword [sym.Stunner.exe_unsigned_long_int__unsigned_long_int___cdecl_anti_suspend_void_::_2::TimeTest1]
cmp eax, dword [rbp - 0x20]
cvtdq2pd xmm0, xmm0
seta cl
xor edx, edx
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rcx
mulsd xmm1, xmm0
movsd qword [rbp + 0x30], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, ebx
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x140020421
call fcn.140003770
movsx edx, al
movsx eax, byte [0x14007d2e0]
imul edx, eax
shl edx, 3
call fcn.1400037a0
movsx ecx, al
sub edx, ecx
call fcn.140003780
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x14007c0dc]
add ecx, edx
jne 0x14002047d
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r10d
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x140020479
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rsi + r15]
lea ecx, [rcx + rsi*8]
xor edx, edx
add eax, ecx
xorps xmm0, xmm0
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp + 0x30]
cvttsd2si r11d, xmm0
jmp 0x14002047d
mov r11d, dword [rbp + 0x30]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
imul ecx, esi, 7
add ecx, r15d
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
imul eax, r11d
test eax, eax
je 0x14002058b
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov rdi, r14
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140020544
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140020544
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0xd0a1568a
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14002053f
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140020520
cmp edx, 0x63cb802
je 0x140020570
test r8d, r8d
jne 0x140020500
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r14
je 0x14002055a
cmp qword [rax + 0x30], 0
jne 0x1400204d0
xor ebx, ebx
mov eax, ebx
xor ecx, ecx
call rax
mov qword [0], 1
jmp 0x14002058d
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
xor ebx, ebx
jmp 0x14002055e
xor ebx, ebx
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xorps xmm2, xmm2
imul r12d, r13d
lea r9d, [r15 + r12*8]
add r9d, r12d
add eax, r9d
div ecx
movsx ecx, byte [0x14007c0db]
xor edx, edx
sub eax, ecx
lea ecx, [rsi + r15]
lea ecx, [rcx + rsi*2]
cvtsi2sd xmm2, rax
movsx eax, byte [0x14007c0da]
movd xmm1, eax
movsx eax, byte [0x14007c0dc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp + 0x30], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x140020647
call fcn.140003770
movsx edx, al
movsx eax, byte [0x14007d2e0]
imul edx, eax
shl edx, 3
call fcn.1400037a0
movsx ecx, al
sub edx, ecx
call fcn.140003780
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x14007c0dc]
add ecx, edx
jne 0x1400206c0
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*4]
call fcn.140003790
movsx ecx, al
xor edx, edx
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add ecx, r8d
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x1400206b9
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r9d
div ecx
movsx ecx, byte [0x14007c0db]
xorps xmm0, xmm0
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp + 0x30]
cvttsd2si eax, xmm0
jmp 0x1400206bc
mov eax, dword [rbp + 0x30]
cmp ebx, eax
jge 0x1400206c2
xor eax, eax
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret