Function at 0x180031440
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 [0x1801f9940]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov rax, qword [0x1802094d8]
mov rbp, r8
mov qword [rsp + 0x60], 0xffffffff80000001
test rax, rax
jne 0x18003152a
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 0x180031505
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x180031505
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + rbx]
mov edx, 0x6c7e8bcf
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x180031500
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x1800314e0
cmp edx, 0xf598a02a
je 0x18003150a
test r9d, r9d
jne 0x1800314c0
mov rax, qword [rax]
jmp 0x180031490
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 [0x1802094d8], rax
mov rdx, rbp
mov rcx, 0xffffffff80000001
call rax
test eax, eax
jne 0x180031541
mov al, 1
jmp 0x180031bee
mov rax, qword [0x1802094e0]
test rax, rax
jne 0x18003160a
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 0x1800315e5
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x1800315e5
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + rbx]
mov edx, 0x6f5e3cdd
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x1800315e0
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x1800315c0
cmp edx, 0xab676b14
je 0x1800315ea
test r9d, r9d
jne 0x1800315a0
mov rax, qword [rax]
jmp 0x180031570
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 [0x1802094e0], 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 0x180031bec
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 [0x1802094e8]
test rax, rax
jne 0x18003171a
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 0x1800316f5
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x1800316f5
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [rbx + r9*4]
mov r8d, dword [rdx + r10]
mov edx, 0x614fe01c
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x1800316f0
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x1800316d0
cmp edx, 0x3fd14b1b
je 0x1800316fa
test r9d, r9d
jne 0x1800316b0
mov rax, qword [rax]
jmp 0x180031680
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 [0x1802094e8], 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 [0x1802094f0]
test rax, rax
jne 0x1800317fa
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 0x1800317d5
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x1800317d5
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [rbx + r9*4]
mov r8d, dword [rdx + r10]
mov edx, 0xf405ec4e
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x1800317d0
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x1800317b0
cmp edx, 0x3c7ed596
je 0x1800317da
test r9d, r9d
jne 0x180031790
mov rax, qword [rax]
jmp 0x180031760
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 [0x1802094f0], 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 0x180031650
mov ecx, dword [rsp + 0x68]
inc ecx
call fcn.18013a95c
mov edi, dword [rsp + 0x6c]
mov rsi, rax
sub edi, 1
js 0x180031a2f
nop
mov ecx, dword [rsp + 0x68]
mov rax, qword [0x1802094f8]
inc ecx
mov dword [rsp + 0x70], ecx
test rax, rax
jne 0x18003192a
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 0x180031905
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x180031905
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [rbx + r9*4]
mov r8d, dword [rdx + r10]
mov edx, 0x51627506
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x180031900
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x1800318e0
cmp edx, 0xd5cfc36d
je 0x18003190a
test r9d, r9d
jne 0x1800318c0
mov rax, qword [rax]
jmp 0x180031890
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 [0x1802094f8], 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 0x180031a26
mov rax, qword [0x180209500]
test rax, rax
jne 0x180031a1c
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 0x1800319f7
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x1800319f7
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
mov r8d, 0x9bb2e358
lea rdx, [rbx + r9*4]
mov ecx, dword [rdx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x1800319f2
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x1800319d0
cmp r8d, 0xc0ab0e29
je 0x1800319fc
test r9d, r9d
jne 0x1800319b0
mov rax, qword [rax]
jmp 0x180031980
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 [0x180209500], rax
mov rcx, qword [rsp + 0x60]
mov rdx, rsi
call rax
sub edi, 1
jns 0x180031860
mov rax, qword [0x180209508]
mov r14, qword [rsp + 0x80]
mov rdi, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xa0]
test rax, rax
jne 0x180031b0a
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 0x180031ae5
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x180031ae5
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [rbx + r9*4]
mov r8d, dword [rdx + r10]
mov edx, 0x80fb9343
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x180031ae0
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x180031ac0
cmp edx, 0x3614e17c
je 0x180031aea
test r9d, r9d
jne 0x180031aa0
mov rax, qword [rax]
jmp 0x180031a70
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 [0x180209508], rax
mov rcx, qword [rsp + 0x60]
call rax
mov rax, qword [0x180209510]
test rax, rax
jne 0x180031bdb
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 0x180031bb5
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x180031bb5
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [rbx + r9*4]
mov r8d, dword [rdx + r10]
mov edx, 0xd986e52b
add r8, r10
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x180031bb0
nop
movsx ecx, cl
lea r8, [r8 + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8 - 1]
test cl, cl
jne 0x180031b90
cmp edx, 0xbd7592b6
je 0x180031bba
test r9d, r9d
jne 0x180031b70
mov rax, qword [rax]
jmp 0x180031b40
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 [0x180209510], rax
mov rcx, qword [rsp + 0x60]
mov rdx, rbp
call rax
test eax, eax
sete al
jmp 0x180031bee
xor al, al
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.18013a090
add rsp, 0x88
pop rbp
pop rbx
ret