Function at 0x140001540
Capabilities:
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push rbp
push r12
push rdi
push rsi
push rbx
sub rsp, 0x320
lea rbp, [rsp + 0x80]
call fcn.140001bc0
mov edx, 2
mov ecx, 4
call fcn.1400e4500
mov edx, eax
mov rax, rbp
mov r8d, edx
lea rdx, str.1.bin
mov rcx, rax
call fcn.1400aea70
mov rax, rbp
add rax, 0xd0
mov rcx, rax
call fcn.140069990
test al, al
je 0x1400015ca
lea rax, str.Failed_to_open_1.bin
mov rdx, rax
mov rax, qword [0x1400f07d0]
mov rcx, rax
call fcn.1400e3f30
mov rcx, rax
mov rax, qword [0x1400f07e0]
mov rdx, rax
call fcn.140085a80
mov ebx, 1
jmp 0x140001a24
lea rax, [rbp + 0x1e0]
mov rdx, rbp
mov rcx, rax
call fcn.14007f7d0
lea rax, [rbp + 0x1e0]
mov rcx, rax
call fcn.140024210
mov qword [rbp - 8], rax
mov rax, rbp
mov r8d, 0
mov edx, 0
mov rcx, rax
call fcn.14007f630
lea rax, [rbp + 0x1f6]
mov rcx, rax
call fcn.140070a80
mov rax, qword [rbp - 8]
mov rcx, rax
lea rdx, [rbp + 0x1f6]
lea rax, [rbp - 0x20]
mov r8, rdx
mov rdx, rcx
mov rcx, rax
call fcn.1400c2fe0
lea rax, [rbp + 0x1f6]
mov rcx, rax
call fcn.140070ab0
mov rbx, qword [rbp - 8]
lea rax, [rbp - 0x20]
mov rcx, rax
call fcn.1400c2fb0
mov rdx, rax
mov rax, rbp
mov r8, rbx
mov rcx, rax
call fcn.14007f130
mov rdx, qword [rax]
sub rdx, 0x18
mov rdx, qword [rdx]
add rax, rdx
mov rcx, rax
call fcn.140069980
test al, al
je 0x1400019dd
mov dword [rbp + 0x1f8], 0x40
mov dword [rbp + 0x1fc], 0x1000
mov qword [rbp + 0x200], 0
mov dword [rbp + 0x294], 0x60
mov eax, dword [rbp + 0x294]
mov rax, qword gs:[rax]
mov qword [rbp + 0x288], rax
mov rax, qword [rbp + 0x288]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x30], rax
nop
mov rax, qword [rbp - 0x30]
mov rax, qword [rax + 0x30]
mov qword [rbp + 0x280], rax
mov rax, qword [rbp + 0x280]
mov qword [rbp - 0x50], rax
mov rax, qword [rbp + 0x280]
mov qword [rbp + 0x278], rax
mov rax, qword [rbp + 0x278]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp + 0x278]
add rax, rdx
mov rax, qword [rax + 0x88]
mov qword [rbp - 0x58], rax
mov eax, dword [rbp - 0x58]
mov edx, eax
mov rax, qword [rbp + 0x280]
add rax, rdx
mov qword [rbp - 0x48], rax
mov eax, dword [rbp - 0x54]
mov dword [rbp - 0x40], eax
nop
mov rdx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x50]
cmp rdx, rax
setne al
test al, al
je 0x1400018da
mov rax, qword [rbp - 0x48]
mov eax, dword [rax + 0x18]
mov dword [rbp + 0x274], eax
jmp 0x1400018be
movabs rax, 0x89932da19495d9b5
mov qword [rbp + 0x268], rax
mov rax, qword [rbp + 0x268]
shr rax, 0x20
mov edx, eax
mov eax, dword [rbp + 0x274]
mov dword [rbp + 0x264], eax
mov rcx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
mov eax, dword [rax + 0x20]
mov r9d, eax
mov eax, dword [rbp + 0x264]
shl rax, 2
add rax, r9
add rax, r8
mov eax, dword [rax]
mov eax, eax
add rax, rcx
mov qword [rbp + 0x258], rax
mov dword [rbp + 0x254], edx
mov eax, dword [rbp + 0x254]
mov dword [rbp + 0x250], eax
mov rax, qword [rbp + 0x258]
lea rdx, [rax + 1]
mov qword [rbp + 0x258], rdx
movzx eax, byte [rax]
mov byte [rbp + 0x24f], al
cmp byte [rbp + 0x24f], 0
jne 0x14000180b
mov eax, dword [rbp + 0x250]
movabs rsi, 0x89932da19495d9b5
mov qword [rbp + 0x238], rsi
mov rdx, qword [rbp + 0x238]
jmp 0x14000183f
movsx eax, byte [rbp + 0x24f]
mov edx, dword [rbp + 0x250]
mov dword [rbp + 0x248], edx
mov byte [rbp + 0x247], al
movsx eax, byte [rbp + 0x247]
xor eax, dword [rbp + 0x248]
imul eax, eax, 0x1000193
mov dword [rbp + 0x250], eax
jmp 0x1400017c7
cmp eax, edx
sete al
test al, al
je 0x1400018be
mov eax, dword [rbp + 0x274]
mov dword [rbp + 0x234], eax
mov rdx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
mov eax, dword [rax + 0x1c]
mov eax, eax
add rax, rdx
mov qword [rbp + 0x228], rax
mov rdx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
mov eax, dword [rax + 0x24]
mov eax, eax
add rax, rdx
mov qword [rbp + 0x220], rax
mov rdx, qword [rbp - 0x50]
mov eax, dword [rbp + 0x234]
lea rcx, [rax + rax]
mov rax, qword [rbp + 0x220]
add rax, rcx
movzx eax, word [rax]
movzx eax, ax
lea rcx, [rax*4]
mov rax, qword [rbp + 0x228]
add rax, rcx
mov eax, dword [rax]
mov eax, eax
add rax, rdx
mov rbx, rax
jmp 0x140001905
mov eax, dword [rbp + 0x274]
lea edx, [rax - 1]
mov dword [rbp + 0x274], edx
test eax, eax
setne al
test al, al
jne 0x14000175b
mov rax, qword [rbp - 0x30]
mov qword [rbp + 0x218], rax
mov rax, qword [rbp + 0x218]
mov rax, qword [rax]
mov qword [rbp - 0x30], rax
mov eax, 1
test al, al
jne 0x1400016cf
mov ebx, 0
lea rax, [rbp + 0x1f8]
mov rcx, rax
call fcn.1400e1d90
mov eax, dword [rax]
mov r12d, eax
lea rax, [rbp + 0x1fc]
mov rcx, rax
call fcn.1400e1d90
mov eax, dword [rax]
mov edi, eax
lea rax, [rbp - 8]
mov rcx, rax
call fcn.1400e1d80
mov rax, qword [rax]
mov rsi, rax
lea rax, [rbp + 0x200]
mov rcx, rax
call fcn.1400e1d60
mov r9d, r12d
mov r8d, edi
mov rdx, rsi
mov ecx, 0
call rbx
nop
mov qword [rbp + 0x298], rax
mov rax, qword [rbp - 8]
mov rbx, rax
lea rax, [rbp - 0x20]
mov rcx, rax
call fcn.1400c2fb0
mov rdx, rax
mov rax, qword [rbp + 0x298]
mov r8, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0x208], 0
mov rax, qword [rbp + 0x298]
mov qword [rbp + 0x210], rax
lea rcx, [rbp + 0x208]
lea rdx, [rbp + 0x210]
lea rax, [rbp - 0x28]
mov r8, rcx
mov rcx, rax
call fcn.1400c2db0
lea rax, [rbp - 0x28]
mov rcx, rax
call fcn.1400c2c80
lea rax, [rbp - 0x28]
mov rcx, rax
call fcn.1400c2e90
jmp 0x140001a08
lea rax, str.Failed_to_read_1.bin
mov rdx, rax
mov rax, qword [0x1400f07d0]
mov rcx, rax
call fcn.1400e3f30
mov rcx, rax
mov rax, qword [0x1400f07e0]
mov rdx, rax
call fcn.140085a80
mov rax, rbp
mov rcx, rax
call fcn.1400ae760
mov ebx, 0
lea rax, [rbp - 0x20]
mov rcx, rax
call fcn.1400c3060
mov rax, rbp
mov rcx, rax
call fcn.1400afdd0
mov eax, ebx
jmp 0x140001a82
add rsp, 0x320
pop rbx
pop rsi
pop rdi
pop r12
pop rbp
ret