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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov esi, ecx
mov dword [rsp + 0x34], 0
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
add rcx, 0x10
mov rcx, qword [rcx]
mov rax, qword [rcx + 0x30]
movsxd rdx, dword [rax + 0x3c]
mov edx, dword [rax + rdx + 0x88]
test rdx, rdx
je 0x1400012ba
mov r8d, dword [rax + rdx + 0x18]
test r8, r8
je 0x1400012ba
mov r9d, dword [rax + rdx + 0x20]
add r9, rax
lea r10, [rax + 1]
dec r8
mov r11d, r8d
mov edi, dword [r9 + r11*4]
mov bl, byte [rax + rdi]
test bl, bl
je 0x14000131c
add rdi, r10
mov ebp, 0x15bc3187
movsx ebx, bl
xor ebx, ebp
imul ebp, ebx, 0x1000193
mov bl, byte [rdi]
inc rdi
test bl, bl
jne 0x140001300
cmp ebp, 0x4f369591
je 0x140001323
test r11, r11
jne 0x1400012e7
jmp 0x1400012ba
mov ecx, dword [rax + rdx + 0x1c]
mov edx, dword [rax + rdx + 0x24]
add rcx, rax
add rdx, rax
movzx edx, word [rdx + r11*2]
mov r10d, dword [rcx + rdx*4]
add r10, rax
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 1
lea rdx, [rsp + 0x34]
xor ecx, ecx
mov r8d, 1
mov r9d, 2
call r10
cmp eax, 0x7a
jne 0x140001645
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
add rcx, 0x10
mov rcx, qword [rcx]
mov rax, qword [rcx + 0x30]
movsxd rdx, dword [rax + 0x3c]
mov edx, dword [rax + rdx + 0x88]
test rdx, rdx
je 0x14000137d
mov r8d, dword [rax + rdx + 0x18]
test r8, r8
je 0x14000137d
mov r9d, dword [rax + rdx + 0x20]
add r9, rax
lea r10, [rax + 1]
dec r8
mov r11d, r8d
mov edi, dword [r9 + r11*4]
mov bl, byte [rax + rdi]
test bl, bl
je 0x1400013df
add rdi, r10
mov ebp, 0xead1bf8
movsx ebx, bl
xor ebx, ebp
imul ebp, ebx, 0x1000193
mov bl, byte [rdi]
inc rdi
test bl, bl
jne 0x1400013c3
cmp ebp, 0x4b0d3604
je 0x1400013e6
test r11, r11
jne 0x1400013aa
jmp 0x14000137d
mov ecx, dword [rax + rdx + 0x1c]
mov edx, dword [rax + rdx + 0x24]
add rcx, rax
add rdx, rax
movzx edx, word [rdx + r11*2]
mov edx, dword [rcx + rdx*4]
add rdx, rax
mov ecx, dword [rsp + 0x34]
call rdx
test rax, rax
je 0x140001645
mov rdi, rax
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
add rcx, 0x10
mov rcx, qword [rcx]
mov rax, qword [rcx + 0x30]
movsxd rdx, dword [rax + 0x3c]
mov edx, dword [rax + rdx + 0x88]
test rdx, rdx
je 0x140001422
mov r8d, dword [rax + rdx + 0x18]
test r8, r8
je 0x140001422
mov r9d, dword [rax + rdx + 0x20]
add r9, rax
lea r10, [rax + 1]
dec r8
mov r11d, r8d
mov ebx, dword [r9 + r11*4]
mov bpl, byte [rax + rbx]
test bpl, bpl
je 0x14000148d
add rbx, r10
mov r14d, 0x11f1546c
movsx ebp, bpl
xor ebp, r14d
imul r14d, ebp, 0x1000193
mov bpl, byte [rbx]
inc rbx
test bpl, bpl
jne 0x14000146b
cmp r14d, 0x9eda54a4
je 0x140001494
test r11, r11
jne 0x14000144f
jmp 0x140001422
mov ecx, dword [rax + rdx + 0x1c]
mov edx, dword [rax + rdx + 0x24]
add rcx, rax
add rdx, rax
movzx edx, word [rdx + r11*2]
mov r10d, dword [rcx + rdx*4]
add r10, rax
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 1
lea rdx, [rsp + 0x34]
mov rcx, rdi
mov r8d, 1
mov r9d, 2
call r10
test eax, eax
jne 0x1400015ad
cmp dword [rdi], 0
je 0x1400015ad
xor ebx, ebx
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
add rcx, 0x10
mov rcx, qword [rcx]
mov rax, qword [rcx + 0x30]
movsxd rdx, dword [rax + 0x3c]
mov edx, dword [rax + rdx + 0x88]
test rdx, rdx
je 0x1400014f9
mov r8d, dword [rax + rdx + 0x18]
test r8, r8
je 0x1400014f9
mov r9d, dword [rax + rdx + 0x20]
add r9, rax
lea r11, [rax + 1]
dec r8
mov r10d, r8d
mov r14d, dword [r9 + r10*4]
mov bpl, byte [rax + r14]
test bpl, bpl
je 0x140001564
add r14, r11
mov r15d, 0xa4dd211d
movsx ebp, bpl
xor ebp, r15d
imul r15d, ebp, 0x1000193
mov bpl, byte [r14]
inc r14
test bpl, bpl
jne 0x140001542
cmp r15d, 0x84d7a079
je 0x14000156b
test r10, r10
jne 0x140001526
jmp 0x1400014f9
lea r14, [rbx + rbx*2]
mov ecx, dword [rax + rdx + 0x1c]
mov edx, dword [rax + rdx + 0x24]
add rcx, rax
add rdx, rax
movzx edx, word [rdx + r10*2]
mov edx, dword [rcx + rdx*4]
add rdx, rax
movzx ecx, word [rdi + r14*4 + 8]
call rdx
cmp ax, si
jne 0x14000159f
mov ecx, dword [rdi + r14*4 + 0xc]
call fcn.140001088
inc rbx
mov eax, dword [rdi]
cmp rbx, rax
jb 0x1400014e8
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
add rcx, 0x10
mov rcx, qword [rcx]
mov rax, qword [rcx + 0x30]
movsxd rdx, dword [rax + 0x3c]
mov edx, dword [rax + rdx + 0x88]
test rdx, rdx
je 0x1400015be
mov r8d, dword [rax + rdx + 0x18]
test r8, r8
je 0x1400015be
mov r9d, dword [rax + rdx + 0x20]
add r9, rax
lea r10, [rax + 1]
dec r8
mov r11d, r8d
mov esi, dword [r9 + r11*4]
mov bl, byte [rax + rsi]
test bl, bl
je 0x140001620
add rsi, r10
mov ebp, 0x77e0c39
movsx ebx, bl
xor ebx, ebp
imul ebp, ebx, 0x1000193
mov bl, byte [rsi]
inc rsi
test bl, bl
jne 0x140001604
cmp ebp, 0xbd805e47
je 0x140001627
test r11, r11
jne 0x1400015eb
jmp 0x1400015be
mov ecx, dword [rax + rdx + 0x1c]
mov edx, dword [rax + rdx + 0x24]
add rcx, rax
add rdx, rax
movzx edx, word [rdx + r11*2]
mov edx, dword [rcx + rdx*4]
add rdx, rax
mov rcx, rdi
call rdx
nop
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret