Function at 0x180021df0
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, 0xf066149
movzx ecx, word [rax + 0x58]
shr rcx, 1
lea r11, [r9 + rcx*2]
cmp r9, r11
je 0x180021e63
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 0x180021e30
cmp r10d, 0x655b8560
je 0x180021e68
mov rax, qword [rax]
jmp 0x180021e10
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 0x180021f0d
movsxd rax, dword [r11 + 0x3c]
mov ebp, dword [rax + r11 + 0x88]
add rbp, r11
cmp rbp, r11
je 0x180021f0d
mov esi, dword [rbp + 0x18]
mov r10d, ebx
test esi, esi
je 0x180021f0d
mov r14d, dword [rbp + 0x20]
nop
mov edi, r10d
mov r9d, 0x1521cf61
lea rax, [r14 + rdi*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x180021f05
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 0x180021ed0
cmp r9d, 0x74b6e630
je 0x180021f88
inc r10d
cmp r10d, esi
jne 0x180021eb0
mov rax, rbx
call rax
mov qword [0x1800ebc28], 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, 0xf066149
movzx ecx, word [rax + 0x58]
shr rcx, 1
lea r11, [r9 + rcx*2]
cmp r9, r11
je 0x180021f83
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 0x180021f50
cmp r10d, 0x655b8560
je 0x180021fa3
mov rax, qword [rax]
jmp 0x180021f30
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 0x180021f10
mov r11, qword [rax + 0x30]
test r11, r11
je 0x18002202e
movsxd rax, dword [r11 + 0x3c]
mov ebp, dword [rax + r11 + 0x88]
add rbp, r11
cmp rbp, r11
je 0x18002202e
mov esi, dword [rbp + 0x18]
mov r10d, ebx
test esi, esi
je 0x18002202e
mov r14d, dword [rbp + 0x20]
mov edi, r10d
mov r9d, 0xdc9e6592
lea rax, [r14 + rdi*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx edx, byte [r8]
inc r8
test dl, dl
je 0x180022026
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 0x180021ff1
cmp r9d, 0xfe4ace62
je 0x1800220a8
inc r10d
cmp r10d, esi
jne 0x180021fd2
mov rax, rbx
call rax
mov qword [0x1800ebc30], 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, 0xf066149
movzx ecx, word [rax + 0x58]
shr rcx, 1
lea r11, [r9 + rcx*2]
cmp r9, r11
je 0x1800220a3
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 0x180022070
cmp r10d, 0x655b8560
je 0x1800220c3
mov rax, qword [rax]
jmp 0x180022050
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 0x180022031
mov r11, qword [rax + 0x30]
test r11, r11
je 0x18002216f
movsxd rax, dword [r11 + 0x3c]
mov ebp, dword [rax + r11 + 0x88]
add rbp, r11
cmp rbp, r11
je 0x18002216f
mov esi, dword [rbp + 0x18]
mov r10d, ebx
test esi, esi
je 0x18002216f
mov r14d, dword [rbp + 0x20]
nop word [rax + rax]
mov edi, r10d
mov r9d, 0x3b208b7e
lea rax, [r14 + rdi*4]
mov r8d, dword [rax + r11]
add r8, r11
movzx eax, byte [r8]
inc r8
test al, al
je 0x18002214f
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 0x180022120
cmp r9d, 0x6137d54d
je 0x180022159
inc r10d
cmp r10d, esi
jne 0x180022100
jmp 0x18002216f
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 [0x1800ebc38], rax
lea r9, [rsp + 0x40]
mov rax, qword [0x1800ebc28]
movabs rdi, 0x51680dd99493f9ed
movabs rbx, 0x3dab82201e60878a
mov rcx, qword [rax]
movabs rax, 0x53c4594d5d6adbe
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x40], rax
movabs rax, 0x7bf9c7745029d8da
mov r10, qword [rcx + 0xb8]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x48], rax
movabs rax, 0x17e763154bfc502e
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x50], rax
movabs rax, 0xf0acc622c7d37035
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, 0x44b5264314b9136f
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x30], rax
movabs rax, 0xf0acf512f79d3f7c
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 [0x1800ebc38]
mov rdx, qword [0x1800ebc30]
mov rcx, qword [0x1800ebc28]
mov qword [rsp + 0x38], rax
xorps xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmmword [rsp + 0x50], xmm1
call r10
mov qword [0x1800ebc40], rax
lea r8, [rsp + 0x20]
mov rax, qword [0x1800ebc28]
mov rcx, qword [rax]
movabs rax, 0x381c58b4f5f68dbe
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], rax
movabs rax, 0x3dab82102f50f4e6
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 [0x1800ebc38]
mov rcx, qword [0x1800ebc28]
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 [0x1800ebc48], rax
add rsp, 0x68
pop rdi
pop rbx
ret