Function at 0x140038a40
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 0x140038bb0
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 [0x140123df0]
mov rdi, rax
call dbg.__emutls_get_address
cmp byte [rax], 0
mov r15, rax
jne 0x140038b9c
test rdi, rdi
mov eax, 0x12b9b0a1
cmove rdi, rax
test rbp, rbp
je 0x140038c01
lea r10, [rbp - 1]
mov rbx, r10
and rbx, rdi
cmp rbx, rbp
jge 0x140038b34
test rbx, rbx
js 0x140038b34
lea rax, [rbx + rbx*4]
lea rdx, [r14 + rax*8]
mov rax, qword [rdx + 8]
test rax, rax
je 0x140038c03
cmp rax, rdi
jne 0x140038b28
cmp qword [rdx + 0x10], r12
jne 0x140038b28
mov qword [rsp + 0x40], r10
test r12, r12
je 0x140038b47
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 0x140038b47
nop dword [rax]
add rbx, 1
and rbx, r10
cmp rbx, rbp
jl 0x140038adb
mov rdx, r10
mov rcx, rbx
call sym.raiseIndexError2
cmp byte [r15], 0
jne 0x140038b9c
xor ebx, ebx
mov rdx, qword [rsi]
cmp rdx, rbx
jg 0x140038b70
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 [0x140123df0]
mov rbx, rax
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140038b9c
mov qword [rsi + 0x10], 0
xor edx, edx
mov rcx, rbx
movabs r8, 0x7fffffffffffffff
test rbx, rbx
js 0x140038e1f
mov rdx, rbx
mov rcx, rsi
call sym.newSeq__OOZlibZargs_u32
mov rbp, qword [rsi]
jmp 0x140038a77
xor ebx, ebx
mov rbp, qword [rsi]
test rbp, rbp
jne 0x140038c3a
mov ecx, 0x34
call sym.nextPowerOfTwo__pureZmath_u222
cmp byte [r15], 0
jne 0x140038b9c
mov qword [rsi + 0x10], 0
test rax, rax
js 0x140038e10
mov rdx, rax
mov rcx, rsi
call sym.newSeq__OOZlibZargs_u32
mov rbp, qword [rsi]
mov rax, qword [rsi + 0x10]
cmp rax, rbp
jl 0x140038c6e
movdqa xmm0, xmmword [0x14010c6d0]
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 0x140038b9c
imul rcx, rbp, 2
jo 0x140038d7c
imul rdx, rax, 3
jo 0x140038d7c
cmp rcx, rdx
jl 0x140038e78
sub rbp, rax
jo 0x140038d7c
cmp byte [r15], 0
jne 0x140038b9c
cmp rbp, 3
jg 0x140038d8b
mov rcx, rsi
call sym.enlarge__OOZlibZargs_u907
cmp byte [r15], 0
jne 0x140038b9c
mov rbp, qword [rsi]
mov r11, qword [rsi + 8]
test rbp, rbp
je 0x140038ea0
lea r10, [rbp - 1]
mov rbx, r10
and rbx, rdi
js 0x140038e49
cmp rbp, rbx
jle 0x140038e49
lea rax, [rbx + rbx*4]
lea rdx, [r11 + rax*8]
mov rax, qword [rdx + 8]
test rax, rax
je 0x140038e87
cmp rax, rdi
jne 0x140038d70
cmp qword [rdx + 0x10], r12
jne 0x140038d70
mov qword [rsp + 0x40], r11
test r12, r12
je 0x140038d40
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 0x140038d70
nop word [rax + rax]
not rbx
mov rdx, r10
mov rcx, rbx
call sym.raiseIndexError2
cmp byte [r15], 0
jne 0x140038b9c
mov rax, qword [rsi + 0x10]
add rax, 1
jo 0x140038eae
mov qword [rsi + 0x10], rax
jmp 0x140038b9c
add rbx, 1
and rbx, r10
jmp 0x140038cda
call sym.raiseOverflow
cmp byte [r15], 0
jne 0x140038b9c
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 0x140038d43
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 0x140038e38
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 0x140038e38
add rbp, qword [rsi + 8]
mov qword [rbp + 8], rdi
jmp 0x140038d4e
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 0x140038d4e
mov rdx, r10
mov rcx, rbx
call sym.raiseIndexError2
cmp byte [r15], 0
jne 0x140038b9c
mov rbp, qword [rsi]
mov rbx, 0xffffffffffffffff
lea r10, [rbp - 1]
jmp 0x140038d43
cmp byte [r15], 0
je 0x140038ca8
jmp 0x140038b9c
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdx
jmp 0x140038da2
xor ebx, ebx
mov r10, 0xffffffffffffffff
jmp 0x140038d43
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.raiseOverflow