Function at 0x14036e060
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
movabs rax, 0x800000000000000
cmp rdx, rax
ja 0x14036e5cd
mov rbx, rdx
mov rsi, rcx
lea r14, [rcx + 0x18]
lea rax, [fcn.14036e060]
lea edi, [rax + rax]
add edi, 0x3c40
mov ebp, edi
not ebp
lea r15, [rsp + 0x48]
nop word cs:[rax + rax]
test ebp, edi
je 0x14036e199
mov dword [rsp + 0x20], 0x51eb53bd
mov r8, r15
mov r9d, 0xb0a9c4cb
call fcn.1400a8150
mov dword [rsp + 0x28], 0x40a8ac8d
mov dword [rsp + 0x20], 0x525f155e
lea r8, [rsp + 0x50]
mov r9, r15
call fcn.14037a580
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x48]
mov ecx, r13d
shl r12, cl
sub r13, r12
mov ecx, r13d
shl r12, cl
mov eax, dword [0x14051ddd8]
lea r9d, [rax - 0x26b50433]
mov ecx, eax
xor ecx, 0x1e4c44cf
and eax, 0x1e4c44cf
lea eax, [rcx + rax*2]
mov dword [rsp + 0x20], eax
mov rcx, r12
mov rdx, r13
mov r8, r15
call fcn.1400a7370
imul r13d, dword [rsp + 0x48]
mov ecx, r13d
shl r12, cl
mov r8, qword [rsi + 8]
mov rcx, r14
call fcn.14036d2c0
mov dword [rsp + 0x20], 0x746dbe3e
mov r8, r15
mov r9d, 0x5528b935
call fcn.14037a5e0
mov r13, qword [rsp + 0x48]
mov rcx, rsi
mov rdx, r15
mov r8d, 0xc2e0b93d
mov r9d, 0xcd0ba4c6
call fcn.14037a6e0
mov rax, qword [rsp + 0x48]
mov qword [rax], r13
mov qword [rsi + 0x38], r12
cmp dword [0x14051ddd8], 0xb6c81a40
jne 0x14036e0b0
dec rbx
or rbx, 1
bsr rcx, rbx
xor ecx, 0x3f
neg cl
mov edi, 1
shl rdi, cl
lea r15, [rsi + 8]
mov r12, qword [rsi + 8]
movabs rdx, 0xa2c38b5dbaf60cf3
add rdx, qword [0x14051dde0]
shl rdx, cl
mov rcx, r14
mov r8, r12
call fcn.14036d2c0
mov rax, qword [0x14051dde0]
add rax, rdi
movabs rcx, 0xa2c38b5dbaf60cf0
add rcx, rax
mov qword [rsi + 0x30], rcx
mov qword [rsi + 0x38], rdi
mov r9d, dword [0x14051ddd8]
lea r8d, [r9 + 0x46fe3386]
add r9d, 0xa957ca4c
lea r14, [rsp + 0x48]
mov rcx, r15
mov rdx, r14
call fcn.1400a8550
mov rax, qword [rsp + 0x48]
mov r15, qword [rax]
cmp r15, r12
je 0x14036e5bc
movabs rbp, 0xcbf29ce484222325
mov qword [rsp + 0x58], r12
jmp 0x14036e265
mov qword [rbx], r13
mov qword [rdi], r13
mov rcx, r15
mov rdx, r12
mov r8d, 0xa38dbb5e
mov r9d, 0x32503d5a
call fcn.1400fbbc0
test al, 1
jne 0x14036e5bc
mov r13, r15
mov r15, qword [r15]
movzx eax, byte [r13 + 0x10]
xor rax, rbp
movabs r10, 0x100000001b3
imul rax, r10
movzx ecx, byte [r13 + 0x11]
xor rcx, rax
imul rcx, r10
movzx eax, byte [r13 + 0x12]
xor rax, rcx
imul rax, r10
movzx ecx, byte [r13 + 0x13]
mov rdx, rcx
not rdx
and rdx, rax
not eax
and eax, ecx
or rdx, rax
imul rdx, r10
movzx eax, byte [r13 + 0x14]
xor rax, rdx
imul rax, r10
movzx ecx, byte [r13 + 0x15]
xor rcx, rax
mov rax, qword [0x14051dde0]
movabs rdx, 0xa2c38c5dbaf60ea4
add rax, rdx
imul rcx, rax
movzx edx, byte [r13 + 0x16]
mov r8, rdx
not r8
and r8, rcx
not ecx
and ecx, edx
or r8, rcx
imul r8, rax
movzx eax, byte [r13 + 0x17]
mov r9, rax
not r9
and r9, r8
not r8d
and r8d, eax
or r9, r8
imul r9, r10
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rsi + 0x30]
mov rax, r9
not rax
xor r9, rcx
not rcx
and rcx, rax
or rcx, r9
not rcx
mov qword [rsp + 0x28], r14
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x38], 0x3e7f4d5b
mov dword [rsp + 0x30], 0xec342b2c
mov r8, r12
lea r9, [rsp + 0x60]
call fcn.140379e00
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x50]
test al, 1
jne 0x14036e240
mov rbp, qword [rdi]
mov r12, qword [r13 + 0x10]
cmp r12, qword [rbp + 0x10]
jne 0x14036e3a0
mov ecx, 0x192b6c07
mov edx, 0x2052f757
call fcn.140125e70
test al, 1
lea rbx, [fcn.14036e060]
jne 0x14036e4e0
jmp 0x14036e5a0
mov rdi, qword [rsp + 0x48]
nop word cs:[rax + rax]
mov ecx, dword [0x140534ca0]
lea edx, [rcx - 1]
mov dword [rsp + 0x20], 0xa7831b01
mov r8, r14
mov r9d, 0xc069e7ef
call fcn.14037a0e0
mov ecx, dword [rsp + 0x48]
mov edx, 0xacb3b905
mov r8d, 0x9e91076
call fcn.1400a8350
test al, 1
je 0x14036e430
nop word [rax + rax]
cmp dword [0x14051ddd8], 0xb6c81a40
jne 0x14036e430
cmp rdi, rbp
je 0x14036e463
add rbp, 8
mov dword [rsp + 0x20], 0x959723bd
mov rcx, rbp
mov rdx, r12
mov r8, r14
mov r9d, 0xe9045e00
call fcn.140379d90
mov rbp, qword [rsp + 0x48]
test al, 1
je 0x14036e3b0
jmp 0x14036e4a8
mov ecx, dword [0x140534ca0]
mov edx, ecx
sub edx, dword [0x14051ddd8]
add edx, 0xb6c81a3f
mov dword [rsp + 0x20], 0x450cdfd7
mov r8, r14
mov r9d, 0x64489e9d
call fcn.1402fbff0
cmp dword [rsp + 0x48], 0
jne 0x14036e430
jmp 0x14036e3f0
lea r9, [r13 + 8]
mov rcx, qword [r13 + 8]
mov qword [rcx], r15
lea rdx, [r15 + 8]
mov rax, qword [r15 + 8]
mov qword [rax], rbp
mov r8, qword [rbp + 8]
mov qword [r8], r13
mov qword [rbp + 8], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x38], 0xe380e4e5
mov dword [rsp + 0x30], 0xb02ad2bc
call fcn.140379ec0
jmp 0x14036e581
mov rax, qword [rbp]
mov rcx, qword [r13 + 8]
mov qword [rcx], r15
mov rdx, qword [r15 + 8]
mov qword [rdx], rax
mov r8, qword [rax + 8]
mov qword [r8], r13
mov qword [rax + 8], rdx
mov qword [r15 + 8], rcx
mov qword [r13 + 8], r8
jmp 0x14036e581
lea eax, [rbx + rbx]
add eax, 0x38c0
mov ecx, eax
not ecx
test ecx, eax
jne 0x14036e5a0
mov rbx, qword [rbp]
cmp rbx, r13
je 0x14036e55d
mov qword [rsp + 0x20], r14
mov dword [rsp + 0x30], 0x38bbc57d
mov dword [rsp + 0x28], 0x5992526d
mov rcx, r13
mov rdx, r15
lea r8, [rsp + 0x60]
lea r9, [rsp + 0x50]
call fcn.140379e50
mov r12, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov rax, qword [rdx]
mov qword [rax], rbx
mov rbp, qword [rbx + 8]
mov qword [rbp], r13
mov qword [rbx + 8], rax
mov r8d, 0xb517f80b
mov r9d, 0xcea2decf
call fcn.1400aa890
mov qword [r12], rbp
mov eax, dword [0x140534ca4]
cmp eax, 0x41
jle 0x14036e57e
nop dword [rax + rax]
mov qword [rdi], r13
mov eax, dword [0x140534ca4]
cmp eax, 0x5a
jge 0x14036e570
mov qword [rdi], r13
mov r12, qword [rsp + 0x58]
movabs rbp, 0xcbf29ce484222325
jmp 0x14036e246
mov rcx, rbp
mov rdx, r13
mov r8d, 0x1b697c56
mov r9d, 0xdb883b65
call fcn.140089a60
jmp 0x14036e4e0
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsp + 0x48]
mov edx, 0xfcb568e1
mov r8d, 0xcbf89a66
call fcn.140379ee0
mov rcx, qword [rsp + 0x48]
call fcn.1403bd734
int3