Function at 0x14001ec10
Capabilities:
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
pxor xmm0, xmm0
mov rdi, qword [rcx]
mov r12, qword [rcx + 8]
mov rcx, rdx
movups xmmword [r9 + 1], xmm0
mov rbx, rdx
mov ebp, r8d
add rcx, 1
movups xmmword [r9 + 0x11], xmm0
mov rsi, r9
mov qword [r9 + 0x20], 0
mov rax, rcx
mov byte [r9], 0x20
mov byte [r9 + 2], 0x2d
jo 0x14001f0b8
cmp rdi, rcx
jle 0x14001f0d0
test rcx, rcx
js 0x14001f110
movzx edx, byte [rcx + r12 + 8]
sub edx, 0x3c
cmp dl, 0x22
ja 0x14001f2b1
movabs r8, 0x400000005
bt r8, rdx
jae 0x14001f2b1
test rbx, rbx
js 0x14001f098
cmp rbx, rdi
jge 0x14001f098
movzx edx, byte [rbx + r12 + 8]
mov byte [r9], dl
movzx eax, byte [rcx + r12 + 8]
mov byte [r9 + 1], al
mov rax, rbx
add rax, 2
jo 0x14001f0b8
cmp rax, rdi
jge 0x14001f080
test rax, rax
js 0x14001f130
movzx edx, byte [rax + r12 + 8]
cmp dl, 0x2d
ja 0x14001f188
movabs rcx, 0x280100000000
bt rcx, rdx
jae 0x14001f160
lea rbx, [rax + 1]
mov byte [rsi + 2], dl
cmp rbx, rdi
jge 0x14001f1b0
cmp byte [rbx + r12 + 8], 0x23
lea rcx, [rax + 2]
jne 0x14001f120
mov rbx, rcx
add rcx, 1
mov byte [rsi + 3], 1
jo 0x14001f0b8
cmp rcx, rdi
jge 0x14001ed78
test rbx, rbx
js 0x14001f098
cmp rdi, rbx
jle 0x14001f098
cmp byte [rbx + r12 + 8], 0x30
jne 0x14001ed78
test rcx, rcx
js 0x14001f110
cmp rdi, rcx
jle 0x14001f110
movzx eax, byte [rcx + r12 + 8]
sub eax, 0x30
cmp al, 9
ja 0x14001ed78
mov byte [rsi + 4], 1
mov rbx, rcx
nop dword [rax]
lea r14, [rsp + 0x50]
lea rdx, [rsi + 8]
mov r8, rbx
mov qword [rsp + 0x50], rdi
mov rcx, r14
mov qword [rsp + 0x58], r12
call sym.parseSaturatedNatural__pureZparseutils_u917
mov rcx, qword [0x14012c5f0]
mov r13, rax
call dbg.__emutls_get_address
cmp byte [rax], 0
mov r15, rax
jne 0x14001f06f
add r13, rbx
mov r8, r13
jo 0x14001f0b8
cmp r13, rdi
jge 0x14001f230
lea rdx, [rdi - 1]
mov rcx, r13
test r13, r13
js 0x14001f09f
cmp byte [r13 + r12 + 8], 0x2e
jne 0x14001f21f
add r13, 1
lea rdx, [rsi + 0x10]
mov rcx, r14
mov qword [rsp + 0x50], rdi
mov r8, r13
mov qword [rsp + 0x58], r12
call sym.parseSaturatedNatural__pureZparseutils_u917
cmp byte [r15], 0
jne 0x14001f06f
add rax, r13
jo 0x14001f0b8
mov r8, rax
cmp rdi, rax
jle 0x14001f20d
test rax, rax
js 0x14001f130
movzx edx, byte [r8 + r12 + 8]
mov eax, edx
and eax, 0xffffffdf
sub eax, 0x41
cmp al, 0x19
jbe 0x14001f206
mov qword [rsi + 0x20], r8
mov qword [rsp + 0x38], r8
test bpl, bpl
jne 0x14001f06f
mov edx, 8
mov ecx, 0x40
lea rbp, [0x140112880]
call sym.nimNewObj
mov r9, rdi
mov rbx, rax
mov rax, qword [0x14012c3d0]
add r9, 0xffffffffffffffff
mov qword [rbx + 0x10], rbp
mov qword [rbx], rax
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
jo 0x14001f23a
mov r8, qword [rsp + 0x38]
sub r9, r8
jo 0x14001f23a
mov rsi, r9
xor r13d, r13d
add rsi, 1
seto r13b
jo 0x14001f23a
test rsi, rsi
js 0x14001f275
mov rdx, rsi
mov rcx, r14
mov qword [rsp + 0x38], r8
call sym.mnewString
movdqu xmm1, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x60], xmm1
test rsi, rsi
je 0x14001ef71
lea rax, [rsp + 0x60]
mov r8, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
jmp 0x14001ef5b
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x14001ef24
test byte [rdx + 7], 0x40
je 0x14001ef24
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x38], r8
call sym.nimPrepareStrMutationImpl__system_u2390
mov r8, qword [rsp + 0x38]
mov rcx, r8
add rcx, r13
jo 0x14001f23a
test rcx, rcx
js 0x14001f28e
cmp rcx, rdi
jge 0x14001f28e
movzx ecx, byte [r12 + rcx + 8]
mov rdx, qword [rsp + 0x68]
mov byte [rdx + r13 + 8], cl
add r13, 1
cmp rsi, r13
jle 0x14001ef71
mov rdx, qword [rsp + 0x60]
cmp rdx, r13
jg 0x14001ef00
sub rdx, 1
mov rcx, r13
call sym.raiseIndexError2
cmp byte [r15], 0
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
jne 0x14001f060
mov rcx, r14
lea rdx, [rsi + 0x25]
call sym.rawNewString
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
movabs rdx, 0x2064696c61766e69
movabs rcx, 0x732074616d726f66
lea rax, [r13 + r14 + 8]
mov r12, r13
mov qword [rax], rdx
add r12, 0x25
movabs rdx, 0x63202c676e697274
mov qword [rax + 8], rcx
movabs rcx, 0x617020746f6e6e61
mov qword [rax + 0x10], rdx
movabs rdx, 0x203a6573726170
mov qword [rax + 0x18], rcx
mov qword [rax + 0x1e], rdx
jo 0x14001f29d
test rsi, rsi
jle 0x14001f255
mov rcx, rsi
add rcx, 1
jo 0x14001f2aa
test rcx, rcx
js 0x14001f244
lea rax, [r12 + r14 + 8]
mov r8, rcx
lea rdx, [rdi + 8]
mov rcx, rax
call sym.memcpy
add rsi, r12
jo 0x14001f2aa
mov qword [rbx + 0x18], rsi
mov rdx, rbp
mov rcx, rbx
lea r9, str.strformat.nim
mov qword [rbx + 0x20], r14
lea r8, str.parseStandardFormatSpecifier
mov qword [rbx + 8], 0
mov qword [rsp + 0x20], 0x1d8
call sym.raiseExceptionEx
test rdi, rdi
je 0x14001f06f
test byte [rdi + 7], 0x40
je 0x14001f25d
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, rax
add rdx, 1
jo 0x14001f0b8
mov rbx, rax
cmp rdi, rdx
jle 0x14001ed78
nop dword [rax]
lea rdx, [rdi - 1]
mov rcx, rbx
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.raiseIndexError2
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.raiseOverflow
cmp rdx, rdi
jge 0x14001ed78
test rbx, rbx
js 0x14001f098
movzx edx, byte [rbx + r12 + 8]
lea r8d, [rdx - 0x3c]
cmp r8b, 0x22
ja 0x14001f1d8
movabs r9, 0x400000005
bt r9, r8
jae 0x14001f140
mov byte [rsi + 1], dl
jmp 0x14001ecc9
lea rdx, [rdi - 1]
jmp 0x14001f09f
cmp dl, 0x23
je 0x14001ed1e
nop
cmp rdi, rcx
jg 0x14001ed46
jmp 0x14001ed78
lea rdx, [rdi - 1]
mov rcx, rax
jmp 0x14001f09f
mov rax, rbx
cmp rbx, rdi
jl 0x14001f16d
cmp rdi, rcx
jg 0x14001ed3d
jmp 0x14001ed78
lea rcx, [rax + 1]
cmp dl, 0x23
je 0x14001ed1e
lea rcx, [rax + 1]
mov rbx, rax
cmp rcx, rdi
jl 0x14001ed3d
jmp 0x14001ed78
lea rcx, [rax + 1]
mov rbx, rax
cmp rcx, rdi
jge 0x14001ed78
cmp byte [rax + r12 + 8], 0x30
je 0x14001ed60
jmp 0x14001ed78
add rax, 2
js 0x14001f0b8
cmp rax, rbx
jb 0x14001f0b8
cmp rax, rdi
jl 0x14001f098
jmp 0x14001ed78
cmp dl, 0x2d
ja 0x14001f2bf
movabs rax, 0x280100000000
bt rax, rdx
jae 0x14001f2bf
cmp rbx, rdi
jge 0x14001f098
mov rax, rbx
jmp 0x14001ecfe
mov byte [rsi + 0x18], dl
add r8, 1
mov qword [rsi + 0x20], r8
cmp r8, rdi
jne 0x14001ee41
jmp 0x14001f06f
mov qword [rsi + 0x10], 0xffffffffffffffff
jmp 0x14001ee27
mov qword [rsi + 0x10], 0xffffffffffffffff
jmp 0x14001f20d
call sym.raiseOverflow
jmp 0x14001ef71
movabs r8, 0x7fffffffffffffff
xor edx, edx
call sym.raiseRangeErrorI
mov rsi, r12
jmp 0x14001f02e
mov rcx, rdi
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.deallocShared
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rsi
call sym.raiseRangeErrorI
jmp 0x14001ef71
mov rdx, qword [rsp + 0x48]
call sym.raiseIndexError2
jmp 0x14001ef71
call sym.raiseOverflow
mov r12, r13
jmp 0x14001eff2
call sym.raiseOverflow
jmp 0x14001f255
cmp rbx, rdi
jl 0x14001f0d9
jmp 0x14001f098
cmp rbx, rdi
jl 0x14001f116
cmp rdi, rcx
jg 0x14001f098
jmp 0x14001ed78