Function at 0x14002b780
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.14002c370
mov r15, rax
test rax, rax
jne 0x14002b862
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 0x14002b837
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14002b837
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 0x14002b832
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x14002b810
cmp r8d, 0xeea4fe0c
je 0x14002b83c
test r9d, r9d
jne 0x14002b7f0
mov rax, qword [rax]
jmp 0x14002b7c0
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 0x14002b933
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 0x14002b907
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14002b907
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 0x14002b902
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14002b8e0
cmp r8d, 0xa7e112d8
je 0x14002b90c
test r9d, r9d
jne 0x14002b8c0
mov rax, qword [rax]
jmp 0x14002b890
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 0x14002bcc4
cmp dword [rax], 0x4550
jne 0x14002bcc4
mov eax, dword [rax + 0x88]
lea rcx, [rax + r15]
test rax, rax
jne 0x14002b9f0
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 0x14002b9eb
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14002b9eb
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 0x14002b9e6
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14002b9c0
cmp r8d, 0x6ed9d683
je 0x14002b90c
test r9d, r9d
jne 0x14002b9a0
mov rax, qword [rax]
jmp 0x14002b970
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 0x14002ba61
nop dword [rax + rax]
mov eax, dword [r8 + rbx*4]
add rax, r15
jne 0x14002ba2d
xor ecx, ecx
jmp 0x14002ba51
movsx edx, byte [rax]
mov ecx, 0x1505
inc rax
test edx, edx
je 0x14002ba51
nop dword [rax]
imul ecx, ecx, 0x21
lea rax, [rax + 1]
add ecx, edx
movsx edx, byte [rax - 1]
test edx, edx
jne 0x14002ba40
cmp ecx, edi
je 0x14002bb00
inc rbx
cmp rbx, r9
jb 0x14002ba20
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 0x14002bafb
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14002bafb
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 0x14002baf6
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 0x14002bad0
cmp r8d, 0xd5a9d768
je 0x14002bca1
test r9d, r9d
jne 0x14002bab0
mov rax, qword [rax]
jmp 0x14002ba80
mov ecx, 0xf2fa80f0
mov qword [rsp + 0x58], r14
call fcn.14002bd60
mov r14, rax
test rax, rax
jne 0x14002bbe2
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 0x14002bba7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14002bba7
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 0x14002bba2
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 0x14002bb80
cmp r8d, 0xdcd66eaf
je 0x14002bbac
test r9d, r9d
jne 0x14002bb60
mov rax, qword [rax]
jmp 0x14002bb30
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 0x14002bc77
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14002bc77
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 0x14002bc72
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 0x14002bc50
cmp r8d, 0xe7cf0c5d
je 0x14002bc7c
test r9d, r9d
jne 0x14002bc30
mov rax, qword [rax]
jmp 0x14002bc00
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 0x14002bbca
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 0x14002bbcf
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 0x14002bd5b
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14002bd5b
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 0x14002bd56
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 0x14002bd30
cmp r8d, 0x404b96bb
je 0x14002b90c
test r9d, r9d
jne 0x14002bd10
mov rax, qword [rax]
jmp 0x14002bce0