Function at 0x14002ad78
Capabilities:
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
movaps xmmword [rsp + 0xc0], xmm6
mov r14, qword [rdx]
mov r15, qword [rdx + 8]
movups xmm6, xmmword [r8]
xor r8d, r8d
lea rax, [rsp + 0x70]
mov r12, rcx
mov r13d, r9d
mov qword [rsp + 0x70], r14
lea rbp, [rsp + 0x80]
mov rdx, rax
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x88], r8
lea rdi, [rsp + 0x60]
mov rcx, rbp
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x98], r8
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x78], r15
call sym.eqcopy___stdZassertions_u30
mov rcx, qword [rsp + 0x30]
mov rdx, rdi
mov qword [rsp + 0x70], r14
movaps xmm0, xmmword [0x140042800]
mov qword [rsp + 0x78], r15
movaps xmmword [rsp + 0x60], xmm0
call sym.nsuEndsWith
mov rcx, qword [0x140043a00]
mov r14d, eax
call dbg.__emutls_get_address
cmp byte [rax], 0
mov rbx, rax
jne 0x14002b278
test r14b, r14b
jne 0x14002ae6c
mov edx, 3
mov rcx, rbp
call sym.prepareAdd
mov rdx, qword [rsp + 0x30]
mov rcx, rbp
movaps xmm1, xmmword [0x140042800]
movaps xmmword [rsp + 0x70], xmm1
call sym.appendString_13
lea r14, [rsp + 0x50]
xor edx, edx
mov rcx, r14
call sym.newSeq__stdZsyncio_u711
xor ecx, ecx
movups xmm2, xmmword [rsp + 0x50]
mov rdx, rdi
mov qword [rsp + 0xa0], rcx
mov rcx, qword [rsp + 0x30]
lea rax, [0x140042980]
movaps xmm3, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x90], xmm2
mov qword [rsp + 0xa8], rax
movaps xmmword [rsp + 0x60], xmm3
call sym.readFile__stdZsyncio_u679
cmp byte [rbx], 0
mov rbp, qword [rsp + 0x78]
je 0x14002aee3
mov rcx, qword [0x1400439f0]
call dbg.__emutls_get_address
mov rax, qword [rax]
mov rax, qword [rax]
cmp word [rax + 0x12], 1
jg 0x14002af44
jmp 0x14002b278
mov rdx, qword [rsp + 0x30]
xor r8d, r8d
mov rcx, r14
call sym.nsuSplitLines
cmp byte [rbx], 0
jne 0x14002b3ad
lea rcx, [rsp + 0x90]
mov rdx, r14
call sym.eqsink___system_u3741
test rbp, rbp
je 0x14002af1f
test byte [rbp + 7], 0x40
jne 0x14002af1f
mov rcx, rbp
call sym.deallocShared
cmp byte [rbx], 0
jne 0x14002aec5
mov rdx, qword [rsp + 0x90]
test rdx, rdx
jg 0x14002b036
dec rdx
xor ecx, ecx
call sym.raiseIndexError2
jmp 0x14002b278
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0x59ae8b00
jne 0x14002b278
mov rax, qword [rsp + 0x80]
lea rbp, [rsp + 0xb0]
mov byte [rbx], 0
mov rcx, rbp
lea rdx, [rax + 0x17]
call sym.rawNewString
mov rdx, qword [rsp + 0x30]
mov rcx, rbp
movaps xmm4, xmmword [0x1400427b0]
movaps xmmword [rsp + 0x70], xmm4
call sym.appendString_13
mov rdx, qword [rsp + 0x30]
mov rcx, rbp
movaps xmm5, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x70], xmm5
call sym.appendString_13
mov rbp, qword [rsp + 0xb8]
mov ecx, 2
mov rsi, qword [rsp + 0xb0]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rdx, qword [rsp + 0x30]
mov rcx, rax
mov r15, rax
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x70], rsi
call sym.write__stdZsyncio_u274
cmp byte [rbx], 0
jne 0x14002affa
mov rdx, qword [rsp + 0x30]
mov rcx, r15
movaps xmm0, xmmword [0x1400427e0]
movaps xmmword [rsp + 0x70], xmm0
call sym.write__stdZsyncio_u274
cmp byte [rbx], 0
je 0x14002b006
test rbp, rbp
jne 0x14002b010
jmp 0x14002b028
mov ecx, 3
call sym.exit
test byte [rbp + 7], 0x40
jne 0x14002b028
mov rcx, rbp
call sym.deallocShared
cmp byte [rbx], 0
jne 0x14002b028
call sym.popCurrentException_1
cmp byte [rbx], 0
jne 0x14002b278
jmp 0x14002af24
mov rax, qword [rsp + 0x98]
cmp qword [rax + 8], 1
jle 0x14002b11f
mov rbp, qword [rax + 0x10]
lea r15, [rsp + 0xb0]
xor edx, edx
xor esi, esi
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xb8], rdx
mov edx, 2
call sym.mnewString
movups xmm1, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0xb0], xmm1
cmp rsi, 2
mov rdx, qword [rsp + 0xb0]
je 0x14002b0d5
cmp rsi, rdx
jl 0x14002b0a5
dec rdx
mov rcx, rsi
call sym.raiseIndexError2
jmp 0x14002b0d5
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x14002b0c0
test byte [rdx + 7], 0x40
je 0x14002b0c0
mov rcx, r15
call sym.nimPrepareStrMutationImpl__system_u2390
mov cl, byte [rbp + rsi + 8]
mov rdx, qword [rsp + 0xb8]
mov byte [rdx + rsi + 8], cl
inc rsi
jmp 0x14002b085
cmp byte [rbx], 0
mov rax, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xb8]
jne 0x14002b278
mov rcx, qword [rsp + 0x30]
mov rdx, rdi
mov qword [rsp + 0x70], rax
movaps xmm2, xmmword [0x140042790]
mov qword [rsp + 0x78], rbp
movaps xmmword [rsp + 0x60], xmm2
call sym.eqStrings_2
mov r8, qword [rsp + 0x90]
test al, al
jne 0x14002b143
jmp 0x14002b121
xor ebp, ebp
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x90]
test rdx, rdx
je 0x14002b27f
add rdx, 8
jmp 0x14002b27f
xor eax, eax
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rax
mov rax, r8
sub rax, 1
jo 0x14002b171
mov rdx, qword [rsp + 0x98]
test rdx, rdx
je 0x14002b17b
add rdx, 8
jmp 0x14002b17b
call sym.raiseOverflow
jmp 0x14002b334
lea r9, [rsp + 0x40]
mov rcx, r14
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], 1
call sym.X5BX5D___mn_u88
cmp byte [rbx], 0
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
jne 0x14002b334
xor edx, edx
test r14, r14
je 0x14002b1b4
lea rdx, [r14 + 8]
mov rcx, qword [rsp + 0x30]
mov r9, rdi
mov r8, r15
movaps xmm3, xmmword [0x1400427e0]
movaps xmmword [rsp + 0x60], xmm3
call sym.nsuJoinSep
cmp byte [rbx], 0
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
jne 0x14002b334
lea rax, [rsp + 0xb0]
lea rdx, [rdi + 3]
mov rcx, rax
mov qword [rsp + 0x38], rax
call sym.rawNewString
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
movaps xmm4, xmmword [0x140042770]
movaps xmmword [rsp + 0x70], xmm4
call sym.appendString_13
mov rdx, qword [rsp + 0x30]
mov qword [rsp + 0x70], rdi
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x78], rsi
call sym.appendString_13
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0xa0]
movaps xmm5, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x70], xmm5
call sym.eqsink___stdZassertions_u36
test rsi, rsi
je 0x14002b262
test byte [rsi + 7], 0x40
jne 0x14002b262
mov rcx, rsi
call sym.deallocShared
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r14
call sym.eqdestroy___system_u3732
jmp 0x14002b2b3
xor ebp, ebp
jmp 0x14002b334
mov rcx, qword [rsp + 0x30]
mov r9, rdi
movaps xmm0, xmmword [0x1400427e0]
movaps xmmword [rsp + 0x60], xmm0
call sym.nsuJoinSep
cmp byte [rbx], 0
jne 0x14002b334
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0xa0]
call sym.eqsink___stdZassertions_u36
lea rcx, [rsp + 0xa0]
mov r14, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xa8]
call sym.eqwasMoved___stdZassertions_u27
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r15
call sym.newStringStream__pureZstreams_u1012
cmp byte [rbx], 0
mov rdi, rax
jne 0x14002b334
mov r8, qword [rsp + 0x30]
movzx r13d, r13b
xor esi, esi
mov rdx, rax
movaps xmm1, xmmword [rsp + 0x80]
mov dword [rsp + 0x20], r13d
lea rcx, [rsp + 0x50]
mov r13, rsi
lea r9, [rsp + 0x60]
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x70], xmm1
call sym.mnStream__mn_u23
cmp byte [rbx], 0
cmove r13, qword [rsp + 0x58]
cmove rsi, qword [rsp + 0x50]
jmp 0x14002b33b
xor r13d, r13d
xor esi, esi
xor edi, edi
mov r14b, byte [rbx]
mov rcx, rdi
mov byte [rbx], 0
call sym.eqdestroy___pureZstreams_u795
cmp byte [rbx], 0
jne 0x14002b3bb
test rbp, rbp
je 0x14002b361
test byte [rbp + 7], 0x40
jne 0x14002b361
mov rcx, rbp
call sym.deallocShared
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x14002b379
test byte [rcx + 7], 0x40
jne 0x14002b379
call sym.deallocShared
movaps xmm6, xmmword [rsp + 0x90]
lea rcx, [rsp + 0x50]
movaps xmmword [rsp + 0x50], xmm6
call sym.eqdestroy___system_u3732
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x14002b3a8
test byte [rcx + 7], 0x40
jne 0x14002b3a8
call sym.deallocShared
mov byte [rbx], r14b
jmp 0x14002b3bb
test rbp, rbp
jne 0x14002af11
jmp 0x14002aec5
mov qword [r12], rsi
mov rax, r12
mov qword [r12 + 8], r13
movaps xmm6, xmmword [rsp + 0xc0]
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret