Function at 0x180003460
Capabilities:
Access peb ldr_data
Encode data using xor
Get ntdll base address
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rax, qword gs:[0x60]
xor r15d, r15d
mov r14, rcx
mov rdx, qword [rax + 0x18]
mov rax, qword [0x18008d268]
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x20], xmm0
test rax, rax
jne 0x180003567
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop dword [rax]
nop dword [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 0x180003548
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x180003548
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x27ba45a8
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180003543
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 0x180003520
cmp edx, 0x6aec2f6
je 0x180003b3d
test r8d, r8d
jne 0x180003500
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x18000355d
cmp qword [rax + 0x30], r15
jne 0x1800034d0
mov rax, r15
mov qword [0x18008d268], rax
mov rcx, r14
call rax
lea rsi, [rax + 1]
mov rax, qword [0x18008d338]
test rax, rax
jne 0x180003637
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbp, qword [rax]
mov rdi, rbp
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 0x180003618
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x180003618
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0xa0b7328c
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180003613
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 0x1800035f0
cmp edx, 0x6f27038
je 0x180003b59
test r8d, r8d
jne 0x1800035d0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rbp
je 0x18000362d
cmp qword [rax + 0x30], r15
jne 0x1800035a0
mov rax, r15
mov qword [0x18008d338], rax
lea rcx, [rsi + rsi]
call rax
mov qword [rsp + 0x78], rax
mov rbp, rax
mov rdx, r15
test rsi, rsi
je 0x180003752
cmp rsi, 4
jb 0x180003740
lea r8, [rsi*2 - 2]
lea rcx, [r14 - 1]
add r8, rax
add rcx, rsi
cmp rax, rcx
ja 0x18000367b
cmp r8, r14
jae 0x180003740
cmp rsi, 0x20
jb 0x180003707
mov rax, rsi
mov r9, rsi
and eax, 0x1f
sub r9, rax
lea rcx, [r14 + 0x10]
lea r8, [rbp + 0x20]
nop dword [rax]
movq xmm0, qword [rcx - 0x10]
lea r8, [r8 + 0x40]
movq xmm1, qword [rcx - 8]
lea rcx, [rcx + 0x20]
punpcklbw xmm0, xmm0
add rdx, 0x20
punpcklbw xmm1, xmm1
psraw xmm0, 8
psraw xmm1, 8
movdqu xmmword [r8 - 0x60], xmm0
movq xmm0, qword [rcx - 0x20]
punpcklbw xmm0, xmm0
psraw xmm0, 8
movdqu xmmword [r8 - 0x50], xmm1
movq xmm1, qword [rcx - 0x18]
punpcklbw xmm1, xmm1
psraw xmm1, 8
movdqu xmmword [r8 - 0x40], xmm0
movdqu xmmword [r8 - 0x30], xmm1
cmp rdx, r9
jb 0x1800036a0
cmp rax, 4
jb 0x18000372e
mov rax, rsi
and rax, 0xfffffffffffffffc
nop
movd xmm0, dword [rdx + r14]
punpcklbw xmm0, xmm0
psraw xmm0, 8
movq qword [rbp + rdx*2], xmm0
add rdx, 4
cmp rdx, rax
jb 0x180003710
cmp rdx, rsi
jae 0x180003752
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [rdx + r14]
mov word [rbp + rdx*2], ax
inc rdx
cmp rdx, rsi
jb 0x180003740
mov r13, qword [rsp + 0x20]
mov r12, qword [rsp + 0x38]
cmp r13, r12
je 0x180003a4c
nop word [rax + rax]
movups xmm0, xmmword [r13 + 0x48]
mov rsi, qword [r13 + 0x50]
movups xmmword [rsp + 0x30], xmm0
test rsi, rsi
je 0x180003a3f
mov rax, qword [0x18008d3a8]
movzx r14d, word [rsp + 0x30]
test rax, rax
jne 0x18000385d
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbp, qword [rax]
mov rdi, rbp
nop dword [rax]
nop dword [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 0x180003838
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x180003838
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x589f4974
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180003833
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 0x180003810
cmp edx, 0xe145d3c0
je 0x180003b75
test r8d, r8d
jne 0x1800037f0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rbp
je 0x18000384e
cmp qword [rax + 0x30], 0
jne 0x1800037c0
mov rax, r15
mov rbp, qword [rsp + 0x78]
mov qword [0x18008d3a8], rax
mov rbx, r14
and rbx, 0xfffffffffffffffe
lea rcx, [rbx + 2]
call rax
mov r15, rax
test r14, r14
je 0x180003894
mov rdx, rax
sub rsi, rax
nop dword [rax + rax]
movzx ecx, byte [rsi + rdx]
mov byte [rdx], cl
inc rdx
mov rax, rdx
sub rax, r15
cmp rax, r14
jb 0x180003880
xor r14d, r14d
mov word [rbx + r15], r14w
mov rax, qword [0x18008d138]
test rax, rax
jne 0x180003967
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
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 0x180003948
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x180003948
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0xc1889570
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180003943
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 0x180003920
cmp edx, 0xe55446f5
je 0x180003b91
test r8d, r8d
jne 0x180003900
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x18000395d
cmp qword [rax + 0x30], r14
jne 0x1800038d0
mov rax, r14
mov qword [0x18008d138], rax
mov rdx, rbp
mov rcx, r15
call rax
test eax, eax
je 0x180003bc9
mov rax, qword [0x18008d0e0]
test rax, rax
jne 0x180003a37
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x180003a18
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x180003a18
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0xfa52eab
lea rax, [r11 + r8*4]
mov eax, dword [rax + r9]
add rax, r9
movzx ecx, byte [rax]
inc rax
test cl, cl
je 0x180003a13
nop dword [rax]
movsx ecx, cl
lea rax, [rax + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [rax - 1]
test cl, cl
jne 0x1800039f0
cmp edx, 0x1c387271
je 0x180003bad
test r8d, r8d
jne 0x1800039d0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x180003a2d
cmp qword [rax + 0x30], r14
jne 0x1800039a0
mov rax, r14
mov qword [0x18008d0e0], rax
mov rcx, r15
call rax
xor r15d, r15d
mov r13, qword [r13]
cmp r13, r12
jne 0x180003770
mov rax, qword [0x18008d358]
test rax, rax
jne 0x180003b18
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
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 0x180003af8
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x180003af8
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0xeb2e1cb3
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180003af3
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 0x180003ad0
cmp edx, 0x6f6d0619
je 0x180003db7
test r8d, r8d
jne 0x180003ab0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x180003b0e
cmp qword [rax + 0x30], 0
jne 0x180003a80
mov rax, r15
mov qword [0x18008d358], rax
mov rcx, rbp
call rax
xor eax, eax
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
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
jmp 0x180003560
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
jmp 0x180003630
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
jmp 0x180003851
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
jmp 0x180003960
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
jmp 0x180003a30
mov rax, qword [0x18008d3e0]
mov rbp, qword [r13 + 0x20]
test rax, rax
jne 0x180003c97
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop dword [rax]
nop dword [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 0x180003c78
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x180003c78
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x7b990cbc
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180003c73
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 0x180003c50
cmp edx, 0x72e932b2
je 0x180003d70
test r8d, r8d
jne 0x180003c30
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x180003c8d
cmp qword [rax + 0x30], r14
jne 0x180003c00
mov rax, r14
mov qword [0x18008d3e0], rax
mov rcx, qword [rsp + 0x78]
call rax
mov rax, qword [0x18008d260]
test rax, rax
jne 0x180003d63
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
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 0x180003d44
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x180003d44
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x809b5332
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x180003d3f
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 0x180003d20
cmp edx, 0x5b3747c8
je 0x180003d8c
test r8d, r8d
jne 0x180003d00
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x180003d59
cmp qword [rax + 0x30], r14
jne 0x180003cd0
mov rax, r14
mov qword [0x18008d260], rax
mov rcx, r15
call rax
mov rax, rbp
jmp 0x180003b1f
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
jmp 0x180003c90
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]
mov rcx, r15
add rax, r9
mov qword [0x18008d260], rax
call rax
mov rax, rbp
jmp 0x180003b1f
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
jmp 0x180003b11