Function at 0x14007c690
Capabilities:
Access peb ldr_data
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 [0x1403c1140]
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 0x14007c769
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14007c769
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, 0x2446f941
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14007c764
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 0x14007c730
cmp r10d, 0x334974a6
je 0x14007c771
test r11d, r11d
jne 0x14007c710
mov rax, qword [rax]
jmp 0x14007c6e0
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 [0x1403c61b0]
call r10
mov rcx, qword gs:[0x60]
cmp eax, 0xffffffff
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x10]
jne 0x14007c880
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 0x14007c849
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14007c849
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, 0x13244c3c
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14007c844
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 0x14007c810
cmp r10d, 0x552e0c6e
je 0x14007c851
test r11d, r11d
jne 0x14007c7f0
mov rax, qword [rax]
jmp 0x14007c7c0
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 [0x1403c61b8], eax
xor al, al
jmp 0x14007d08e
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x14007c909
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14007c909
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, 0x68f39a75
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14007c904
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 0x14007c8d0
cmp r10d, 0xc9cc4028
je 0x14007c911
test r11d, r11d
jne 0x14007c8b0
mov rax, qword [rax]
jmp 0x14007c880
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 [0x1403c61b0]
call r8
mov r15d, eax
cmp eax, 0xffffffff
jne 0x14007c9f5
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 0x14007c9ed
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14007c9ed
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, 0xdff69461
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14007c9e8
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 0x14007c9b0
cmp r10d, 0x8a0f257b
je 0x14007c851
test r11d, r11d
jne 0x14007c990
mov rax, qword [rax]
jmp 0x14007c960
lea edx, [rax + 1]
xor r8d, r8d
lea rcx, [rbp - 0x68]
call fcn.14008f050
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 0x14007cab9
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14007cab9
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, 0x850439a0
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14007cab4
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 0x14007ca80
cmp r10d, 0x455a6a64
je 0x14007cac1
test r11d, r11d
jne 0x14007ca60
mov rax, qword [rax]
jmp 0x14007ca30
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 [0x1403c61b0]
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 [0x1403c61b0]
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 0x14007ccf0
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 0x14007cbd9
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14007cbd9
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, 0xf4e8dfc8
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14007cbd4
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 0x14007cba0
cmp r10d, 0x1ba062e2
je 0x14007cbe1
test r11d, r11d
jne 0x14007cb80
mov rax, qword [rax]
jmp 0x14007cb50
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 [0x1403c61b8], 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 0x14007cca8
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14007cca8
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, 0x6a7bba9a
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x14007cca3
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 0x14007cc70
cmp r10d, 0x104df6a5
je 0x14007ccb0
test r11d, r11d
jne 0x14007cc50
mov rax, qword [rax]
jmp 0x14007cc20
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 [0x1403c61b0]
call r10
xor bl, bl
jmp 0x14007d082
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x14007cd79
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14007cd79
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, 0xbbab523
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x14007cd74
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 0x14007cd40
cmp r10d, 0xf29d4c68
je 0x14007cd81
test r11d, r11d
jne 0x14007cd20
mov rax, qword [rax]
jmp 0x14007ccf0
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 [0x1403c61b0]
call r10
xor r8d, r8d
xor edx, edx
call fcn.14007a810
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x78]
call fcn.14007aa10
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 0x14007ce32
lea rcx, [rsp + 0x30]
call fcn.14008dc70
nop
lea rcx, [rbp + 0x60]
call fcn.14007acc0
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.14007ada0
nop
lea rcx, [rsp + 0x30]
call fcn.14008e480
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.14007c140
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
xor r8d, r8d
lea rdx, [0x14039d518]
lea rcx, [rsp + 0x50]
call fcn.14008dc70
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 0x14007cfd5
nop
movzx edx, word [rbx]
cmp dx, 0xa
jne 0x14007cfb8
cmp qword [rsp + 0x60], 0
je 0x14007cfc8
lea rax, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rax, qword [rsp + 0x50]
cmp word [rax], 0
je 0x14007cfc8
mov rax, qword [0x1403c61a0]
cmp rax, qword [0x1403c61a8]
je 0x14007cf8f
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.14008e0a0
add qword [0x1403c61a0], 0x20
jmp 0x14007cf9c
lea r8, [rsp + 0x50]
mov rdx, rax
call fcn.14007c410
lea rax, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rax, qword [rsp + 0x50]
mov qword [rsp + 0x60], r12
mov word [rax], r12w
jmp 0x14007cfc8
cmp dx, 0xd
je 0x14007cfc8
lea rcx, [rsp + 0x50]
call fcn.14008da10
add rbx, 2
cmp rbx, rdi
jne 0x14007cf40
cmp qword [rsp + 0x60], 0
je 0x14007d028
lea rax, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rax, qword [rsp + 0x50]
cmp word [rax], 0
je 0x14007d028
mov rax, qword [0x1403c61a0]
cmp rax, qword [0x1403c61a8]
je 0x14007d01b
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.14008e0a0
add qword [0x1403c61a0], 0x20
jmp 0x14007d028
lea r8, [rsp + 0x50]
mov rdx, rax
call fcn.14007c410
mov bl, 1
lea rcx, [rsp + 0x50]
call fcn.14008e480
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.1402e529c
nop
lea rcx, [rbp + 0x60]
call fcn.14007b8d0
nop
lea rcx, [rsp + 0x78]
call fcn.14008e480
nop
lea rcx, [rbp - 0x68]
call fcn.14008f6e0
movzx eax, bl
mov rcx, qword [rbp + 0xe0]
xor rcx, rsp
call fcn.14033b2f0
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 0x14007d0d6
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 [0x1403c61b0], rax
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x14007d183
lea rcx, [0x1403c6198]
call fcn.140079e80
mov rcx, qword [0x1403c61b0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbx + 0x18], 7
jbe 0x14007d134
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 [0x1403c61b0], rax
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x14007d183
lea rcx, [0x1403c6198]
add rsp, 0x40
pop rbx
jmp 0x14007c690
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x1403c61b8], eax
xor al, al
add rsp, 0x40
pop rbx
ret