Function at 0x140046f20
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0xb0
mov rax, qword [0x1400d5058]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov r15d, ecx
lea rdx, [rsp + 0x24]
call fcn.140047370
lea r14, [rax + 1]
movzx edx, byte [rax]
xor byte [r14], dl
xor byte [rax + 2], dl
mov byte [r14 + 2], 0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov ebp, dword [rcx + rbx + 0x88]
add rbp, rbx
cmp rbp, rbx
je 0x140047009
mov r11d, dword [rbp + 0x18]
test r11d, r11d
je 0x140047009
mov esi, dword [rbp + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x31c4606e
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140047004
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x140046fd0
cmp r10d, 0xcf5ecd9f
je 0x140047011
test r11d, r11d
jne 0x140046fb0
mov rax, qword [rax]
jmp 0x140046f80
mov edx, dword [rbp + 0x1c]
add rdx, rbx
mov eax, dword [rbp + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov edx, dword [rdx + rax*4]
add rdx, rbx
mov rcx, r14
call rdx
lea edx, [r15 + rax]
lea rcx, [rsp + 0x28]
call fcn.140046e40
mov rbx, rax
lea rdx, [rsp + 0x48]
call fcn.140047300
mov r9, rax
lea r8, [rax + 3]
mov r11, 0xfffffffffffffffd
sub r11, rax
nop dword [rax]
lea rcx, [r11 + r8]
movzx edx, byte [rcx + r9 + 1]
xor dl, byte [r9]
mov byte [r8 - 2], dl
movzx eax, byte [r9]
xor byte [r8 - 1], al
movzx eax, byte [r9]
xor byte [r8], al
movzx eax, byte [r9]
xor byte [r8 + 1], al
movzx eax, byte [r9]
xor byte [r8 + 2], al
movzx eax, byte [r9]
xor byte [r8 + 3], al
movzx eax, byte [r9]
xor byte [r8 + 4], al
movzx eax, byte [r9]
xor byte [r8 + 5], al
movzx eax, byte [r9]
xor byte [r8 + 6], al
movzx eax, byte [r9]
xor byte [r8 + 7], al
movzx eax, byte [r9]
xor byte [r8 + 8], al
movzx eax, byte [r9]
xor byte [r8 + 9], al
movzx eax, byte [r9]
xor byte [r8 + 0xa], al
movzx eax, byte [r9]
xor byte [r8 + 0xb], al
movzx eax, byte [r9]
xor byte [r8 + 0xc], al
movzx eax, byte [r9]
xor byte [r8 + 0xd], al
movzx eax, byte [r9]
xor byte [r8 + 0xe], al
lea r8, [r8 + 0x11]
lea rax, [r11 + r8]
cmp rax, 0x33
jb 0x140047060
mov byte [r9 + 0x34], 0
mov r8, rbx
lea rdx, [r9 + 1]
lea rcx, [rsp + 0x80]
call fcn.140048670
nop
lea rcx, [rsp + 0x28]
call fcn.140004a00
lea rcx, [rsp + 0x80]
call fcn.1400049d0
mov r14, rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov rbx, qword [rcx + 0x30]
movsxd rdx, dword [rbx + 0x3c]
mov ebp, dword [rdx + rbx + 0x88]
add rbp, rbx
cmp rbp, rbx
je 0x1400471d9
mov r11d, dword [rbp + 0x18]
test r11d, r11d
je 0x1400471d9
mov esi, dword [rbp + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rax, [rsi + r11*4]
mov r9d, dword [rax + rbx]
add r9, rbx
mov r10d, 0x9fbcbed3
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1400471d4
movsx eax, r8b
sub r8b, 0x41
mov edx, eax
or edx, 0x20
cmp r8b, 0x19
cmova edx, eax
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x1400471a0
cmp r10d, 0x9c793f92
je 0x1400471e1
test r11d, r11d
jne 0x140047180
mov rcx, qword [rcx]
jmp 0x140047150
mov ecx, dword [rbp + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rbp + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
add rax, rbx
mov r9d, Ordinal_50
lea r8, [0x1400bb370]
mov rdx, r14
xor ecx, ecx
call rax
lea rdx, [rsp + 0x20]
call fcn.140047380
lea r14, [rax + 1]
movzx ecx, byte [r14]
xor cl, byte [rax]
mov byte [r14], cl
mov byte [rax + 2], 0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov ebp, dword [rcx + rbx + 0x88]
add rbp, rbx
cmp rbp, rbx
je 0x1400472c8
mov r11d, dword [rbp + 0x18]
test r11d, r11d
je 0x1400472c8
mov esi, dword [rbp + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x22bfcba3
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x1400472c3
nop
movsx edx, cl
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
movzx ecx, byte [r9]
lea r9, [r9 + 1]
test cl, cl
jne 0x140047290
cmp r10d, 0x4c3eb796
je 0x1400472d0
test r11d, r11d
jne 0x140047270
mov rax, qword [rax]
jmp 0x140047240
mov edx, dword [rbp + 0x24]
add rdx, rbx
movzx r8d, word [rdx + r11*2]
mov edx, dword [rbp + 0x1c]
add rdx, rbx
mov eax, dword [rdx + r8*4]
add rax, rbx
mov rcx, r14
call rax
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_quick_exit]
int3