Function at 0x140038cb0
Capabilities:
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov rax, qword [r8]
mov rbp, qword [rcx]
mov r12, qword [rdx]
mov r13, qword [rdx + 8]
mov qword [rsp + 0x20], rax
mov rax, qword [r8 + 8]
mov rsi, rcx
mov qword [rsp + 0x30], rax
test rbp, rbp
je 0x140038e20
lea rax, [rsp + 0x50]
mov r14, qword [rsi + 8]
mov qword [rsp + 0x50], r12
mov rcx, rax
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x38], rax
call sym.hash__pureZhashes_u283
mov rcx, qword [0x14012c5f0]
mov rdi, rax
call dbg.__emutls_get_address
cmp byte [rax], 0
mov r15, rax
jne 0x140038e0c
test rdi, rdi
mov eax, 0x12b9b0a1
cmove rdi, rax
test rbp, rbp
je 0x140038e71
lea r10, [rbp - 1]
mov rbx, r10
and rbx, rdi
cmp rbx, rbp
jge 0x140038da4
test rbx, rbx
js 0x140038da4
lea rax, [rbx + rbx*4]
lea rdx, [r14 + rax*8]
mov rax, qword [rdx + 8]
test rax, rax
je 0x140038e73
cmp rax, rdi
jne 0x140038d98
cmp qword [rdx + 0x10], r12
jne 0x140038d98
mov qword [rsp + 0x40], r10
test r12, r12
je 0x140038db7
mov rcx, qword [rdx + 0x18]
lea rax, [r13 + 8]
mov r8, r12
mov rdx, rax
add rcx, 8
call sym.memcmp
mov r10, qword [rsp + 0x40]
test eax, eax
je 0x140038db7
nop dword [rax]
add rbx, 1
and rbx, r10
cmp rbx, rbp
jl 0x140038d4b
mov rdx, r10
mov rcx, rbx
call sym.raiseIndexError2
cmp byte [r15], 0
jne 0x140038e0c
xor ebx, ebx
mov rdx, qword [rsi]
cmp rdx, rbx
jg 0x140038de0
sub rdx, 1
mov rcx, rbx
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.raiseIndexError2
mov rax, qword [rsp + 0x20]
lea rdx, [rbx + rbx*4]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x58], rax
mov rax, qword [rsi + 8]
lea rcx, [rax + rdx*8 + 0x20]
mov rdx, qword [rsp + 0x38]
call sym.eqsink___stdZassertions_u36
nop
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 0x34
call sym.nextPowerOfTwo__pureZmath_u222
mov rcx, qword [0x14012c5f0]
mov rbx, rax
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140038e0c
mov qword [rsi + 0x10], 0
xor edx, edx
mov rcx, rbx
movabs r8, 0x7fffffffffffffff
test rbx, rbx
js 0x14003908f
mov rdx, rbx
mov rcx, rsi
call sym.newSeq__OOZlibZargs_u32
mov rbp, qword [rsi]
jmp 0x140038ce7
xor ebx, ebx
mov rbp, qword [rsi]
test rbp, rbp
jne 0x140038eaa
mov ecx, 0x34
call sym.nextPowerOfTwo__pureZmath_u222
cmp byte [r15], 0
jne 0x140038e0c
mov qword [rsi + 0x10], 0
test rax, rax
js 0x140039080
mov rdx, rax
mov rcx, rsi
call sym.newSeq__OOZlibZargs_u32
mov rbp, qword [rsi]
mov rax, qword [rsi + 0x10]
cmp rax, rbp
jl 0x140038ede
movdqa xmm0, xmmword [0x140114710]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
movaps xmmword [rsp + 0x50], xmm0
call sym.failedAssertImpl__stdZassertions_u310
cmp byte [r15], 0
mov rax, qword [rsp + 0x40]
jne 0x140038e0c
imul rcx, rbp, 2
jo 0x140038fec
imul rdx, rax, 3
jo 0x140038fec
cmp rcx, rdx
jl 0x1400390e8
sub rbp, rax
jo 0x140038fec
cmp byte [r15], 0
jne 0x140038e0c
cmp rbp, 3
jg 0x140038ffb
mov rcx, rsi
call sym.enlarge__OOZlibZargs_u907
cmp byte [r15], 0
jne 0x140038e0c
mov rbp, qword [rsi]
mov r11, qword [rsi + 8]
test rbp, rbp
je 0x140039110
lea r10, [rbp - 1]
mov rbx, r10
and rbx, rdi
js 0x1400390b9
cmp rbp, rbx
jle 0x1400390b9
lea rax, [rbx + rbx*4]
lea rdx, [r11 + rax*8]
mov rax, qword [rdx + 8]
test rax, rax
je 0x1400390f7
cmp rax, rdi
jne 0x140038fe0
cmp qword [rdx + 0x10], r12
jne 0x140038fe0
mov qword [rsp + 0x40], r11
test r12, r12
je 0x140038fb0
mov rcx, qword [rdx + 0x18]
lea rax, [r13 + 8]
mov r8, r12
mov qword [rsp + 0x48], r10
mov rdx, rax
add rcx, 8
call sym.memcmp
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
test eax, eax
jne 0x140038fe0
nop word [rax + rax]
not rbx
mov rdx, r10
mov rcx, rbx
call sym.raiseIndexError2
cmp byte [r15], 0
jne 0x140038e0c
mov rax, qword [rsi + 0x10]
add rax, 1
jo 0x14003911e
mov qword [rsi + 0x10], rax
jmp 0x140038e0c
add rbx, 1
and rbx, r10
jmp 0x140038f4a
call sym.raiseOverflow
cmp byte [r15], 0
jne 0x140038e0c
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
mov rbp, qword [rsi]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdx
lea r10, [rbp - 1]
cmp rbp, rbx
jle 0x140038fb3
lea rax, [rbx + rbx*4]
mov qword [rsp + 0x50], r12
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x58], r13
lea rbp, [rax*8]
mov rax, qword [rsi + 8]
lea rcx, [rax + rbp + 0x10]
call sym.eqcopy___stdZassertions_u30
mov rax, qword [rsi]
cmp rax, rbx
jle 0x1400390a8
movdqa xmm1, xmmword [rsp + 0x20]
mov rdx, qword [rsp + 0x38]
movaps xmmword [rsp + 0x50], xmm1
mov rax, qword [rsi + 8]
lea rcx, [rax + rbp + 0x20]
call sym.eqsink___stdZassertions_u36
mov rax, qword [rsi]
cmp rax, rbx
jle 0x1400390a8
add rbp, qword [rsi + 8]
mov qword [rbp + 8], rdi
jmp 0x140038fbe
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rax
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.raiseRangeErrorI
lea rdx, [rax - 1]
mov rcx, rbx
call sym.raiseIndexError2
jmp 0x140038fbe
mov rdx, r10
mov rcx, rbx
call sym.raiseIndexError2
cmp byte [r15], 0
jne 0x140038e0c
mov rbp, qword [rsi]
mov rbx, 0xffffffffffffffff
lea r10, [rbp - 1]
jmp 0x140038fb3
cmp byte [r15], 0
je 0x140038f18
jmp 0x140038e0c
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdx
jmp 0x140039012
xor ebx, ebx
mov r10, 0xffffffffffffffff
jmp 0x140038fb3
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.raiseOverflow