Function at 0x14021f650
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1e8]
sub rsp, 0x2c0
mov qword [rbp + 0x30], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140735840]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
mov r15, rcx
mov qword [rbp - 0x58], rcx
xor r13d, r13d
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0x30], r13d
xor edi, edi
lea rcx, [rbp + 0x40]
call fcn.14021eda0
nop
lea rcx, [rbp - 0x40]
call fcn.14021eda0
nop
test r15, r15
je 0x1402200cf
lea rcx, [rbp + 0x40]
call fcn.1401c4fe0
mov rcx, r15
call fcn.140221670
mov r12, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1402200cf
lea rcx, [rbp - 0x40]
call fcn.1401c4fe0
mov rax, qword [0x140742e30]
test rax, rax
je 0x14021f715
nop dword [rax]
cmp qword [rax], r12
je 0x1402200b9
mov rax, qword [rax + 0x8a8]
test rax, rax
jne 0x14021f700
lea rdx, [0x14062d820]
mov rcx, r12
call fcn.140221650
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1402200b9
lea rcx, [0x14062d840]
call rax
mov rbx, rax
test rax, rax
je 0x1402200b9
mov dword [rsp + 0x30], 8
mov ecx, 0x40
call fcn.14036dda8
mov rdi, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1402200b9
mov r8d, dword [rsp + 0x30]
shl r8, 3
xor edx, edx
mov rcx, rax
call fcn.14036e970
lea r8, [rsp + 0x30]
mov rdx, rdi
mov ecx, dword [rsp + 0x30]
call rbx
test eax, eax
jne 0x1402200b9
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x30], eax
jbe 0x1402200b9
nop dword [rax]
nop word [rax + rax]
lea r14, [rdi + rax*8]
mov rcx, qword [r14]
test rcx, rcx
je 0x140220097
mov rax, qword [rcx]
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
xor r8d, r8d
mov edx, 0x920
call qword [rax + 8]
test eax, eax
jne 0x140220097
mov rcx, qword [rsp + 0x58]
call fcn.14036dda8
mov rdi, rax
test rax, rax
je 0x140220092
mov rcx, qword [r14]
mov r10, qword [rcx]
mov qword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rsp + 0x58]
mov edx, 0x920
call qword [r10 + 8]
test eax, eax
je 0x14021f82a
mov rcx, rdi
call fcn.14036dda0
jmp 0x140220092
mov dword [rbp + 0xd8], 0x4a
mov dword [rbp + 0xdc], 0x50
mov eax, dword [rbp + 0xdc]
xor eax, 0xb
mov byte [rbp + 0xe0], al
movsx ecx, byte [rbp + 0xe0]
xor ecx, 7
mov byte [rbp + 0xe1], cl
movsx ecx, byte [rbp + 0xe1]
xor ecx, 0xe
mov byte [rbp + 0xe2], cl
xor eax, eax
mov byte [rbp + 0xe3], al
movzx eax, byte [rbp + 0xe0]
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0xd8]
call fcn.140024d40
mov rdx, rdi
mov rcx, rax
call fcn.1401df320
mov ebx, eax
lea rcx, [rbp + 0xf0]
call fcn.14001c970
test ebx, ebx
je 0x14021f8b9
mov rcx, rdi
call fcn.14036dda0
jmp 0x140220092
mov rcx, qword [r14]
mov rax, qword [rcx]
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x170]
mov edx, 0x902
mov r8d, 0x40
call qword [rax + 8]
test eax, eax
je 0x14021f8ee
mov rcx, rdi
call fcn.14036dda0
jmp 0x140220092
mov dword [rbp + 0xa8], 0x3c
mov dword [rbp + 0xac], 0x75
mov eax, dword [rbp + 0xac]
xor eax, 0x7d
mov byte [rbp + 0xb0], al
movsx ecx, byte [rbp + 0xb0]
xor ecx, 0x71
mov byte [rbp + 0xb1], cl
movsx ecx, byte [rbp + 0xb1]
xor ecx, 0x78
mov byte [rbp + 0xb2], cl
movsx ecx, byte [rbp + 0xb2]
xor ecx, 0x1c
mov byte [rbp + 0xb3], cl
movsx ecx, byte [rbp + 0xb3]
xor ecx, 0x7d
mov byte [rbp + 0xb4], cl
movsx ecx, byte [rbp + 0xb4]
xor ecx, 0x5f
mov byte [rbp + 0xb5], cl
movsx ecx, byte [rbp + 0xb5]
xor ecx, 0x5f
mov byte [rbp + 0xb6], cl
movsx ecx, byte [rbp + 0xb6]
xor ecx, 0x59
mov byte [rbp + 0xb7], cl
movsx ecx, byte [rbp + 0xb7]
xor ecx, 0x50
mov byte [rbp + 0xb8], cl
movsx ecx, byte [rbp + 0xb8]
xor ecx, 0x59
mov byte [rbp + 0xb9], cl
movsx ecx, byte [rbp + 0xb9]
xor ecx, 0x4e
mov byte [rbp + 0xba], cl
movsx ecx, byte [rbp + 0xba]
xor ecx, 0x5d
mov byte [rbp + 0xbb], cl
movsx ecx, byte [rbp + 0xbb]
xor ecx, 0x48
mov byte [rbp + 0xbc], cl
movsx ecx, byte [rbp + 0xbc]
xor ecx, 0x59
mov byte [rbp + 0xbd], cl
movsx ecx, byte [rbp + 0xbd]
xor ecx, 0x58
mov byte [rbp + 0xbe], cl
movsx ecx, byte [rbp + 0xbe]
xor ecx, 0x1c
mov byte [rbp + 0xbf], cl
movsx ecx, byte [rbp + 0xbf]
xor ecx, 0x6c
mov byte [rbp + 0xc0], cl
movsx ecx, byte [rbp + 0xc0]
xor ecx, 0x5d
mov byte [rbp + 0xc1], cl
movsx ecx, byte [rbp + 0xc1]
xor ecx, 0x4e
mov byte [rbp + 0xc2], cl
movsx ecx, byte [rbp + 0xc2]
xor ecx, 0x5d
mov byte [rbp + 0xc3], cl
movsx ecx, byte [rbp + 0xc3]
xor ecx, 0x50
mov byte [rbp + 0xc4], cl
movsx ecx, byte [rbp + 0xc4]
xor ecx, 0x50
mov byte [rbp + 0xc5], cl
movsx ecx, byte [rbp + 0xc5]
xor ecx, 0x59
mov byte [rbp + 0xc6], cl
movsx ecx, byte [rbp + 0xc6]
xor ecx, 0x50
mov byte [rbp + 0xc7], cl
movsx ecx, byte [rbp + 0xc7]
xor ecx, 0x1c
mov byte [rbp + 0xc8], cl
movsx ecx, byte [rbp + 0xc8]
xor ecx, 0x6c
mov byte [rbp + 0xc9], cl
movsx ecx, byte [rbp + 0xc9]
xor ecx, 0x4e
mov byte [rbp + 0xca], cl
movsx ecx, byte [rbp + 0xca]
xor ecx, 0x53
mov byte [rbp + 0xcb], cl
movsx ecx, byte [rbp + 0xcb]
xor ecx, 0x5f
mov byte [rbp + 0xcc], cl
movsx ecx, byte [rbp + 0xcc]
xor ecx, 0x59
mov byte [rbp + 0xcd], cl
movsx ecx, byte [rbp + 0xcd]
xor ecx, 0x4f
mov byte [rbp + 0xce], cl
movsx ecx, byte [rbp + 0xce]
xor ecx, 0x4f
mov byte [rbp + 0xcf], cl
movsx ecx, byte [rbp + 0xcf]
xor ecx, 0x55
mov byte [rbp + 0xd0], cl
movsx ecx, byte [rbp + 0xd0]
xor ecx, 0x52
mov byte [rbp + 0xd1], cl
movsx ecx, byte [rbp + 0xd1]
xor ecx, 0x5b
mov byte [rbp + 0xd2], cl
xor eax, eax
mov byte [rbp + 0xd3], al
movzx eax, byte [rbp + 0xb0]
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0xa8]
call fcn.140221530
cmp qword [rax + 0x18], 0x10
jb 0x14021fb5d
mov rax, qword [rax]
mov r8d, 0x40
mov rdx, rax
lea rcx, [rbp + 0x170]
call fcn.14037a390
mov ebx, eax
lea rcx, [rbp + 0x110]
call fcn.14001c970
test ebx, ebx
je 0x14021fb91
mov rcx, rdi
call fcn.14036dda0
jmp 0x140220092
mov ecx, 0x8b0
call fcn.14034da58
mov rsi, rax
mov qword [rbp + 0x38], rax
test rax, rax
je 0x14021fc42
mov qword [rax], 0
xor eax, eax
mov qword [rsi + 0x8a8], rax
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], rax
lea rcx, [rsi + 0x20]
call fcn.14021eda0
or r13d, 1
xor eax, eax
mov qword [rsi + 0x60], rax
mov qword [rsi + 0x68], rax
lea rax, [rsi + 0x70]
mov qword [rax + 0x18], 0xf
mov qword [rax + 0x10], 0
cmp qword [rax + 0x18], 0x10
jb 0x14021fbfc
mov rax, qword [rax]
mov byte [rax], 0
lea rax, [rsi + 0x90]
mov qword [rax + 0x18], 0xf
mov qword [rax + 0x10], 0
cmp qword [rax + 0x18], 0x10
jb 0x14021fc20
mov rax, qword [rax]
mov byte [rax], 0
or r13d, 6
mov dword [rsp + 0x48], r13d
lea rcx, [rsi + 0xb0]
xor edx, edx
mov r8d, 0x7f8
call fcn.14036e970
jmp 0x14021fc44
xor esi, esi
test rsi, rsi
jne 0x14021fc56
mov rcx, rdi
call fcn.14036dda0
jmp 0x140220092
mov rcx, r15
call fcn.140221670
mov qword [rsi], rax
cmp byte [r15], 0
jne 0x14021fc6c
xor r8d, r8d
jmp 0x14021fc7a
or r8, 0xffffffffffffffff
inc r8
cmp byte [r15 + r8], 0
jne 0x14021fc70
lea rcx, [rsi + 0x70]
mov rdx, r15
call fcn.14001f040
cmp qword [rsi], 0
jne 0x14021fca1
mov rcx, rdi
call fcn.14036dda0
mov rcx, rsi
call fcn.14036dda0
jmp 0x140220092
mov rax, qword [rsp + 0x70]
mov qword [rsi + 0x10], rax
mov rax, qword [r14]
mov qword [rsi + 0x18], rax
mov qword [rsi + 8], rdi
mov rdi, qword [rbp - 0x38]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x14022005e
nop word [rax + rax]
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x80], rax
lea rdx, [rbx + 0x18]
mov qword [rbp + 0xa0], 0xf
mov qword [rbp + 0x98], 0
mov byte [rbp + 0x88], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rbp + 0x88]
call fcn.14001ef10
nop
mov rdx, qword [rbp + 0x48]
mov qword [rbp], rdx
movzx ecx, byte [rbp + 0x80]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs r8, 0x100000001b3
imul rcx, r8
movzx eax, byte [rbp + 0x81]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp + 0x82]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp + 0x83]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp + 0x84]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp + 0x85]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp + 0x86]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp + 0x87]
xor rcx, rax
imul rcx, r8
and rcx, qword [rbp + 0x70]
mov rax, rcx
add rax, rax
mov r9, qword [rbp + 0x58]
mov rax, qword [r9 + rax*8]
add rcx, rcx
lea r11, [rcx*8 + 8]
mov r10, qword [r9 + rcx*8]
mov r8, qword [rbp + 0x80]
cmp r10, rdx
jne 0x14021fdd3
mov qword [rsp + 0x78], rdx
mov rcx, rdx
jmp 0x14021fddf
mov rcx, qword [r11 + r9]
mov rcx, qword [rcx]
mov qword [rsp + 0x78], rcx
cmp rax, rcx
je 0x14021fdfc
cmp r8, qword [rax + 0x10]
je 0x14021fdef
mov rax, qword [rax]
jmp 0x14021fdc4
mov qword [rbp + 0x10], rax
cmp rax, rdx
jne 0x14022003d
cmp r8, r12
je 0x14021fe0b
cmp r8, qword [rsi]
je 0x14021fe0b
xor r15b, r15b
jmp 0x14021fe0e
mov r15b, 1
lea rcx, [rbp + 0x88]
call fcn.140221ab0
mov r12d, eax
test eax, eax
je 0x14021feca
test r15b, r15b
je 0x14021fe33
cmp eax, 1
jne 0x14021feca
lea r8, [rbp + 0x80]
lea rdx, [rbp - 0x80]
lea rcx, [rsi + 0x20]
call fcn.1401a74e0
mov rax, qword [rsi + 0x28]
mov qword [rbp + 0x18], rax
mov rdx, qword [rbp - 0x80]
cmp rdx, rax
jne 0x14021fe91
xor eax, eax
mov byte [rsp + 0x40], al
lea rax, [rbp + 0x80]
mov qword [rbp - 0x78], rax
lea rax, [rsp + 0x41]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x78]
lea r8, [0x14062d62a]
lea rdx, [rbp - 0x50]
lea rcx, [rsi + 0x20]
call fcn.14021eb80
mov rdx, qword [rbp - 0x50]
jmp 0x14021fe9e
mov byte [rsp + 0x42], 0
mov qword [rbp - 0x50], rdx
mov byte [rbp - 0x48], 0
lea rcx, [rdx + 0x18]
lea rax, [rbp + 0x88]
cmp rcx, rax
je 0x14022001b
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x88]
call fcn.14001ef10
jmp 0x14022001b
mov dword [rbp + 0xe8], 0x5f
mov eax, dword [rbp + 0xe8]
xor eax, 0x2a
add eax, 6
mov byte [rbp + 0xec], al
mov byte [rbp + 0xed], 0
movzx eax, byte [rbp + 0xec]
lea rdx, [rbp + 0x150]
lea rcx, [rbp + 0xe8]
call fcn.1400b75e0
nop
lea r8, [rbp + 0x88]
mov rdx, rax
lea rcx, [rbp + 0x130]
call fcn.140046080
mov qword [rbp - 0x60], rax
lea r8, [rbp + 0x80]
lea rdx, [rbp - 0x70]
lea rcx, [rsi + 0x20]
call fcn.1401a74e0
mov rcx, qword [rsi + 0x28]
mov qword [rbp + 0x20], rcx
mov rdx, qword [rbp - 0x70]
cmp rdx, rcx
jne 0x14021ffdd
xor eax, eax
mov byte [rsp + 0x43], al
lea rax, [rbp + 0x80]
mov qword [rbp - 0x68], rax
mov r13, qword [rcx]
lea rax, [rsp + 0x44]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
lea r9, [0x14062d62a]
mov r8, qword [r13 + 8]
mov rdx, r13
lea rcx, [rsi + 0x28]
call fcn.1401c4740
mov rdx, qword [rsi + 0x30]
movabs rcx, 0x492492492492491
sub rcx, rdx
cmp rcx, 1
jb 0x1402200ac
inc rdx
mov qword [rsi + 0x30], rdx
mov qword [r13 + 8], rax
mov rdx, qword [rax + 8]
mov qword [rdx], rax
mov r9, qword [rsi + 0x28]
mov r8, qword [r9]
mov qword [rbp + 0x28], r8
add r8, 0x10
mov r9, qword [r9]
lea rdx, [rsp + 0x60]
lea rcx, [rsi + 0x20]
call fcn.1401c47a0
mov rdx, qword [rsp + 0x60]
jmp 0x14021ffec
mov byte [rsp + 0x45], 0
mov qword [rsp + 0x60], rdx
mov byte [rsp + 0x68], 0
lea rcx, [rdx + 0x18]
mov rdx, qword [rbp - 0x60]
call fcn.14002e050
nop
lea rcx, [rbp + 0x130]
call fcn.14001c970
nop
lea rcx, [rbp + 0x150]
call fcn.14001c970
inc dword [rsi + 0x60]
call fcn.14021d850
test r15b, r15b
je 0x140220038
cmp r12d, 1
mov r12, qword [rsp + 0x50]
jne 0x14022003d
mov rax, qword [rbp + 0x80]
mov qword [rsi + 0x68], rax
jmp 0x14022003d
mov r12, qword [rsp + 0x50]
lea rcx, [rbp + 0x88]
call fcn.14001c970
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x14021fcd0
mov r15, qword [rbp - 0x58]
mov r13d, dword [rsp + 0x48]
cmp qword [rsi + 0x68], 0
jne 0x14022006a
call fcn.14021d850
lea rcx, [0x140742e30]
mov rax, qword [0x140742e30]
test rax, rax
je 0x14022008f
nop dword [rax]
lea rcx, [rax + 0x8a8]
mov rax, qword [rcx]
test rax, rax
jne 0x140220080
mov qword [rcx], rsi
mov rdi, qword [rsp + 0x38]
mov eax, dword [rsp + 0x4c]
inc eax
mov dword [rsp + 0x4c], eax
cmp eax, dword [rsp + 0x30]
jae 0x1402200b9
jmp 0x14021f7b0
lea rcx, str.list_T__too_long
call fcn.14032c428
nop
mov rcx, r12
call fcn.14025da00
test rdi, rdi
je 0x1402200cf
mov rcx, rdi
call fcn.14036dda0
nop
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x1402200fc
mov r8, qword [rbp - 0x18]
sub r8, rdx
sar r8, 3
lea rcx, [rbp - 0x28]
call fcn.140179ca0
mov qword [rbp - 0x28], 0
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x38]
call fcn.14021f450
mov edx, 1
lea r8d, [rdx + 0x37]
mov rcx, qword [rbp - 0x38]
call fcn.14001d770
nop
lea rcx, [rbp + 0x40]
call fcn.14021ee40
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.14034de80
lea r11, [rsp + 0x2c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret