Function at 0x140047e90
Capabilities:
Hash data using djb2

Disassembly:
push rbx
push r13
push r14
sub rsp, 0x1a0
mov rax, qword [0x1402376b8]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov r14, rcx
lea r8, [rsp + 0x20]
mov rcx, rdx
xor ebx, ebx
call fcn.14002bd70
mov r13, rax
test rax, rax
jne 0x140047ee6
mov r8d, dword [rsp + 0x20]
lea r9, [rsp + 0x7c]
lea rdx, [0x140217ac8]
xor ecx, ecx
call fcn.1400432a0
jmp 0x140048790
movaps xmmword [rsp + 0x170], xmm6
cmp dword [rax], ebx
jne 0x14004876c
mov qword [rsp + 0x198], rsi
lea rax, [0x140218be8]
mov esi, 0x1505
mov qword [rsp + 0x188], r12
mov r9d, esi
mov qword [rsp + 0x180], r15
mov ecx, 0x6d
nop dword [rax]
nop word [rax + rax]
imul r9, r9, 0x21
lea rax, [rax + 1]
add r9, rcx
movsx rcx, byte [rax]
test rcx, rcx
jne 0x140047f30
mov rcx, qword [r13 + 0x20]
lea r12, [0x140000000]
xor edx, edx
lea r8, [0x140218be8]
mov rax, r9
div qword [r12 + rcx*8 + 0x1c5670]
lea rcx, [r13 + 0x10]
shl rdx, 4
add rdx, qword [r13 + 0x18]
call fcn.14002a1c0
test rax, rax
je 0x140048754
mov qword [rsp + 0x1d0], rbp
mov rbp, qword [rax + 0x18]
test rbp, rbp
je 0x14004874c
cmp dword [rbp], 2
jne 0x14004874c
mov rbp, qword [rbp + 0x10]
test rbp, rbp
je 0x14004874c
lea rax, [0x1402172d4]
mov r9, rsi
mov ecx, 0x69
nop dword [rax + rax]
imul r9, r9, 0x21
lea rax, [rax + 1]
add r9, rcx
movsx rcx, byte [rax]
test rcx, rcx
jne 0x140047fc0
mov rcx, qword [r13 + 0x20]
lea r8, [0x1402172d4]
xor edx, edx
mov qword [rsp + 0x190], rdi
mov rax, r9
div qword [r12 + rcx*8 + 0x1c5670]
lea rcx, [r13 + 0x10]
shl rdx, 4
add rdx, qword [r13 + 0x18]
call fcn.14002a1c0
mov rdi, rbx
test rax, rax
je 0x140048011
mov rdi, qword [rax + 0x18]
lea rax, [0x140218bf0]
mov ecx, 0x70
nop dword [rax]
imul rsi, rsi, 0x21
lea rax, [rax + 1]
add rsi, rcx
movsx rcx, byte [rax]
test rcx, rcx
jne 0x140048020
mov rcx, qword [r13 + 0x20]
lea r8, [0x140218bf0]
xor edx, edx
mov rax, rsi
mov r9, rsi
div qword [r12 + rcx*8 + 0x1c5670]
lea rcx, [r13 + 0x10]
shl rdx, 4
add rdx, qword [r13 + 0x18]
call fcn.14002a1c0
mov rsi, rbx
test rax, rax
je 0x14004806c
mov rsi, qword [rax + 0x18]
lea rdx, [0x140218670]
mov rcx, rbp
call qword [0x14018c770]
test eax, eax
jne 0x140048092
mov rdx, rsi
mov rcx, r14
call fcn.1400462f0
mov ebx, eax
jmp 0x140048744
lea rdx, [0x140218bf8]
mov rcx, rbp
call qword [0x14018c770]
test eax, eax
jne 0x140048108
cmp dword [0x1432bf3a8], ebx
je 0x1400480bd
lea rdx, [0x140218c08]
lea ecx, [rax + 4]
call fcn.1400432a0
test rdi, rdi
je 0x140048744
mov eax, dword [rdi]
cmp eax, 7
je 0x140048744
cmp eax, 3
jne 0x1400480da
mov rbx, qword [rdi + 0x10]
mov r8d, ebx
lea rdx, [0x140218aa8]
lea rcx, [rsp + 0x120]
call fcn.140021430
lea rdx, [rsp + 0x120]
mov rcx, r14
call fcn.140044c50
mov ebx, eax
jmp 0x140048744
lea rdx, [0x140218c18]
mov rcx, rbp
call qword [0x14018c770]
test eax, eax
jne 0x1400481a4
test rsi, rsi
je 0x140048744
cmp dword [rsi], 1
jne 0x140048744
cmp qword [rsi + 0x18], rbx
jbe 0x140048744
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax]
test rcx, rcx
je 0x140048744
mov eax, dword [rcx]
cmp eax, 3
jne 0x14004815e
xorps xmm6, xmm6
cvtsi2sd xmm6, qword [rcx + 0x10]
jmp 0x14004816c
cmp eax, 4
jne 0x140048744
movsd xmm6, qword [rcx + 0x10]
xorps xmm0, xmm0
comisd xmm0, xmm6
jae 0x140048744
lea rcx, [0x1432bf348]
call fcn.140182070
lea rcx, [0x1432bf348]
movsd qword [r14 + 0x130], xmm6
call fcn.140182650
mov ebx, 1
jmp 0x140048744
lea rdx, [0x140218c30]
mov rcx, rbp
call qword [0x14018c770]
test eax, eax
jne 0x1400481d6
mov ebp, 1
mov rdx, rsi
mov rcx, r14
mov dword [r14 + 0x214], ebp
call fcn.140041210
mov ebx, eax
jmp 0x140048744
lea rdx, [0x140218c48]
mov rcx, rbp
call qword [0x14018c770]
test eax, eax
jne 0x1400481ff
xor r8d, r8d
mov rdx, rsi
mov rcx, r14
call fcn.1400455a0
mov ebx, eax
jmp 0x140048744
lea rdx, [0x140218c60]
mov rcx, rbp
call qword [0x14018c770]
test eax, eax
jne 0x14004834f
test rsi, rsi
je 0x14004827f
cmp dword [rsi], 1
jne 0x14004823e
cmp qword [rsi + 0x18], rbx
jbe 0x14004823e
mov rax, qword [rsi + 0x20]
mov rdi, qword [rax]
test rdi, rdi
je 0x14004823e
cmp dword [rdi], 2
jne 0x14004823e
mov rdi, qword [rdi + 0x10]
jmp 0x14004824b
test rsi, rsi
je 0x14004827f
cmp dword [rsi], 1
mov rdi, rbx
jne 0x14004827f
cmp qword [rsi + 0x18], 1
jbe 0x140048282
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x140048282
mov eax, dword [rcx]
cmp eax, 2
jne 0x140048274
mov rcx, qword [rcx + 0x10]
call qword [0x14018c480]
mov esi, eax
jmp 0x140048285
cmp eax, 3
jne 0x140048282
mov rsi, qword [rcx + 0x10]
jmp 0x140048285
mov rdi, rbx
mov rsi, rbx
test rdi, rdi
je 0x140048744
test esi, esi
je 0x140048744
mov rcx, qword [r14]
call qword [0x14018c510]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdi + rcx], bl
jne 0x1400482a6
add rcx, 0x20
call qword [0x14018c518]
mov r9d, esi
lea rdx, [0x140218a68]
mov rcx, rax
mov qword [r14], rax
mov r8, rdi
call fcn.140021430
mov r8, qword [r14]
lea rdx, [0x140218a80]
mov ecx, 2
call fcn.1400432a0
lea rcx, [0x1432aacb8]
call fcn.140182070
cmp qword [r14 + 8], rbx
je 0x140048328
movsxd rax, dword [r14 + 0x204]
imul rcx, rax, 0x748
inc dword [rcx + r12 + 0x32ab490]
mov rcx, qword [r14 + 8]
call qword [0x14018c830]
mov rax, qword [r14 + 0x128]
mov qword [r14 + 8], rbx
test rax, rax
je 0x140048328
mov byte [rax], bl
cmp qword [r14 + 0x160], rbx
je 0x140048339
mov rcx, r14
call fcn.1400454a0
lea rcx, [0x1432aacb8]
call fcn.140182650
mov ebx, 1
jmp 0x140048744
lea rdx, [0x140218c78]
mov rcx, rbp
call qword [0x14018c770]
test eax, eax
jne 0x14004838c
cmp dword [0x1432bf578], ebx
jne 0x14004837a
lea rdx, [0x140218c88]
lea ecx, [rax + 2]
call fcn.1400432a0
mov rdx, rdi
mov rcx, r14
call fcn.140046f30
mov ebx, eax
jmp 0x140048744
lea rdx, [0x140218ca8]
mov rcx, rbp
call qword [0x14018c770]
test eax, eax
jne 0x14004845a
test rdi, rdi
je 0x140048744
cmp dword [rdi], 7
je 0x140048744
call fcn.14002c1e0
mov rcx, qword [rdi + 8]
mov rbx, rax
cmp rcx, 0xffffffffffffffff
je 0x1400483cf
inc rcx
mov qword [rdi + 8], rcx
mov r8, rdi
lea rdx, [0x1402172d4]
mov rcx, rbx
call fcn.14002c350
mov rcx, rbx
call fcn.140047290
test eax, eax
jne 0x1400483fc
lea r8, [0x140218058]
lea edx, [rax + 1]
jmp 0x1400486f6
lea rcx, [0x140217ae4]
call fcn.14002c0f0
test eax, eax
je 0x140048427
lea r8, [0x140238570]
mov rcx, rbx
lea rdx, [0x140217ae4]
call fcn.14002c2c0
jmp 0x1400486fe
mov rax, qword [0x140238578]
cmp rax, 0xffffffffffffffff
je 0x1400486fe
sub rax, 1
mov qword [0x140238578], rax
jne 0x1400486fe
lea rcx, [0x140238570]
call fcn.14002c610
jmp 0x1400486fe
lea rdx, [0x140218cc0]
mov rcx, rbp
call qword [0x14018c770]
test eax, eax
jne 0x1400485ac
test rdi, rdi
je 0x140048744
cmp dword [rdi], 7
je 0x140048744
call fcn.14002c1e0
mov rcx, qword [rdi + 8]
mov rsi, rax
cmp rcx, 0xffffffffffffffff
je 0x14004849d
inc rcx
mov qword [rdi + 8], rcx
mov r8, rdi
lea rdx, [0x1402172d4]
mov rcx, rsi
call fcn.14002c350
lea rcx, [0x140218b98]
call fcn.14002c0f0
test eax, eax
je 0x1400484ce
lea rcx, [0x140218b98]
call fcn.14002c5a0
mov rbx, rax
lea rcx, [0x1402172b4]
call fcn.14002c0f0
test eax, eax
je 0x1400484f2
mov r8, rbx
lea rdx, [0x1402172b4]
mov rcx, rsi
call fcn.14002c2c0
jmp 0x140048513
test rbx, rbx
je 0x140048513
mov rax, qword [rbx + 8]
cmp rax, 0xffffffffffffffff
je 0x140048513
sub rax, 1
mov qword [rbx + 8], rax
jne 0x140048513
mov rcx, rbx
call fcn.14002c610
lea rcx, [0x140217ae4]
call fcn.14002c0f0
test eax, eax
je 0x14004853b
lea r8, [0x140238570]
mov rcx, rsi
lea rdx, [0x140217ae4]
call fcn.14002c2c0
jmp 0x140048561
mov rax, qword [0x140238578]
cmp rax, 0xffffffffffffffff
je 0x140048561
sub rax, 1
mov qword [0x140238578], rax
jne 0x140048561
lea rcx, [0x140238570]
call fcn.14002c610
xor edx, edx
mov rcx, rsi
call fcn.14002a020
mov rdx, rax
mov rcx, r14
mov rbx, rax
call fcn.140044c50
mov edi, eax
test rsi, rsi
je 0x14004859c
mov rcx, qword [rsi + 8]
cmp rcx, 0xffffffffffffffff
je 0x14004859c
sub rcx, 1
mov qword [rsi + 8], rcx
jne 0x14004859c
mov rcx, rsi
call fcn.14002c610
mov rcx, rbx
call qword [0x14018c510]
mov ebx, edi
jmp 0x140048744
lea rdx, [0x140218cd8]
mov rcx, rbp
call qword [0x14018c770]
test eax, eax
jne 0x1400485d5
mov r8, rsi
mov rdx, rdi
mov rcx, r14
call fcn.140047ce0
mov ebx, eax
jmp 0x140048744
cmp dword [r14 + 0x210], ebx
je 0x140048643
lea rdx, [0x140217b50]
mov rcx, rbp
call qword [0x14018c770]
test eax, eax
jne 0x140048643
lea rcx, [0x1432bf620]
call fcn.140182070
lea rdx, [0x1432bff50]
mov rcx, rsi
call fcn.14003bc60
test eax, eax
je 0x140048629
lea rdx, [0x1432ae9c0]
mov rcx, r14
call fcn.14003c110
mov ebp, 1
test eax, eax
jne 0x14004862b
mov ebp, ebx
call fcn.1400333b0
lea rcx, [0x1432bf620]
call fcn.140182650
mov ebx, ebp
jmp 0x140048744
cmp dword [0x1432bf3a8], ebx
je 0x14004865f
mov r8, rbp
lea rdx, [0x140218cf0]
mov ecx, 1
call fcn.1400432a0
test rdi, rdi
je 0x140048744
cmp dword [rdi], 7
je 0x140048744
call fcn.14002c1e0
mov rcx, qword [rdi + 8]
mov rbx, rax
cmp rcx, 0xffffffffffffffff
je 0x14004868a
inc rcx
mov qword [rdi + 8], rcx
mov r8, rdi
lea rdx, [0x1402172d4]
mov rcx, rbx
call fcn.14002c350
lea rcx, [0x1402172b4]
call fcn.14002c0f0
test eax, eax
je 0x1400486c4
lea r8, [0x140238550]
mov rcx, rbx
lea rdx, [0x1402172b4]
call fcn.14002c2c0
jmp 0x1400486ea
mov rax, qword [0x140238558]
cmp rax, 0xffffffffffffffff
je 0x1400486ea
sub rax, 1
mov qword [0x140238558], rax
jne 0x1400486ea
lea rcx, [0x140238550]
call fcn.14002c610
lea r8, [0x140218bd8]
mov edx, 0x26
mov rcx, rbx
call fcn.140047120
xor edx, edx
mov rcx, rbx
call fcn.14002a020
mov rdx, rax
mov rcx, r14
mov rdi, rax
call fcn.140044c50
mov esi, eax
test rbx, rbx
je 0x140048739
mov rcx, qword [rbx + 8]
cmp rcx, 0xffffffffffffffff
je 0x140048739
sub rcx, 1
mov qword [rbx + 8], rcx
jne 0x140048739
mov rcx, rbx
call fcn.14002c610
mov rcx, rdi
call qword [0x14018c510]
mov ebx, esi
mov rdi, qword [rsp + 0x190]
mov rbp, qword [rsp + 0x1d0]
mov rsi, qword [rsp + 0x198]
mov r12, qword [rsp + 0x188]
mov r15, qword [rsp + 0x180]
mov rax, qword [r13 + 8]
movaps xmm6, xmmword [rsp + 0x170]
cmp rax, 0xffffffffffffffff
je 0x140048790
sub rax, 1
mov qword [r13 + 8], rax
jne 0x140048790
mov rcx, r13
call fcn.14002c610
mov eax, ebx
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.140189f20
add rsp, 0x1a0
pop r14
pop r13
pop rbx
ret