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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x180
mov rax, qword [0x140130040]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov r14, rcx
mov qword [rsp + 0x20], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
lea r15, [rsp + 0x1a8]
movabs r12, 0xff00ff00ff00ff00
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r15
mov rax, qword [r15]
xor rax, r12
mov qword [rsp + 0x28], rax
mov qword [r15], 0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140096f26
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140096f26
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0xd0f3dcdd
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140096f21
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140096f00
cmp r8d, 0xce697cd
je 0x140096f2b
test r9d, r9d
jne 0x140096ee0
mov rax, qword [rax]
jmp 0x140096eb0
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r8d, dword [rcx + rax*4]
add r8, r10
xor edx, edx
mov ecx, 2
call r8
mov rbp, rax
mov dword [rsp + 0x40], 0x130
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov ebx, dword [rdx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140096fe6
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140096fe6
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [r10 + r9*4]
mov edx, dword [rax + rdi]
add rdx, r10
mov r8d, 0x5fd20235
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140096fe1
nop dword [rax]
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140096fc0
cmp r8d, 0xac77eadf
je 0x140096feb
test r9d, r9d
jne 0x140096fa0
mov rcx, qword [rcx]
jmp 0x140096f70
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r8d, dword [rcx + rax*4]
add r8, r10
lea rdx, [rsp + 0x40]
mov rcx, rbp
call r8
test eax, eax
je 0x1400971a6
mov rsi, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x140097023
mov rsi, qword [r14]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1400970b6
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400970b6
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rdi]
add rdx, r10
mov r8d, 0x41073b47
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400970b1
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140097090
cmp r8d, 0x2294bf9e
je 0x1400970bb
test r9d, r9d
jne 0x140097070
mov rax, qword [rax]
jmp 0x140097040
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r8d, dword [rcx + rax*4]
add r8, r10
mov rdx, rsi
lea rcx, [rsp + 0x6c]
call r8
mov rcx, qword gs:[0x60]
test eax, eax
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x10]
je 0x140097240
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140097176
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140097176
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov ecx, dword [rcx + rdi]
add rcx, r10
mov r8d, 0xa54f201f
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140097171
nop dword [rax]
movsx edx, dl
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
test dl, dl
jne 0x140097150
cmp r8d, 0x96cad110
je 0x14009717b
test r9d, r9d
jne 0x140097130
mov rax, qword [rax]
jmp 0x140097100
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r8d, dword [rcx + rax*4]
add r8, r10
lea rdx, [rsp + 0x40]
mov rcx, rbp
call r8
test eax, eax
jne 0x140097016
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x14009723a
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14009723a
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rdi]
add rdx, r10
mov r8d, 0x857fbf99
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140097235
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140097210
cmp r8d, 0x32ce64d9
je 0x1400972f2
test r9d, r9d
jne 0x1400971f0
mov rax, qword [rax]
jmp 0x1400971c0
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1400972b6
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400972b6
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rdi]
add rdx, r10
mov r8d, 0xd9ea4706
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400972b1
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140097290
cmp r8d, 0xa9851f5c
je 0x1400972bb
test r9d, r9d
jne 0x140097270
mov rax, qword [rax]
jmp 0x140097240
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rdx + rax*4]
add rdx, r10
mov rcx, rbp
call rdx
mov ebx, dword [rsp + 0x48]
mov rdx, qword [rsp + 0x28]
xor rdx, r12
mov qword [r15], rdx
mov rcx, r14
call fcn.140096940
mov eax, ebx
jmp 0x140097324
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov rcx, rbp
call rdx
nop
mov rax, qword [rsp + 0x28]
xor rax, r12
mov qword [r15], rax
mov rcx, r14
call fcn.140096940
xor eax, eax
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.1401134e0
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret