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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0xf0]
sub rsp, 0x1f0
mov rax, qword [0x1403e7140]
xor rax, rsp
mov qword [rbp + 0xe0], rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x14007ca89
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14007ca89
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x1714e982
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14007ca84
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 0x14007ca50
cmp r10d, 0x2566dbfd
je 0x14007ca91
test r11d, r11d
jne 0x14007ca30
mov rax, qword [rax]
jmp 0x14007ca00
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r10d, dword [rcx + rax*4]
add r10, rbx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [0x1403ec1b0]
call r10
mov rcx, qword gs:[0x60]
cmp eax, 0xffffffff
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x10]
jne 0x14007cba0
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x14007cb69
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14007cb69
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x28379687
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14007cb64
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 0x14007cb30
cmp r10d, 0xe8be3cf1
je 0x14007cb71
test r11d, r11d
jne 0x14007cb10
mov rax, qword [rax]
jmp 0x14007cae0
mov ecx, dword [r14 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
add rax, rbx
call rax
mov dword [0x1403ec1b8], eax
xor al, al
jmp 0x14007d3ae
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x14007cc29
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14007cc29
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0xb047e46
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14007cc24
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 0x14007cbf0
cmp r10d, 0x4633dfdd
je 0x14007cc31
test r11d, r11d
jne 0x14007cbd0
mov rax, qword [rax]
jmp 0x14007cba0
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r8d, dword [rcx + rax*4]
add r8, rbx
xor edx, edx
mov rcx, qword [0x1403ec1b0]
call r8
mov r15d, eax
cmp eax, 0xffffffff
jne 0x14007cd15
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x14007cd0d
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14007cd0d
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x14024dda
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14007cd08
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 0x14007ccd0
cmp r10d, 0x34de3d1c
je 0x14007cb71
test r11d, r11d
jne 0x14007ccb0
mov rax, qword [rax]
jmp 0x14007cc80
lea edx, [rax + 1]
xor r8d, r8d
lea rcx, [rbp - 0x68]
call fcn.14008f9b0
nop
xor r12d, r12d
mov dword [rsp + 0x70], r12d
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm0
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 r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x14007cdd9
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14007cdd9
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0xa0c3ea81
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14007cdd4
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 0x14007cda0
cmp r10d, 0xa7e850fd
je 0x14007cde1
test r11d, r11d
jne 0x14007cd80
mov rax, qword [rax]
jmp 0x14007cd50
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r10d, dword [rcx + rax*4]
add r10, rbx
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xffffffff
mov r9d, 0xffffffff
xor r8d, r8d
lea edx, [r8 + 2]
mov rcx, qword [0x1403ec1b0]
call r10
lea rdx, [rbp - 0x68]
cmp qword [rbp - 0x50], 0xf
cmova rdx, qword [rbp - 0x68]
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x70]
mov r8d, r15d
mov rcx, qword [0x1403ec1b0]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, qword gs:[0x60]
test eax, eax
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x10]
jne 0x14007d010
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x14007cef9
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14007cef9
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0xd90b4221
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14007cef4
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 0x14007cec0
cmp r10d, 0x2736e53b
je 0x14007cf01
test r11d, r11d
jne 0x14007cea0
mov rax, qword [rax]
jmp 0x14007ce70
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov ecx, dword [rcx + rax*4]
add rcx, rbx
call rcx
mov dword [0x1403ec1b8], eax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x14007cfc8
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14007cfc8
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x6378674f
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x14007cfc3
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 0x14007cf90
cmp r10d, 0xf37f7e24
je 0x14007cfd0
test r11d, r11d
jne 0x14007cf70
mov rax, qword [rax]
jmp 0x14007cf40
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r10d, dword [rcx + rax*4]
add r10, rbx
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
xor edx, edx
mov r9d, 0xffffffff
mov r8d, r9d
mov rcx, qword [0x1403ec1b0]
call r10
xor bl, bl
jmp 0x14007d3a2
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x14007d099
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14007d099
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0xc451ef42
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14007d094
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 0x14007d060
cmp r10d, 0x7bc7fb9d
je 0x14007d0a1
test r11d, r11d
jne 0x14007d040
mov rax, qword [rax]
jmp 0x14007d010
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r10d, dword [rcx + rax*4]
add r10, rbx
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
xor edx, edx
mov r9d, 0xffffffff
mov r8d, r9d
mov rcx, qword [0x1403ec1b0]
call r10
xor r8d, r8d
xor edx, edx
call fcn.14007ac60
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x78]
call fcn.14007ae30
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], rax
mov ebx, dword [rbp - 0x78]
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 7
cmova rdx, qword [rsp + 0x78]
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], ax
jne 0x14007d152
lea rcx, [rsp + 0x30]
call fcn.14008e5f0
nop
lea rcx, [rbp + 0x60]
call fcn.14007b0e0
nop
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + 0x60], rax
mov ecx, ebx
not ecx
and ecx, 1
shl ecx, 2
mov edx, ecx
or edx, 2
test bl, 2
cmovne edx, ecx
mov ecx, edx
or ecx, 8
test bl, 8
cmove ecx, edx
mov r9d, ecx
or r9d, 0x10
test bl, 4
cmove r9d, ecx
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 7
cmova rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
lea rcx, [rbp + 0x60]
call fcn.14007b1c0
nop
lea rcx, [rsp + 0x30]
call fcn.1400808f0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], rax
lea r9d, [rax + 1]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x20]
call fcn.14007c550
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
xor r8d, r8d
lea rdx, [0x1403c2538]
lea rcx, [rsp + 0x50]
call fcn.14008e5f0
nop
lea rbx, [rsp + 0x78]
cmp qword [rbp - 0x70], 7
cmova rbx, qword [rsp + 0x78]
lea rcx, [rsp + 0x78]
cmova rcx, qword [rsp + 0x78]
mov rax, qword [rbp - 0x78]
lea rdi, [rcx + rax*2]
cmp rbx, rdi
je 0x14007d2f5
nop
movzx edx, word [rbx]
cmp dx, 0xa
jne 0x14007d2d8
cmp qword [rsp + 0x60], 0
je 0x14007d2e8
lea rax, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rax, qword [rsp + 0x50]
cmp word [rax], 0
je 0x14007d2e8
mov rax, qword [0x1403ec1a0]
cmp rax, qword [0x1403ec1a8]
je 0x14007d2af
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.14008ea40
add qword [0x1403ec1a0], 0x20
jmp 0x14007d2bc
lea r8, [rsp + 0x50]
mov rdx, rax
call fcn.14007c820
lea rax, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rax, qword [rsp + 0x50]
mov qword [rsp + 0x60], r12
mov word [rax], r12w
jmp 0x14007d2e8
cmp dx, 0xd
je 0x14007d2e8
lea rcx, [rsp + 0x50]
call fcn.14008e390
add rbx, 2
cmp rbx, rdi
jne 0x14007d260
cmp qword [rsp + 0x60], 0
je 0x14007d348
lea rax, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rax, qword [rsp + 0x50]
cmp word [rax], 0
je 0x14007d348
mov rax, qword [0x1403ec1a0]
cmp rax, qword [0x1403ec1a8]
je 0x14007d33b
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.14008ea40
add qword [0x1403ec1a0], 0x20
jmp 0x14007d348
lea r8, [rsp + 0x50]
mov rdx, rax
call fcn.14007c820
mov bl, 1
lea rcx, [rsp + 0x50]
call fcn.1400808f0
nop
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + rcx - 0x20], rax
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx - 0x24], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp - 8], rax
lea rcx, [rbp - 8]
call fcn.14030a500
nop
lea rcx, [rbp + 0x60]
call fcn.14007bce0
nop
lea rcx, [rsp + 0x78]
call fcn.1400808f0
nop
lea rcx, [rbp - 0x68]
call fcn.140090020
movzx eax, bl
mov rcx, qword [rbp + 0xe0]
xor rcx, rsp
call fcn.140360560
lea r11, [rsp + 0x1f0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
push rbx
sub rsp, 0x40
cmp qword [rdx + 0x18], 7
mov rbx, rdx
mov rcx, rdx
jbe 0x14007d3f6
mov rcx, qword [rdx]
xor r9d, r9d
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov edx, 0x10000000
mov dword [rsp + 0x20], 4
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [0x1403ec1b0], rax
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x14007d4a3
lea rcx, [0x1403ec198]
call fcn.14007a2f0
mov rcx, qword [0x1403ec1b0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbx + 0x18], 7
jbe 0x14007d454
mov rbx, qword [rbx]
xor r9d, r9d
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov edx, 0xc0000000
mov rcx, rbx
mov dword [rsp + 0x20], 4
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [0x1403ec1b0], rax
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x14007d4a3
lea rcx, [0x1403ec198]
add rsp, 0x40
pop rbx
jmp 0x14007c9b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x1403ec1b8], eax
xor al, al
add rsp, 0x40
pop rbx
ret