Function at 0x180022080
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
push rdi
sub rsp, 0x68
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r9, qword [rax + 0x60]
mov r10d, 0x5fffc311
movzx ecx, word [rax + 0x58]
shr rcx, 1
lea r11, [r9 + rcx*2]
cmp r9, r11
je 0x1800220f3
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 0x1800220c0
cmp r10d, 0x7b2cb898
je 0x1800220f8
mov rax, qword [rax]
jmp 0x1800220a0
mov r11, qword [rax + 0x30]
xor ebx, ebx
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x60], r14
test r11, r11
je 0x18002219d
movsxd rax, dword [r11 + 0x3c]
mov ebp, dword [rax + r11 + 0x88]
add rbp, r11
cmp rbp, r11
je 0x18002219d
mov esi, dword [rbp + 0x18]
mov r10d, ebx
test esi, esi
je 0x18002219d
mov r14d, dword [rbp + 0x20]
nop
mov edi, r10d
mov r9d, 0xf2c18ba9
lea rax, [r14 + rdi*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x180022195
nop
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 - 1]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x180022160
cmp r9d, 0x84df1ea8
je 0x180022218
inc r10d
cmp r10d, esi
jne 0x180022140
mov rax, rbx
call rax
mov qword [0x1800ebc78], rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r9, qword [rax + 0x60]
mov r10d, 0x5fffc311
movzx ecx, word [rax + 0x58]
shr rcx, 1
lea r11, [r9 + rcx*2]
cmp r9, r11
je 0x180022213
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 0x1800221e0
cmp r10d, 0x7b2cb898
je 0x180022233
mov rax, qword [rax]
jmp 0x1800221c0
mov ecx, dword [rbp + 0x24]
add rcx, r11
movzx edx, word [rcx + rdi*2]
mov ecx, dword [rbp + 0x1c]
add rcx, r11
mov eax, dword [rcx + rdx*4]
add rax, r11
jmp 0x1800221a0
mov r11, qword [rax + 0x30]
test r11, r11
je 0x1800222be
movsxd rax, dword [r11 + 0x3c]
mov ebp, dword [rax + r11 + 0x88]
add rbp, r11
cmp rbp, r11
je 0x1800222be
mov esi, dword [rbp + 0x18]
mov r10d, ebx
test esi, esi
je 0x1800222be
mov r14d, dword [rbp + 0x20]
mov edi, r10d
mov r9d, 0x3d97e08a
lea rax, [r14 + rdi*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x1800222b6
movsx eax, dl
lea r8, [r8 + 1]
sub dl, 0x41
mov ecx, eax
or ecx, 0x20
cmp dl, 0x19
movzx edx, byte [r8 - 1]
cmova ecx, eax
xor ecx, r9d
imul r9d, ecx, 0x1000193
test dl, dl
jne 0x180022281
cmp r9d, 0x2d15f0a
je 0x180022338
inc r10d
cmp r10d, esi
jne 0x180022262
mov rax, rbx
call rax
mov qword [0x1800ebc80], rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r9, qword [rax + 0x60]
mov r10d, 0x5fffc311
movzx ecx, word [rax + 0x58]
shr rcx, 1
lea r11, [r9 + rcx*2]
cmp r9, r11
je 0x180022333
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 0x180022300
cmp r10d, 0x7b2cb898
je 0x180022353
mov rax, qword [rax]
jmp 0x1800222e0
mov ecx, dword [rbp + 0x24]
add rcx, r11
movzx edx, word [rcx + rdi*2]
mov ecx, dword [rbp + 0x1c]
add rcx, r11
mov eax, dword [rcx + rdx*4]
add rax, r11
jmp 0x1800222c1
mov r11, qword [rax + 0x30]
test r11, r11
je 0x1800223ff
movsxd rax, dword [r11 + 0x3c]
mov ebp, dword [rax + r11 + 0x88]
add rbp, r11
cmp rbp, r11
je 0x1800223ff
mov esi, dword [rbp + 0x18]
mov r10d, ebx
test esi, esi
je 0x1800223ff
mov r14d, dword [rbp + 0x20]
nop word [rax + rax]
mov edi, r10d
mov r9d, 0x9852d176
lea rax, [r14 + rdi*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx eax, byte [r8]
inc r8
test al, al
je 0x1800223df
nop
movsx ecx, al
lea r8, [r8 + 1]
sub al, 0x41
mov edx, ecx
or edx, 0x20
cmp al, 0x19
movzx eax, byte [r8 - 1]
cmova edx, ecx
xor edx, r9d
imul r9d, edx, 0x1000193
test al, al
jne 0x1800223b0
cmp r9d, 0xf32e9205
je 0x1800223e9
inc r10d
cmp r10d, esi
jne 0x180022390
jmp 0x1800223ff
mov ecx, dword [rbp + 0x24]
add rcx, r11
movzx edx, word [rcx + rdi*2]
mov ecx, dword [rbp + 0x1c]
add rcx, r11
mov ebx, dword [rcx + rdx*4]
add rbx, r11
call rbx
mov qword [0x1800ebc88], rax
lea r9, [rsp + 0x40]
mov rax, qword [0x1800ebc78]
movabs rdi, 0xd6fbacda51d5e7c7
movabs rbx, 0x7fc523b739a1fe0
mov rcx, qword [rax]
movabs rax, 0x82afe4971090b394
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x40], rax
movabs rax, 0x41ae176f3dd340b0
mov r10, qword [rcx + 0xb8]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x48], rax
movabs rax, 0x77520bc258156b78
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x50], rax
movabs rax, 0xe69621e52d199cc3
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x80], rdi
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x80], rbx
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x28], rax
movabs rax, 0x24004e9407502839
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x30], rax
movabs rax, 0xe69612d51d57d38a
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
movdqa xmm0, xmmword [rsp + 0x40]
movdqa xmm1, xmmword [rsp + 0x50]
xorps xmm0, xmmword [rsp + 0x20]
mov r8, qword [0x1800ebc88]
mov rdx, qword [0x1800ebc80]
mov rcx, qword [0x1800ebc78]
mov qword [rsp + 0x38], rax
xorps xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmmword [rsp + 0x50], xmm1
call r10
mov qword [0x1800ebc90], rax
lea r8, [rsp + 0x20]
mov rax, qword [0x1800ebc78]
mov rcx, qword [rax]
movabs rax, 0xbf8ff9b730b09394
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], rax
movabs rax, 0x7fc520b42aa6c8c
mov r9, qword [rcx + 0x48]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x80], rdi
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x80], rbx
mov rax, qword [rsp + 0x80]
movdqa xmm0, xmmword [rsp + 0x20]
mov rdx, qword [0x1800ebc88]
mov rcx, qword [0x1800ebc78]
mov qword [rsp + 0x48], rax
xorps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x20], xmm0
call r9
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x88]
mov qword [0x1800ebc98], rax
add rsp, 0x68
pop rdi
pop rbx
ret