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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x228]
sub rsp, 0x328
mov rsi, rcx
xor al, al
mov dword [rbp + 0x270], eax
movabs rcx, 0xc6c4f696e8342593
mov qword [rsp + 0x70], rcx
movabs rcx, 0x57938323ed048fac
mov qword [rsp + 0x78], rcx
movabs rax, 0xc698f6a9e80b25cf
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rcx
movdqa xmm0, xmmword [rsp + 0x60]
pxor xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x60], xmm0
xor edx, edx
mov r8d, 0x20a
lea rcx, [rbp]
call fcn.7ff70b54e850
lea rax, [rbp]
mov qword [rbp + 0x210], rax
lea rax, [rsp + 0x60]
mov rdi, 0xffffffffffffffff
mov rbx, rdi
nop
inc rbx
cmp word [rax + rbx*2], 0
jne 0x7ff70b4fe650
add rbx, rbx
mov r8, rbx
lea rdx, [rsp + 0x60]
lea rcx, [rbp]
call fcn.7ff70b54e1a0
mov rcx, qword [rbp + 0x210]
add rcx, rbx
mov qword [rbp + 0x210], rcx
mov rbx, rdi
inc rbx
cmp word [rsi + rbx*2], 0
jne 0x7ff70b4fe682
add rbx, rbx
mov r8, rbx
mov rdx, rsi
call fcn.7ff70b54e1a0
add qword [rbp + 0x210], rbx
xor r15d, r15d
mov ebx, r15d
lea rax, [rbp]
nop dword [rax + rax]
inc rdi
cmp word [rax + rdi*2], bx
jne 0x7ff70b4fe6b0
add di, di
mov word [rsp + 0x62], di
mov word [rsp + 0x60], di
lea rax, [rbp]
mov qword [rsp + 0x68], rax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x70], xmm0
mov dword [rbp - 0x80], 0x30
mov qword [rbp - 0x78], r15
lea rax, [rsp + 0x70]
mov qword [rbp - 0x70], rax
mov dword [rbp - 0x68], 0x40
xorps xmm2, xmm2
movups xmm0, xmmword [rbp - 0x80]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rbp - 0x70]
movups xmmword [rbp - 0x40], xmm1
movups xmmword [rbp - 0x30], xmm2
mov qword [rbp + 0x288], r15
mov r12d, r15d
mov esi, 0x6f2df779
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x60], xmm0
movd ecx, xmm0
sub cx, 8
test r12d, r12d
je 0x7ff70b4fe793
mov r9, qword [rsp + 0x68]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x7ff70b4fe78a
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x7ff70b4fe760
cmp r10d, r12d
jne 0x7ff70b4fe8f6
mov rdi, qword [rax + 0x30]
test rdi, rdi
je 0x7ff70b4fe903
movsxd rcx, dword [rdi + 0x3c]
mov rdx, qword [rcx + rdi + 0x88]
mov rcx, rdx
shr rcx, 0x20
mov qword [rsp + 0x60], rcx
mov r14d, edx
add r14, rdi
cmp r14, rdi
je 0x7ff70b4fe8f6
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff70b4fe8f6
mov r13d, dword [r14 + 0x20]
nop dword [rax + rax]
dec r11d
lea rcx, [rdi + r11*4]
mov r8d, dword [rcx + r13]
add r8, rdi
mov r10d, 0x811c9dc5
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x7ff70b4fe82b
movsx ecx, r9b
sub r9b, 0x41
mov edx, ecx
or edx, 0x20
cmp r9b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r9d, byte [r8]
lea r8, [r8 + 1]
test r9b, r9b
jne 0x7ff70b4fe800
cmp r10d, esi
je 0x7ff70b4fe83d
test r11d, r11d
jne 0x7ff70b4fe7e0
mov rax, qword [rax]
jmp 0x7ff70b4fe730
mov ecx, dword [r14 + 0x1c]
add rcx, rdi
mov eax, dword [r14 + 0x24]
add rax, rdi
movzx eax, word [rax + r11*2]
mov r10d, dword [rcx + rax*4]
add r10, rdi
cmp r10, r14
jbe 0x7ff70b4fe8fe
mov rax, qword [rsp + 0x60]
add rax, r14
cmp r10, rax
jae 0x7ff70b4fe8fe
mov esi, 0x811c9dc5
mov r12d, esi
movzx edx, byte [r10]
cmp dl, 0x2e
je 0x7ff70b4fe8a9
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r12d
imul r12d, ecx, 0x1000193
inc r10
movzx edx, byte [r10]
cmp dl, 0x2e
jne 0x7ff70b4fe882
inc r10
movzx edx, byte [r10]
test dl, dl
je 0x7ff70b4fe8e5
nop dword [rax]
nop dword [rax + rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
lea r10, [r10 + 1]
movzx edx, byte [r10]
test dl, dl
jne 0x7ff70b4fe8c0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x7ff70b4fe730
xor r15d, r15d
jmp 0x7ff70b4fe909
xor r15d, r15d
mov r10d, r15d
mov dword [rsp + 0x50], r15d
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x40], 0x60
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], 7
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x20], r15
lea r9, [rbp - 0x20]
lea r8, [rbp - 0x50]
mov edx, 0xc0100000
lea rcx, [rbp + 0x288]
call r10
test eax, eax
js 0x7ff70b4fe957
mov rbx, qword [rbp + 0x288]
test eax, eax
js 0x7ff70b4febb8
xor eax, eax
mov qword [rsp + 0x60], rax
mov r12d, r15d
mov esi, 0xb0bac3c4
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x70], xmm0
movd ecx, xmm0
sub cx, 8
test r12d, r12d
je 0x7ff70b4fe9e3
mov r9, qword [rsp + 0x78]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x7ff70b4fe9da
movsx ecx, byte [r9]
mov edx, ecx
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x7ff70b4fe9b0
cmp r10d, r12d
jne 0x7ff70b4feb48
mov rdi, qword [rax + 0x30]
test rdi, rdi
je 0x7ff70b4feb55
movsxd rcx, dword [rdi + 0x3c]
mov rdx, qword [rcx + rdi + 0x88]
mov rcx, rdx
shr rcx, 0x20
mov qword [rbp + 0x288], rcx
mov r14d, edx
add r14, rdi
cmp r14, rdi
je 0x7ff70b4feb48
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff70b4feb48
mov r13d, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rdi + r11*4]
mov r8d, dword [rcx + r13]
add r8, rdi
mov r10d, 0x811c9dc5
movzx r9d, byte [r8]
inc r8
test r9b, r9b
je 0x7ff70b4fea7b
movsx ecx, r9b
sub r9b, 0x41
mov edx, ecx
or edx, 0x20
cmp r9b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r9d, byte [r8]
lea r8, [r8 + 1]
test r9b, r9b
jne 0x7ff70b4fea50
cmp r10d, esi
je 0x7ff70b4fea8d
test r11d, r11d
jne 0x7ff70b4fea30
mov rax, qword [rax]
jmp 0x7ff70b4fe980
mov ecx, dword [r14 + 0x1c]
add rcx, rdi
mov eax, dword [r14 + 0x24]
add rax, rdi
movzx eax, word [rax + r11*2]
mov r10d, dword [rcx + rax*4]
add r10, rdi
cmp r10, r14
jbe 0x7ff70b4feb50
mov rax, qword [rbp + 0x288]
add rax, r14
cmp r10, rax
jae 0x7ff70b4feb50
mov esi, 0x811c9dc5
mov r12d, esi
movzx edx, byte [r10]
cmp dl, 0x2e
je 0x7ff70b4feb07
nop dword [rax]
nop dword [rax + rax]
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, r12d
imul r12d, ecx, 0x1000193
inc r10
movzx edx, byte [r10]
cmp dl, 0x2e
jne 0x7ff70b4feae0
inc r10
movzx edx, byte [r10]
test dl, dl
je 0x7ff70b4feb37
movsx eax, dl
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
lea r10, [r10 + 1]
movzx edx, byte [r10]
test dl, dl
jne 0x7ff70b4feb12
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x7ff70b4fe980
xor r15d, r15d
jmp 0x7ff70b4feb5b
xor r15d, r15d
mov r10d, r15d
mov qword [rsp + 0x40], r15
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0x280]
mov dword [rsp + 0x30], eax
mov rax, qword [rbp + 0x278]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call r10
nop
mov r14d, dword [rbp + 0x270]
movzx r14d, r14b
mov ecx, 1
test eax, eax
cmovns r14d, ecx
mov dword [rbp + 0x270], r14d
jmp 0x7ff70b4febbf
mov r14d, dword [rbp + 0x270]
test rbx, rbx
je 0x7ff70b4fedd2
mov r12d, r15d
mov esi, 0xe049c205
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x70], xmm0
movd ecx, xmm0
sub cx, 8
test r12d, r12d
je 0x7ff70b4fec53
mov r9, qword [rsp + 0x78]
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x811c9dc5
cmp r9, r11
je 0x7ff70b4fec4a
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
xor r8d, r10d
imul r10d, r8d, 0x1000193
add r9, 2
cmp r9, r11
jne 0x7ff70b4fec20
cmp r10d, r12d
jne 0x7ff70b4fedba
mov rdi, qword [rax + 0x30]
test rdi, rdi
je 0x7ff70b4fedc2
movsxd rcx, dword [rdi + 0x3c]
mov rdx, qword [rcx + rdi + 0x88]
mov rcx, rdx
shr rcx, 0x20
mov qword [rbp + 0x288], rcx
mov r14d, edx
add r14, rdi
cmp r14, rdi
je 0x7ff70b4fedba
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x7ff70b4fedba
mov r13d, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rdi + r11*4]
mov r9d, dword [rcx + r13]
add r9, rdi
mov r10d, 0x811c9dc5
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x7ff70b4fecea
nop
movsx edx, cl
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
movzx ecx, byte [r9]
lea r9, [r9 + 1]
test cl, cl
jne 0x7ff70b4fecc0
cmp r10d, esi
je 0x7ff70b4fecfc
test r11d, r11d
jne 0x7ff70b4feca0
mov rax, qword [rax]
jmp 0x7ff70b4febe1
mov ecx, dword [r14 + 0x1c]
add rcx, rdi
mov eax, dword [r14 + 0x24]
add rax, rdi
movzx eax, word [rax + r11*2]
mov edx, dword [rcx + rax*4]
add rdx, rdi
cmp rdx, r14
jbe 0x7ff70b4fedc4
mov rax, qword [rbp + 0x288]
add rax, r14
cmp rdx, rax
jae 0x7ff70b4fedc4
mov esi, 0x811c9dc5
mov r12d, esi
movzx r8d, byte [rdx]
cmp r8b, 0x2e
je 0x7ff70b4fed6e
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, r12d
imul r12d, ecx, 0x1000193
inc rdx
movzx r8d, byte [rdx]
cmp r8b, 0x2e
jne 0x7ff70b4fed43
inc rdx
movzx r8d, byte [rdx]
test r8b, r8b
je 0x7ff70b4feda9
nop word [rax + rax]
movsx eax, r8b
sub r8b, 0x41
mov ecx, eax
or ecx, 0x20
cmp r8b, 0x19
cmova ecx, eax
xor ecx, esi
imul esi, ecx, 0x1000193
lea rdx, [rdx + 1]
movzx r8d, byte [rdx]
test r8b, r8b
jne 0x7ff70b4fed80
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x7ff70b4febe1
xor edx, edx
mov rcx, rbx
call rdx
nop
mov eax, dword [rbp + 0x270]
jmp 0x7ff70b4fedd6
movzx eax, r14b
add rsp, 0x328
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret