Function at 0x1400bd5c0
Capabilities:
Terminate process

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x50
pxor xmm0, xmm0
movdqu xmm1, xmmword [rcx]
mov rbp, qword [rcx + 0x10]
movzx eax, byte [rdx]
movzx edi, byte [rcx]
mov rsi, qword [rcx + 8]
mov qword [rsp + 0x40], rbp
mov rbx, rcx
movups xmmword [rcx + 1], xmm0
mov byte [rcx], al
mov qword [rcx + 0x10], 0
movaps xmmword [rsp + 0x30], xmm1
cmp al, 0x1b
ja case.0x1400bd611.15
lea rcx, [0x14012603c]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov r12, qword [rdx + 8]
test r12, r12
je 0x1400bd660
mov rax, qword [r12 - 0x10]
add rax, 0x10
jo 0x1400bd881
mov qword [r12 - 0x10], rax
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400bd660
mov rax, qword [rcx - 0x10]
lea rdx, [rcx - 0x10]
mov r9, rax
shr r9, 4
je 0x1400bd850
sub rax, 0x10
jo 0x1400bd877
mov qword [rdx], rax
mov qword [rbx + 8], r12
cmp dil, 0x1b
ja 0x1400bd696
cmp dil, 0xb
jbe 0x1400bd6c0
mov eax, 1
mov ecx, edi
shl rax, cl
test eax, 0xe041000
jne 0x1400bd6ac
test eax, 0x82000
jne 0x1400bd7d0
cmp dil, 0xe
je 0x1400bd790
movdqu xmm2, xmmword [rsp + 0x38]
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm2
call sym.eqdestroy___pureZpegs_u183
nop
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
cmp dil, 8
jbe 0x1400bd6ac
test rbp, rbp
je 0x1400bd6ac
test byte [rbp + 7], 0x40
jne 0x1400bd6ac
mov rcx, rbp
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.deallocShared
movdqu xmm4, xmmword [rdx + 8]
lea rcx, [rbx + 8]
lea rdx, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm4
call sym.eqcopy___pureZpegs_u186
mov rcx, qword [0x14012c5f0]
call dbg.__emutls_get_address
cmp byte [rax], 0
je case.0x1400bd611.0
jmp 0x1400bd6ac
movdqu xmm3, xmmword [rdx + 8]
lea rcx, [rbx + 8]
lea rdx, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm3
call sym.eqcopy___stdZassertions_u30
jmp case.0x1400bd611.0
mov rax, qword [rdx + 8]
mov qword [rbx + 8], rax
jmp case.0x1400bd611.0
movzx eax, byte [rdx + 8]
mov byte [rbx + 8], al
jmp case.0x1400bd611.0
mov r12, qword [rdx + 8]
test r12, r12
je 0x1400bd660
mov rax, qword [r12 - 0x10]
add rax, 0x10
jo 0x1400bd877
mov qword [r12 - 0x10], rax
jmp 0x1400bd660
test rsi, rsi
je 0x1400bd6ac
mov rax, qword [rsi - 0x10]
lea rdx, [rsi - 0x10]
cmp rax, 0xf
jbe 0x1400bd7f8
sub rax, 0x10
jo 0x1400bd868
lea r8, sym.rttiDestroy__pureZpegs_u5262
xor ecx, ecx
mov qword [rsi - 0x10], rax
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.rememberCycle__system_u3375
test rsi, rsi
je 0x1400bd6ac
mov rax, qword [rsi - 0x10]
mov rdi, rax
shr rdi, 4
je 0x1400bd840
sub rax, 0x10
jo 0x1400bd868
mov qword [rsi - 0x10], rax
jmp 0x1400bd6ac
lea r8, sym.rttiDestroy__pureZpegs_u5262
mov ecx, 1
call sym.rememberCycle__system_u3375
mov rcx, rsi
call sym.eqdestroy___pureZpegs_u152
mov rcx, qword [0x14012c5f0]
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x1400bd6ac
mov edx, 8
mov rcx, rsi
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.nimRawDispose
mov rcx, rsi
call sym.eqdestroy___pureZstrutils_u1978
mov edx, 1
jmp 0x1400bd82b
call sym.eqdestroy___pureZstrutils_u1978
mov rcx, qword [rbx + 8]
mov edx, 1
call sym.nimRawDispose
jmp 0x1400bd660
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sym.raiseOverflow
call sym.raiseOverflow
jmp 0x1400bd660
call sym.raiseOverflow
mov rcx, qword [rbx + 8]
jmp 0x1400bd639