Function at 0x7ff70b53c760
Capabilities:
Access peb ldr_data
Encode data using xor
Execute anti-debugging instructions
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov dword [rax + 0x18], r8d
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov r10, qword [0x7ff70b692460]
xor ebp, ebp
mov dword [rax + 0x20], ebp
mov r13, rdx
mov rsi, rcx
test r10, r10
jne 0x7ff70b53c9ca
mov rax, qword gs:[0x60]
mov r14d, ebp
mov edi, 0x5abae3ee
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
movups xmmword [rsp + 0x40], xmm0
sub cx, 8
test r14d, r14d
je 0x7ff70b53c823
mov r9, qword [rsp + 0x48]
mov r10d, 0x811c9dc5
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
cmp r9, r11
je 0x7ff70b53c81a
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
add r9, 2
xor r8d, r10d
imul r10d, r8d, 0x1000193
cmp r9, r11
jne 0x7ff70b53c7f0
cmp r10d, r14d
jne 0x7ff70b53c976
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x7ff70b53c97e
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r12, rdx
mov esi, edx
shr r12, 0x20
add rsi, rbx
cmp rsi, rbx
je 0x7ff70b53c976
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x7ff70b53c976
mov r15d, dword [rsi + 0x20]
dec r11d
mov r10d, 0x811c9dc5
lea rcx, [r15 + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x7ff70b53c8ac
movsx edx, cl
lea r9, [r9 + 1]
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
movzx ecx, byte [r9 - 1]
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
test cl, cl
jne 0x7ff70b53c881
cmp r10d, edi
je 0x7ff70b53c8be
test r11d, r11d
jne 0x7ff70b53c862
mov rax, qword [rax]
jmp 0x7ff70b53c7b2
mov ecx, dword [rsi + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov r10d, dword [rcx + rdx*4]
add r10, rbx
cmp r10, rsi
jbe 0x7ff70b53c981
lea rax, [rsi + r12]
cmp r10, rax
jae 0x7ff70b53c981
movzx edx, byte [r10]
mov edi, 0x811c9dc5
mov r14d, edi
cmp dl, 0x2e
je 0x7ff70b53c928
nop dword [rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r10 + 1]
cmova ecx, eax
inc r10
xor ecx, r14d
imul r14d, ecx, 0x1000193
cmp dl, 0x2e
jne 0x7ff70b53c900
movzx edx, byte [r10 + 1]
inc r10
test dl, dl
je 0x7ff70b53c965
nop dword [rax]
nop dword [rax + rax]
movsx eax, dl
lea r10, [r10 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r10]
cmova ecx, eax
xor ecx, edi
imul edi, ecx, 0x1000193
test dl, dl
jne 0x7ff70b53c940
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x7ff70b53c7b2
mov r10, rbp
mov qword [0x7ff70b692460], r10
nop dword [rax + rax]
rdtsc
shl rdx, 0x20
or rax, rdx
lea rcx, [rax + rax*4]
mov qword [0x7ff70b692468], rcx
cmp rcx, r10
je 0x7ff70b53c990
mov rsi, qword [rsp + 0x90]
xor r10, rcx
mov eax, ecx
mov qword [0x7ff70b692460], r10
xor eax, 0x5abae3ee
mov dword [0x7ff70b692458], eax
jmp 0x7ff70b53c9d1
mov rcx, qword [0x7ff70b692468]
mov r9d, 0x40
lea rax, [rsp + 0x30]
xor r10, rcx
mov qword [rsp + 0x20], rax
mov rcx, qword [rsi + 0x18]
mov rdx, r13
lea r8d, [r9 - 0x3c]
call r10
test eax, eax
je 0x7ff70b53d156
mov r10, qword [0x7ff70b6923e0]
test r10, r10
jne 0x7ff70b53cc3a
mov rax, qword gs:[0x60]
mov r14d, ebp
mov edi, 0xaedfae25
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
movups xmmword [rsp + 0x40], xmm0
sub cx, 8
test r14d, r14d
je 0x7ff70b53ca93
mov r9, qword [rsp + 0x48]
mov r10d, 0x811c9dc5
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
cmp r9, r11
je 0x7ff70b53ca8a
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
add r9, 2
xor r8d, r10d
imul r10d, r8d, 0x1000193
cmp r9, r11
jne 0x7ff70b53ca60
cmp r10d, r14d
jne 0x7ff70b53cbe6
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x7ff70b53cbf2
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r12, rdx
mov esi, edx
shr r12, 0x20
add rsi, rbx
cmp rsi, rbx
je 0x7ff70b53cbe6
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x7ff70b53cbe6
mov r15d, dword [rsi + 0x20]
dec r11d
mov r10d, 0x811c9dc5
lea rcx, [rbx + r11*4]
mov r8d, dword [rcx + r15]
add r8, rbx
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x7ff70b53cb1e
movsx ecx, r9b
lea r8, [r8 + 1]
sub r9b, 0x41
mov edx, ecx
or edx, 0x20
cmp r9b, 0x19
movzx r9d, byte [r8 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r9b, r9b
jne 0x7ff70b53caf2
cmp r10d, edi
je 0x7ff70b53cb30
test r11d, r11d
jne 0x7ff70b53cad2
mov rax, qword [rax]
jmp 0x7ff70b53ca23
mov ecx, dword [rsi + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov r10d, dword [rcx + rdx*4]
add r10, rbx
cmp r10, rsi
jbe 0x7ff70b53cbee
lea rax, [rsi + r12]
cmp r10, rax
jae 0x7ff70b53cbee
movzx edx, byte [r10]
mov edi, 0x811c9dc5
mov r14d, edi
cmp dl, 0x2e
je 0x7ff70b53cb98
nop
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r10 + 1]
cmova ecx, eax
inc r10
xor ecx, r14d
imul r14d, ecx, 0x1000193
cmp dl, 0x2e
jne 0x7ff70b53cb70
movzx edx, byte [r10 + 1]
inc r10
test dl, dl
je 0x7ff70b53cbd5
nop dword [rax]
nop dword [rax + rax]
movsx eax, dl
lea r10, [r10 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r10]
cmova ecx, eax
xor ecx, edi
imul edi, ecx, 0x1000193
test dl, dl
jne 0x7ff70b53cbb0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x7ff70b53ca23
xor ebp, ebp
jmp 0x7ff70b53cbf7
xor ebp, ebp
mov r10d, ebp
mov qword [0x7ff70b6923e0], r10
nop
rdtsc
shl rdx, 0x20
or rax, rdx
lea rcx, [rax + rax*4]
mov qword [0x7ff70b6923e8], rcx
cmp rcx, r10
je 0x7ff70b53cc00
mov rsi, qword [rsp + 0x90]
xor r10, rcx
mov eax, ecx
mov qword [0x7ff70b6923e0], r10
xor eax, 0xaedfae25
mov dword [0x7ff70b6923d8], eax
jmp 0x7ff70b53cc41
mov rcx, qword [0x7ff70b6923e8]
xor r10, rcx
lea rax, [rsp + 0x38]
mov rcx, qword [rsi + 0x18]
lea r8, [rsp + 0xa8]
mov r9d, 4
mov qword [rsp + 0x20], rax
mov rdx, r13
call r10
cmp dword [rsp + 0xa8], 0
je 0x7ff70b53cee9
mov r10, qword [0x7ff70b692430]
test r10, r10
jne 0x7ff70b53ceaa
mov rax, qword gs:[0x60]
mov r14d, ebp
mov edi, 0xfbb9b78a
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
movups xmmword [rsp + 0x40], xmm0
sub cx, 8
test r14d, r14d
je 0x7ff70b53cd03
mov r9, qword [rsp + 0x48]
mov r10d, 0x811c9dc5
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
cmp r9, r11
je 0x7ff70b53ccfa
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
add r9, 2
xor r8d, r10d
imul r10d, r8d, 0x1000193
cmp r9, r11
jne 0x7ff70b53ccd0
cmp r10d, r14d
jne 0x7ff70b53ce56
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x7ff70b53ce62
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r12, rdx
mov esi, edx
shr r12, 0x20
add rsi, rbx
cmp rsi, rbx
je 0x7ff70b53ce56
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x7ff70b53ce56
mov r15d, dword [rsi + 0x20]
dec r11d
mov r10d, 0x811c9dc5
lea rcx, [rbx + r11*4]
mov r8d, dword [rcx + r15]
add r8, rbx
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x7ff70b53cd8e
movsx ecx, r9b
lea r8, [r8 + 1]
sub r9b, 0x41
mov edx, ecx
or edx, 0x20
cmp r9b, 0x19
movzx r9d, byte [r8 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r9b, r9b
jne 0x7ff70b53cd62
cmp r10d, edi
je 0x7ff70b53cda0
test r11d, r11d
jne 0x7ff70b53cd42
mov rax, qword [rax]
jmp 0x7ff70b53cca0
mov ecx, dword [rsi + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov r10d, dword [rcx + rdx*4]
add r10, rbx
cmp r10, rsi
jbe 0x7ff70b53ce5e
lea rax, [rsi + r12]
cmp r10, rax
jae 0x7ff70b53ce5e
movzx edx, byte [r10]
mov edi, 0x811c9dc5
mov r14d, edi
cmp dl, 0x2e
je 0x7ff70b53ce08
nop
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r10 + 1]
cmova ecx, eax
inc r10
xor ecx, r14d
imul r14d, ecx, 0x1000193
cmp dl, 0x2e
jne 0x7ff70b53cde0
movzx edx, byte [r10 + 1]
inc r10
test dl, dl
je 0x7ff70b53ce45
nop dword [rax]
nop dword [rax + rax]
movsx eax, dl
lea r10, [r10 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r10]
cmova ecx, eax
xor ecx, edi
imul edi, ecx, 0x1000193
test dl, dl
jne 0x7ff70b53ce20
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x7ff70b53cca0
xor ebp, ebp
jmp 0x7ff70b53ce67
xor ebp, ebp
mov r10d, ebp
mov qword [0x7ff70b692430], r10
nop
rdtsc
shl rdx, 0x20
or rax, rdx
lea rcx, [rax + rax*4]
mov qword [0x7ff70b692438], rcx
cmp rcx, r10
je 0x7ff70b53ce70
mov rsi, qword [rsp + 0x90]
xor r10, rcx
mov eax, ecx
mov qword [0x7ff70b692430], r10
xor eax, 0xfbb9b78a
mov dword [0x7ff70b692428], eax
jmp 0x7ff70b53ceb1
mov rcx, qword [0x7ff70b692438]
xor r10, rcx
lea rax, [rsp + 0x38]
mov rcx, qword [rsi + 0x18]
lea r8, [rsp + 0xa0]
mov r9d, 4
mov qword [rsp + 0x20], rax
mov rdx, r13
call r10
mov ecx, dword [rsp + 0xa8]
test eax, eax
cmove ecx, ebp
mov dword [rsp + 0xa8], ecx
mov r10, qword [0x7ff70b692460]
test r10, r10
jne 0x7ff70b53d12d
mov rax, qword gs:[0x60]
mov r14d, ebp
mov edi, 0x5abae3ee
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
movups xmmword [rsp + 0x40], xmm0
sub cx, 8
test r14d, r14d
je 0x7ff70b53cf83
mov r9, qword [rsp + 0x48]
mov r10d, 0x811c9dc5
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
cmp r9, r11
je 0x7ff70b53cf7a
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
add r9, 2
xor r8d, r10d
imul r10d, r8d, 0x1000193
cmp r9, r11
jne 0x7ff70b53cf50
cmp r10d, r14d
jne 0x7ff70b53d0d6
mov rbx, qword [rax + 0x30]
test rbx, rbx
je 0x7ff70b53d0de
movsxd rcx, dword [rbx + 0x3c]
mov rdx, qword [rcx + rbx + 0x88]
mov r12, rdx
mov esi, edx
shr r12, 0x20
add rsi, rbx
cmp rsi, rbx
je 0x7ff70b53d0d6
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x7ff70b53d0d6
mov r15d, dword [rsi + 0x20]
dec r11d
mov r10d, 0x811c9dc5
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + r15]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x7ff70b53d00e
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x7ff70b53cfe2
cmp r10d, edi
je 0x7ff70b53d020
test r11d, r11d
jne 0x7ff70b53cfc2
mov rax, qword [rax]
jmp 0x7ff70b53cf12
mov ecx, dword [rsi + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov r8d, dword [rcx + rdx*4]
add r8, rbx
cmp r8, rsi
jbe 0x7ff70b53d0e1
lea rax, [rsi + r12]
cmp r8, rax
jae 0x7ff70b53d0e1
movzx edx, byte [r8]
mov edi, 0x811c9dc5
mov r14d, edi
cmp dl, 0x2e
je 0x7ff70b53d088
nop
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 + 1]
cmova ecx, eax
inc r8
xor ecx, r14d
imul r14d, ecx, 0x1000193
cmp dl, 0x2e
jne 0x7ff70b53d060
movzx edx, byte [r8 + 1]
inc r8
test dl, dl
je 0x7ff70b53d0c5
nop dword [rax]
nop dword [rax + rax]
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8]
cmova ecx, eax
xor ecx, edi
imul edi, ecx, 0x1000193
test dl, dl
jne 0x7ff70b53d0a0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x7ff70b53cf12
xor r8d, r8d
mov qword [0x7ff70b692460], r8
nop dword [rax + rax]
rdtsc
shl rdx, 0x20
or rax, rdx
lea rcx, [rax + rax*4]
mov qword [0x7ff70b692468], rcx
cmp rcx, r8
je 0x7ff70b53d0f0
mov rsi, qword [rsp + 0x90]
mov r10, rcx
xor r10, r8
mov eax, ecx
xor eax, 0x5abae3ee
mov qword [0x7ff70b692460], r10
mov dword [0x7ff70b692458], eax
jmp 0x7ff70b53d134
mov rcx, qword [0x7ff70b692468]
mov r9d, dword [rsp + 0x30]
lea rax, [rsp + 0x30]
xor r10, rcx
mov qword [rsp + 0x20], rax
mov rcx, qword [rsi + 0x18]
mov r8d, 4
mov rdx, r13
call r10
mov eax, dword [rsp + 0xa8]
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret