Function at 0x140098860
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rdi, r9
mov r12, r8
mov ebx, edx
mov r15, rcx
call fcn.14008c920
cmp ebx, 1
jne 0x1400988a2
mov rdi, qword [r12 + 0x70]
jmp 0x1400988ba
mov rdx, qword [r12 + 0x78]
sub rdx, qword [r12 + 0x50]
mov r8, rdi
mov rcx, r15
call fcn.140097c30
mov rdi, rax
xor r9d, r9d
movabs rsi, 0xaaaaaaaaaaaaaaab
cmp rdi, qword [r15 + 0x70]
jbe 0x140098a53
mov qword [rsp + 0x30], r9
mov word [rsp + 0x38], r9w
xor eax, eax
mov dword [rsp + 0x3a], eax
mov word [rsp + 0x3e], ax
test rdi, rdi
jne 0x1400988f1
mov edx, r9d
jmp 0x140098902
lea rcx, [rdi - 1]
mov rax, rsi
mul rcx
shr rdx, 5
inc rdx
lea r8, [rsp + 0x30]
lea rcx, [r15 + 0x58]
call fcn.14009e200
nop
xor r9d, r9d
cmp rdi, qword [r15 + 0x70]
jae 0x1400989c4
mov rax, rsi
mul rdi
shr rdx, 5
movzx eax, dx
add ax, ax
add dx, ax
shl dx, 4
movzx r8d, di
sub r8w, dx
je 0x14009899a
mov rcx, qword [r15 + 0x60]
add rcx, 0xfffffffffffffff0
mov qword [rsp + 0x30], rcx
mov eax, 0x30
mov word [rsp + 0x38], ax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x30], rcx
mov word [rsp + 0x38], r9w
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
mov word [rsp + 0x38], r8w
movaps xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
call fcn.14008dd00
xor r9d, r9d
mov qword [r15 + 0x78], r9
mov rax, qword [r15 + 0x58]
mov r8, qword [r15 + 0x60]
cmp rax, r8
je 0x1400989c4
mov rdx, r9
nop
movzx ecx, word [rax + 8]
add rdx, rcx
mov qword [r15 + 0x78], rdx
add rax, 0x10
cmp rax, r8
jne 0x1400989b0
mov qword [r15 + 0x70], rdi
mov rcx, rdi
xorps xmm0, xmm0
test rcx, rcx
js 0x1400989da
cvtsi2ss xmm0, rcx
jmp 0x1400989ef
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
movaps xmm1, xmm0
mulss xmm1, dword [r15 + 0x18]
xor ecx, ecx
movabs rdx, 0x8000000000000000
movss xmm2, dword [0x140187620]
comiss xmm1, xmm2
jb 0x140098a1d
subss xmm1, xmm2
comiss xmm1, xmm2
jae 0x140098a1d
mov rcx, rdx
cvttss2si rax, xmm1
add rax, rcx
mov qword [r15 + 8], rax
mulss xmm0, dword [r15 + 0x1c]
xor ecx, ecx
comiss xmm0, xmm2
jb 0x140098a42
subss xmm0, xmm2
comiss xmm0, xmm2
jae 0x140098a42
mov rcx, rdx
cvttss2si rax, xmm0
add rax, rcx
mov qword [r15 + 0x10], rax
mov byte [r15 + 0x20], 0
mov rdi, qword [r12 + 0x60]
mov rbx, qword [r12 + 0x58]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], r9
cmp rbx, rdi
je 0x140098aea
mov rcx, qword [rbx]
mov qword [rsp + 0x68], rcx
movzx eax, word [rbx + 8]
shl rax, 5
add rax, rcx
cmp rcx, rax
jne 0x140098aea
mov rcx, qword [rbx]
test rcx, rcx
je 0x140098ab6
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor r9d, r9d
mov qword [rbx], r9
xor eax, eax
mov dword [rbx + 0xa], eax
mov word [rbx + 0xe], ax
mov word [rbx + 8], r9w
add rbx, 0x10
cmp rbx, rdi
je 0x140098ae5
mov rcx, qword [rbx]
mov qword [rsp + 0x68], rcx
movzx eax, word [rbx + 8]
shl rax, 5
add rax, rcx
cmp rcx, rax
je 0x140098aa2
mov qword [rsp + 0x60], rbx
mov rcx, r12
mov qword [rsp + 0x70], rcx
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rbp - 0x78], xmm1
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp - 0x68], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp - 0x58], xmm1
nop word [rax + rax]
mov rdi, qword [rbp - 0x70]
mov rsi, qword [rbp - 0x78]
mov r14, qword [rbp - 0x80]
mov r13, qword [rsp + 0x78]
cmp r13, qword [rbp - 0x68]
jne 0x140098b4e
cmp r14, qword [rbp - 0x60]
jne 0x140098b4e
cmp rsi, qword [rbp - 0x58]
jne 0x140098b4e
cmp rsi, r14
je 0x140098b90
cmp rdi, qword [rbp - 0x50]
je 0x140098b90
cmp qword [rcx + 0x50], 0
jbe 0x140098b90
add rcx, 0x2a
mov r8d, 0x20
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140098b90
add rdi, 0x20
mov qword [rbp - 0x70], rdi
lea rcx, [rsp + 0x78]
call fcn.140089dc0
mov rcx, qword [rsp + 0x70]
jmp 0x140098b20
mov rcx, qword [r12 + 0x60]
mov rax, qword [r12 + 0x58]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rcx
xor r9d, r9d
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], r9
mov rcx, r12
mov qword [rbp - 0x40], rcx
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rbp - 0x38], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rbp - 0x28], xmm1
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp - 0x18], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp - 8], xmm1
mov rbx, qword [rbp - 0x20]
mov r12, qword [rbp - 0x28]
mov r15, qword [rbp - 0x30]
mov rax, qword [rbp - 0x38]
cmp rax, qword [rbp - 0x18]
jne 0x140098c1d
cmp r15, qword [rbp - 0x10]
jne 0x140098c1d
cmp r12, qword [rbp - 8]
jne 0x140098c1d
cmp r12, r15
je 0x140098c55
cmp rbx, qword [rbp]
je 0x140098c55
cmp qword [rcx + 0x50], 0
jbe 0x140098c55
add rcx, 0x2a
mov r8d, 0x20
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140098c51
add rbx, 0x20
mov qword [rbp - 0x20], rbx
lea rcx, [rbp - 0x38]
call fcn.140089dc0
mov rcx, qword [rbp - 0x40]
jmp 0x140098bf0
mov rax, qword [rbp - 0x38]
cmp r13, rax
jne 0x140098c76
cmp r14, r15
jne 0x140098c76
cmp rsi, r12
jne 0x140098c76
cmp rsi, r14
je 0x140098f06
cmp rdi, rbx
je 0x140098f06
xor r10d, r10d
mov r8d, dword [rdi]
btr r8d, 0x1f
mov eax, 0x69c16bd
mul r8d
mov ecx, r8d
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x10
imul eax, ecx, 0x1f31d
sub r8d, eax
imul eax, ecx, 0xb14
imul ecx, r8d, 0x41a7
sub ecx, eax
mov r8, qword [rbp + 0x50]
mov rsi, qword [r8 + 0x70]
lea rsi, [rsi - 1]
lea eax, [rcx + 0x7fffffff]
cmovns eax, ecx
movsxd rbx, eax
and rbx, rsi
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rbx
shr rdx, 5
movzx eax, dx
add ax, ax
lea ecx, [rax + rdx]
shl cx, 4
movzx r9d, bx
sub r9w, cx
mov r11, qword [r8 + 0x58]
movzx eax, r9w
shr rax, 3
add rdx, rdx
add rax, r11
movzx r8d, byte [rax + rdx*8 + 0xa]
movzx ecx, r9w
and ecx, 7
mov edx, 1
shl dx, cl
test dl, r8b
je 0x140098d70
nop dword [rax]
inc r10
add rbx, r10
and rbx, rsi
mov rax, r14
mul rbx
shr rdx, 5
movzx eax, dx
add ax, ax
lea ecx, [rax + rdx]
shl cx, 4
movzx r9d, bx
sub r9w, cx
movzx eax, r9w
shr rax, 3
add rdx, rdx
add rax, r11
movzx r8d, byte [rax + rdx*8 + 0xa]
movzx ecx, r9w
and ecx, 7
mov edx, 1
shl dx, cl
test dl, r8b
jne 0x140098d20
mov rax, r14
mul rbx
shr rdx, 5
mov r13, rdx
add r13, r13
lea rsi, [r11 + r13*8]
movzx r14d, word [rsi + 8]
mov word [rsp + 0x20], r14w
movzx eax, dx
add dx, dx
add ax, dx
shl ax, 4
sub bx, ax
lea rcx, [rsi + 0xa]
movzx edx, bx
call fcn.14009a8f0
mov word [rbp + 0x58], ax
movzx r12d, bx
and r12d, 7
movzx r15d, bx
shr r15, 3
mov edx, 1
mov ecx, r12d
shl dx, cl
test byte [r15 + rsi + 0xa], dl
jne 0x140098e58
lea ebx, [r14 + 1]
movzx ecx, bx
shl rcx, 5
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
test rax, rax
je 0x140098f29
mov rdx, qword [rsi]
movzx ebx, word [rbp + 0x58]
shl rbx, 5
mov r8, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov rax, qword [rsi]
lea rdx, [rbx + rax]
movzx r8d, word [rsi + 8]
shl r8, 5
sub r8, rdx
add r8, rax
lea rcx, [rbx + 0x20]
add rcx, r14
call sub.VCRUNTIME140.dll_memmove
mov rcx, qword [rsi]
test rcx, rcx
je 0x140098e38
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rsi], r14
inc word [rsi + 8]
movzx eax, byte [r15 + rsi + 0xa]
bts eax, r12d
mov byte [r15 + rsi + 0xa], al
movzx r14d, word [rsp + 0x20]
movzx eax, word [rbp + 0x58]
movzx ecx, ax
shl rcx, 5
mov rax, qword [rsi]
movups xmm0, xmmword [rdi]
movups xmmword [rcx + rax], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rcx + rax + 0x10], xmm1
mov r15, qword [rbp + 0x50]
mov rax, qword [r15 + 0x58]
movzx ecx, word [rax + r13*8 + 8]
movzx eax, r14w
sub rcx, rax
add qword [r15 + 0x78], rcx
add rdi, 0x20
mov qword [rbp - 0x70], rdi
lea rcx, [rsp + 0x78]
call fcn.140089dc0
mov rdi, qword [rbp - 0x70]
mov rsi, qword [rbp - 0x78]
mov r14, qword [rbp - 0x80]
mov r13, qword [rsp + 0x78]
cmp r13, qword [rbp - 0x68]
jne 0x140098ed7
cmp r14, qword [rbp - 0x60]
jne 0x140098ed7
cmp rsi, qword [rbp - 0x58]
jne 0x140098ed7
cmp rsi, r14
mov r12, qword [rbp + 0x60]
je 0x140098b90
cmp rdi, qword [rbp - 0x50]
je 0x140098b90
mov rcx, qword [rsp + 0x70]
cmp qword [rcx + 0x50], 0
mov r12, qword [rbp + 0x60]
jbe 0x140098b90
add rcx, 0x2a
mov r8d, 0x20
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140098e8b
jmp 0x140098b90
mov r8, qword [rbp + 0x50]
inc dword [r8 + 0x24]
mov rbx, qword [rsp + 0x168]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movzx ebx, bx
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
mov r8d, ebx
lea rdx, [0x14018ab30]
call fcn.140034970
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3