Function at 0x140107788
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x30
mov rbx, r8
movsx r14d, dl
mov rdi, rcx
movzx eax, r14b
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs rcx, 0x100000001b3
imul rax, rcx
mov rdx, qword [rdi + 0xc8]
and rdx, rax
add rdx, rdx
mov r8, qword [rdi + 0xb0]
mov rax, qword [r8 + rdx*8 + 8]
mov rcx, qword [rdi + 0xa0]
xor r15d, r15d
cmp rax, rcx
je 0x140107803
mov r8, qword [r8 + rdx*8]
jmp 0x1401077fb
cmp rax, r8
je 0x140107803
mov rax, qword [rax + 8]
cmp r14b, byte [rax + 0x10]
jne 0x1401077f2
jmp 0x140107806
mov rax, r15
test rax, rax
cmovne rcx, rax
cmp rcx, qword [rdi + 0xa0]
je 0x1401078b6
mov rcx, qword [rcx + 0x18]
mov rax, qword [rcx]
lea rdx, [rbp + 0x30]
mov rax, qword [rax + 0x10]
call qword [case.0x1401ad3ca.0]
nop
movups xmm0, xmmword [rbx]
mov rax, qword [rbp + 0x30]
movdqu xmmword [rax + 8], xmm0
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x48], rax
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x140107868
mov rcx, r15
mov qword [rdx], rax
add qword [rdi + 0x88], 8
jmp 0x14010787c
lea r8, [rbp + 0x48]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x140107893
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140108d29
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
jmp 0x140108d29
mov ecx, r14d
cmp r14d, 0x59
jg 0x140108215
je 0x1401081b4
cmp ecx, 0x46
jg 0x140107de5
je 0x140107d7e
cmp ecx, 0x40
jg 0x140107bad
je 0x140107b46
sub ecx, 0x21
je 0x140107adf
sub ecx, 2
je 0x140107a7b
sub ecx, 1
je 0x140107a02
sub ecx, 1
je 0x14010798c
cmp ecx, 6
jne 0x14010898e
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010c140
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x140107949
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x140107959
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140107970
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x140108c44
mov edx, 1
call fcn.140111490
jmp 0x140108c44
mov byte [rbp + 0x30], 0x25
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x48]
call fcn.14010c05c
nop
mov rcx, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], rcx
mov rax, qword [rdi + 0x88]
cmp rax, qword [rdi + 0x90]
je 0x1401079ce
lea rdx, [rbp + 0x30]
mov rcx, rax
call fcn.140105504
add qword [rdi + 0x88], 8
jmp 0x1401079e2
lea r8, [rbp + 0x30]
mov rdx, rax
lea rcx, [rdi + 0x80]
call fcn.140106154
nop
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x1401079fd
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108d16
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010c0f8
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x140107a39
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x140107a4d
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140107a64
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x140108d29
mov edx, 0x18
jmp 0x140108d24
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010bc2c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x140107ab2
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x140107ac6
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140107add
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140107a64
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010bb9c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x140107b16
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x140107b2a
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140107b41
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140107a64
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010bcbc
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x140107b7d
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x140107b91
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140107ba8
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140107a64
sub ecx, 0x41
je 0x140107cff
sub ecx, 1
je 0x140107c9e
sub ecx, 1
je 0x140107c3d
sub ecx, 1
je 0x140108bd5
cmp ecx, 1
jne 0x14010898e
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010aafc
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x140107c0d
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x140107c21
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140107c38
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140107a64
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010a9dc
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x140107c72
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x140107c82
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140107c99
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108c31
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010a94c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x140107cd3
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x140107ce3
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140107cfa
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108c31
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010a8bc
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x140107d34
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x140107d44
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140107d5b
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x140108c44
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
jmp 0x140108c44
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010ab8c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x140107db5
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x140107dc9
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140107de0
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140107a64
cmp ecx, 0x50
jg 0x140108075
je 0x14010800e
sub ecx, 0x48
je 0x140107fad
sub ecx, 1
je 0x140107f4c
sub ecx, 3
je 0x140107ee5
sub ecx, 1
je 0x140107e84
cmp ecx, 2
jne 0x14010898e
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010b2dc
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x140107e54
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x140107e68
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140107e7f
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108d16
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010ad3c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x140107eb9
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x140107ec9
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140107ee0
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108c31
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010ba7c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x140107f1c
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x140107f30
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140107f47
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140107a64
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010acac
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x140107f81
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x140107f91
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140107fa8
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108c31
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010ac1c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x140107fe2
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x140107ff2
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140108009
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108c31
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010b8cc
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x140108045
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x140108059
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140108070
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140107a64
sub ecx, 0x52
je 0x140108153
sub ecx, 1
je 0x1401080f2
sub ecx, 1
je 0x140108091
cmp ecx, 4
jne 0x14010898e
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010aeec
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x1401080c6
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x1401080d6
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x1401080ed
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108c31
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010ae5c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x140108127
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x140108137
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x14010814e
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108c31
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010adcc
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x140108188
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x140108198
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x1401081af
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108c31
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010af7c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x1401081e9
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x1401081f9
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140108210
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108c31
cmp ecx, 0x6d
jg 0x1401086d4
je 0x140108673
cmp ecx, 0x65
jg 0x14010844d
je 0x1401083e6
sub ecx, 0x5e
je 0x14010837f
sub ecx, 3
je 0x14010831e
sub ecx, 1
je 0x140108544
sub ecx, 1
je 0x1401082bd
cmp ecx, 1
jne 0x14010898e
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010b1bc
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x140108291
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x1401082a1
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x1401082b8
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108c31
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010b12c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x1401082f2
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x140108302
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140108319
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108c31
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010b00c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x140108353
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x140108363
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x14010837a
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108c31
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010c0b0
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x1401083b6
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x1401083ca
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x1401083e1
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140107a64
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010b24c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x14010841d
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x140108431
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140108448
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140107a64
sub ecx, 0x66
je 0x14010860c
sub ecx, 1
je 0x1401085a5
sub ecx, 1
je 0x140108544
sub ecx, 1
je 0x1401084dd
cmp ecx, 3
jne 0x14010898e
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010b68c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x1401084ad
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x1401084c1
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x1401084d8
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140107a64
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010b408
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x140108514
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x140108528
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x14010853f
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108d16
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010b09c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x140108579
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x140108589
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x1401085a0
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108c31
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010bb0c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x1401085dc
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x1401085f0
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140108607
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140107a64
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010b5fc
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x140108643
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x140108657
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x14010866e
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140107a64
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010b71c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x1401086a8
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x1401086b8
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x1401086cf
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108c31
cmp ecx, 0x74
jg 0x14010896a
je 0x140108903
sub ecx, 0x6e
je 0x14010889c
sub ecx, 1
je 0x140108835
sub ecx, 1
je 0x1401087d4
sub ecx, 2
je 0x140108773
cmp ecx, 1
jne 0x14010898e
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010b9ec
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x140108743
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x140108757
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x14010876e
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140107a64
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010b95c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x1401087a8
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x1401087b8
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x1401087cf
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108c31
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010b83c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x140108809
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x140108819
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140108830
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108c31
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010b3a4
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x14010886c
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x140108880
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140108897
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108d16
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010b7ac
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x1401088d3
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x1401088e7
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x1401088fe
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140107a64
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010bd4c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x14010893a
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x14010894e
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140108965
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140107a64
sub ecx, 0x75
je 0x140108cb4
sub ecx, 1
je 0x140108c4d
sub ecx, 2
je 0x140108bd5
cmp ecx, 2
je 0x140108b69
lea rcx, [rbp + 0x30]
call fcn.14010bff8
nop
cmp byte [rbx + 0xc], r15b
jne 0x140108a5f
mov rsi, qword [rbp + 0x30]
lea rbx, [rsi + 0x18]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x1401089d1
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1401089c9
mov rax, qword [rbx]
mov word [rax + rcx], 0x25
jmp 0x1401089e4
mov r9b, 0x25
mov r8b, r15b
mov edx, 1
mov rcx, rbx
call fcn.1400c5664
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x140108a0b
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
cmp qword [rbx + 0x18], 0xf
jbe 0x140108a00
mov rbx, qword [rbx]
mov byte [rbx + rcx], r14b
mov byte [rbx + rcx + 1], r15b
jmp 0x140108a1e
mov r9b, r14b
mov r8b, r15b
mov edx, 1
mov rcx, rbx
call fcn.1400c5664
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x48], rsi
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x140108a46
mov rcx, r15
mov qword [rdx], rsi
add qword [rdi + 0x88], 8
jmp 0x140108a5a
lea r8, [rbp + 0x48]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x48]
jmp 0x140108b4d
mov byte [rbx + 0xc], r15b
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp - 0x10]
call fcn.14010bb9c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x48], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x140108a98
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x140108aa8
lea r8, [rbp + 0x48]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x140108abf
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x140108ad2
mov edx, 0x18
call fcn.140172db0
mov rbx, qword [rbp + 0x30]
lea rcx, [rbx + 0x18]
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rcx + 0x18]
jae 0x140108b01
lea rax, [rdx + 1]
mov qword [rcx + 0x10], rax
cmp qword [rcx + 0x18], 0xf
jbe 0x140108af6
mov rcx, qword [rcx]
mov byte [rcx + rdx], r14b
mov byte [rcx + rdx + 1], r15b
jmp 0x140108b11
mov r9b, r14b
mov r8b, r15b
mov edx, 1
call fcn.1400c5664
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x48], rbx
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x140108b39
mov rcx, r15
mov qword [rdx], rbx
add qword [rdi + 0x88], 8
jmp 0x140108b4d
lea r8, [rbp + 0x48]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x140108b64
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140108d29
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010bf58
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x140108b9e
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x140108bae
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140108bc5
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x140108c44
mov edx, 0x28
jmp 0x140108c3f
lea rsi, [rdi + 0x80]
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010aa6c
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x140108c0a
mov rcx, r15
mov qword [rdx], r8
add qword [rsi + 8], 8
jmp 0x140108c1a
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140108c31
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x140108c44
mov edx, 0x18
call fcn.140172db0
mov byte [rdi + 0x4c], 1
jmp 0x140108d29
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010bec8
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x140108c84
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x140108c98
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140108caf
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
jmp 0x140107a64
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.14010b340
nop
mov r8, qword [rax]
mov qword [rax], r15
mov qword [rbp + 0x30], r8
mov rdx, qword [rdi + 0x88]
cmp rdx, qword [rdi + 0x90]
je 0x140108ceb
mov rcx, r15
mov qword [rdx], r8
add qword [rdi + 0x88], 8
jmp 0x140108cff
lea r8, [rbp + 0x30]
lea rcx, [rdi + 0x80]
call fcn.140106154
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140108d16
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1401ad3ca.0]
nop
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x140108d29
mov edx, 0x20
call fcn.140172db0
mov rbx, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret