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

Disassembly:
push rbx
push rbp
sub rsp, 0x88
mov rax, qword [0x1801e6a40]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov rax, qword [0x18049aa08]
mov rbp, r8
mov qword [rsp + 0x60], 0xffffffff80000001
test rax, rax
jne 0x18000576a
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 r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x180005745
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x180005745
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + rbx]
mov edx, 0xdcf8e2c4
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x180005740
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x180005720
cmp edx, 0xa34b3d6b
je 0x18000574a
test r9d, r9d
jne 0x180005700
mov rax, qword [rax]
jmp 0x1800056d0
mov ecx, dword [r11 + 0x24]
mov edx, dword [r11 + 0x1c]
add rcx, r10
add rdx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
mov qword [0x18049aa08], rax
mov rdx, rbp
mov rcx, 0xffffffff80000001
call rax
test eax, eax
jne 0x180005781
mov al, 1
jmp 0x180005e2e
mov rax, qword [0x18049aa00]
test rax, rax
jne 0x18000584a
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x180005825
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x180005825
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + rbx]
mov edx, 0xca88a8e7
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x180005820
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x180005800
cmp edx, 0x87f0b68e
je 0x18000582a
test r9d, r9d
jne 0x1800057e0
mov rax, qword [rax]
jmp 0x1800057b0
mov ecx, dword [r11 + 0x24]
mov edx, dword [r11 + 0x1c]
add rcx, r10
add rdx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
mov qword [0x18049aa00], rax
lea rcx, [rsp + 0x60]
mov r9d, 0x20019
mov qword [rsp + 0x20], rcx
xor r8d, r8d
mov rcx, qword [rsp + 0x60]
mov rdx, rbp
call rax
cmp eax, 2
je 0x180005e2c
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0x80], r14
xor r14d, r14d
nop dword [rax + rax]
mov rax, qword [0x18049a9f0]
test rax, rax
jne 0x18000595a
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x180005935
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x180005935
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [rbx + r9*4]
mov r8d, dword [rdx + r10]
mov edx, 0x5ba3dbd
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x180005930
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x180005910
cmp edx, 0xe5698db4
je 0x18000593a
test r9d, r9d
jne 0x1800058f0
mov rax, qword [rax]
jmp 0x1800058c0
mov ecx, dword [r11 + 0x24]
mov edx, dword [r11 + 0x1c]
add rcx, r10
add rdx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
mov qword [0x18049a9f0], rax
lea rcx, [rsp + 0x60]
mov r9d, 0xf003f
mov qword [rsp + 0x20], rcx
xor r8d, r8d
mov rcx, 0xffffffff80000001
mov rdx, rbp
call rax
mov rax, qword [0x18049aa28]
test rax, rax
jne 0x180005a3a
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 r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x180005a15
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x180005a15
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [rbx + r9*4]
mov r8d, dword [rdx + r10]
mov edx, 0xbe00cbdd
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x180005a10
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x1800059f0
cmp edx, 0x3101d265
je 0x180005a1a
test r9d, r9d
jne 0x1800059d0
mov rax, qword [rax]
jmp 0x1800059a0
mov ecx, dword [r11 + 0x24]
mov edx, dword [r11 + 0x1c]
add rcx, r10
add rdx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
mov qword [0x18049aa28], rax
mov qword [rsp + 0x58], r14
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x50], r14
xor r9d, r9d
mov qword [rsp + 0x48], r14
xor r8d, r8d
mov qword [rsp + 0x40], rcx
xor edx, edx
lea rcx, [rsp + 0x6c]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call rax
test eax, eax
jne 0x180005890
mov ecx, dword [rsp + 0x68]
inc ecx
call fcn.180112780
mov edi, dword [rsp + 0x6c]
mov rsi, rax
sub edi, 1
js 0x180005c6f
nop
mov ecx, dword [rsp + 0x68]
mov rax, qword [0x18049aa18]
inc ecx
mov dword [rsp + 0x70], ecx
test rax, rax
jne 0x180005b6a
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x180005b45
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x180005b45
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [rbx + r9*4]
mov r8d, dword [rdx + r10]
mov edx, 0xd9205a33
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x180005b40
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x180005b20
cmp edx, 0xd90383d2
je 0x180005b4a
test r9d, r9d
jne 0x180005b00
mov rax, qword [rax]
jmp 0x180005ad0
mov eax, dword [r11 + 0x24]
mov ecx, dword [r11 + 0x1c]
add rax, r10
add rcx, r10
movzx edx, word [rax + r9*2]
mov eax, dword [rcx + rdx*4]
add rax, r10
mov qword [0x18049aa18], rax
mov rcx, qword [rsp + 0x60]
lea r9, [rsp + 0x70]
mov qword [rsp + 0x38], r14
mov r8, rsi
mov qword [rsp + 0x30], r14
mov edx, edi
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call rax
test eax, eax
jne 0x180005c66
mov rax, qword [0x18049a9f8]
test rax, rax
jne 0x180005c5c
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x180005c37
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x180005c37
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
mov r8d, 0xcdef9cdf
lea rdx, [rbx + r9*4]
mov ecx, dword [rdx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x180005c32
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x180005c10
cmp r8d, 0x4919470
je 0x180005c3c
test r9d, r9d
jne 0x180005bf0
mov rax, qword [rax]
jmp 0x180005bc0
mov eax, dword [r11 + 0x24]
mov ecx, dword [r11 + 0x1c]
add rax, r10
add rcx, r10
movzx edx, word [rax + r9*2]
mov eax, dword [rcx + rdx*4]
add rax, r10
mov qword [0x18049a9f8], rax
mov rcx, qword [rsp + 0x60]
mov rdx, rsi
call rax
sub edi, 1
jns 0x180005aa0
mov rax, qword [0x18049aa20]
mov r14, qword [rsp + 0x80]
mov rdi, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xa0]
test rax, rax
jne 0x180005d4a
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x180005d25
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x180005d25
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [rbx + r9*4]
mov r8d, dword [rdx + r10]
mov edx, 0x87f30a6c
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x180005d20
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x180005d00
cmp edx, 0x8826b561
je 0x180005d2a
test r9d, r9d
jne 0x180005ce0
mov rax, qword [rax]
jmp 0x180005cb0
mov eax, dword [r11 + 0x24]
mov ecx, dword [r11 + 0x1c]
add rax, r10
add rcx, r10
movzx edx, word [rax + r9*2]
mov eax, dword [rcx + rdx*4]
add rax, r10
mov qword [0x18049aa20], rax
mov rcx, qword [rsp + 0x60]
call rax
mov rax, qword [0x18049aa10]
test rax, rax
jne 0x180005e1b
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x180005df5
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x180005df5
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [rbx + r9*4]
mov r8d, dword [rdx + r10]
mov edx, 0xe94af836
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x180005df0
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x180005dd0
cmp edx, 0x4f1eb435
je 0x180005dfa
test r9d, r9d
jne 0x180005db0
mov rax, qword [rax]
jmp 0x180005d80
mov eax, dword [r11 + 0x24]
mov ecx, dword [r11 + 0x1c]
add rax, r10
add rcx, r10
movzx r8d, word [rax + r9*2]
mov eax, dword [rcx + r8*4]
add rax, r10
mov qword [0x18049aa10], rax
mov rcx, qword [rsp + 0x60]
mov rdx, rbp
call rax
test eax, eax
sete al
jmp 0x180005e2e
xor al, al
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.180111e20
add rsp, 0x88
pop rbp
pop rbx
ret