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

Disassembly:
push rbx
push rdi
push r15
sub rsp, 0x20
mov edi, ecx
mov ecx, 0xf2fa80f0
call fcn.14002dad0
mov r15, rax
test rax, rax
jne 0x14002cfc2
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 ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x14002cf97
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14002cf97
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x399db21b
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x14002cf92
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x14002cf70
cmp r8d, 0xeea4fe0c
je 0x14002cf9c
test r9d, r9d
jne 0x14002cf50
mov rax, qword [rax]
jmp 0x14002cf20
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
xor ecx, ecx
add rax, r10
call rax
xor eax, eax
add rsp, 0x20
pop r15
pop rdi
pop rbx
ret
mov eax, 0x5a4d
cmp word [r15], ax
je 0x14002d093
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 ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x14002d067
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14002d067
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xeb33b7ef
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14002d062
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14002d040
cmp r8d, 0xa7e112d8
je 0x14002d06c
test r9d, r9d
jne 0x14002d020
mov rax, qword [rax]
jmp 0x14002cff0
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov rcx, r15
add rax, r10
call rax
xor eax, eax
add rsp, 0x20
pop r15
pop rdi
pop rbx
ret
movsxd rax, dword [r15 + 0x3c]
add rax, r15
je 0x14002d424
cmp dword [rax], 0x4550
jne 0x14002d424
mov eax, dword [rax + 0x88]
lea rcx, [rax + r15]
test rax, rax
jne 0x14002d150
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x14002d14b
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14002d14b
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x8e4a26b2
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14002d146
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14002d120
cmp r8d, 0x6ed9d683
je 0x14002d06c
test r9d, r9d
jne 0x14002d100
mov rax, qword [rax]
jmp 0x14002d0d0
mov r8d, dword [rcx + 0x20]
xor ebx, ebx
mov r9d, dword [rcx + 0x18]
add r8, r15
mov qword [rsp + 0x40], rbp
mov ebp, dword [rcx + 0x24]
mov qword [rsp + 0x50], rsi
add rbp, r15
mov esi, dword [rcx + 0x1c]
add rsi, r15
test r9, r9
je 0x14002d1c1
nop dword [rax + rax]
mov eax, dword [r8 + rbx*4]
add rax, r15
jne 0x14002d18d
xor ecx, ecx
jmp 0x14002d1b1
movsx edx, byte [rax]
mov ecx, 0x1505
inc rax
test edx, edx
je 0x14002d1b1
nop dword [rax]
imul ecx, ecx, 0x21
lea rax, [rax + 1]
add ecx, edx
movsx edx, byte [rax - 1]
test edx, edx
jne 0x14002d1a0
cmp ecx, edi
je 0x14002d260
inc rbx
cmp rbx, r9
jb 0x14002d180
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 ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x14002d25b
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14002d25b
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x9f6f8c1f
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rdi]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14002d256
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14002d230
cmp r8d, 0xd5a9d768
je 0x14002d401
test r9d, r9d
jne 0x14002d210
mov rax, qword [rax]
jmp 0x14002d1e0
mov ecx, 0xf2fa80f0
mov qword [rsp + 0x58], r14
call fcn.14002d4c0
mov r14, rax
test rax, rax
jne 0x14002d342
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x14002d307
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14002d307
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x1edb6486
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rdi]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14002d302
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14002d2e0
cmp r8d, 0xdcd66eaf
je 0x14002d30c
test r9d, r9d
jne 0x14002d2c0
mov rax, qword [rax]
jmp 0x14002d290
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov rcx, r15
add rax, r10
call rax
xor eax, eax
mov r14, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop rdi
pop rbx
ret
movzx eax, word [rbp + rbx*2]
mov esi, dword [rsi + rax*4]
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 ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x14002d3d7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14002d3d7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x68a9b44
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rdi]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14002d3d2
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14002d3b0
cmp r8d, 0xe7cf0c5d
je 0x14002d3dc
test r9d, r9d
jne 0x14002d390
mov rax, qword [rax]
jmp 0x14002d360
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov rcx, r15
add rax, r10
call rax
lea rax, [r14 + rsi]
jmp 0x14002d32a
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
mov rcx, r15
add rax, r10
call rax
xor eax, eax
jmp 0x14002d32f
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 0x14002d4bb
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14002d4bb
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x159c224a
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rdi]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14002d4b6
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14002d490
cmp r8d, 0x404b96bb
je 0x14002d06c
test r9d, r9d
jne 0x14002d470
mov rax, qword [rax]
jmp 0x14002d440