Function at 0x1400c5a30
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3c0]
sub rsp, 0x4c0
mov rax, qword [0x1401f12d8]
xor rax, rsp
mov qword [rbp + 0x3b0], rax
movzx r12d, r8b
mov r14, rdx
mov r9d, ecx
mov edx, dword [0x1401f56b0]
mov eax, edx
shr eax, 8
movzx r8d, dl
and al, 1
je 0x1400c5aa0
cmp dword [0x1401f56e0], 0
je 0x1400c5aa0
test dl, 1
jne 0x1400c6442
test r12b, r12b
jne 0x1400c5aaa
lea rax, [fcn.1400b3220]
jmp 0x1400c6418
test r8b, 1
jne 0x1400c6442
xor edi, edi
mov dword [0x1401f56dc], edi
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x70], rdi
movdqu xmmword [rsp + 0x78], xmm0
mov eax, dword [0x1401f56c4]
shr eax, 0x1f
test al, al
je 0x1400c5afd
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov qword [rsp + 0x78], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov qword [rbp - 0x80], rax
mov edx, dword [0x1401f56c4]
and edx, 0x3fffffff
lea rcx, [rsp + 0x70]
call fcn.1400e1a30
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x9c
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x1400c5b2e
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea edx, [rbx + 0x12]
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov dword [rbx], 0x9c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
jne 0x1400c5b69
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0xff
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov r8, r14
mov edx, 1
xor ecx, ecx
call fcn.140158160
call fcn.1400a0e30
mov r13, rax
movups xmm0, xmmword [rbx]
movups xmmword [rax + 0x48], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + 0x58], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rax + 0x68], xmm0
movups xmm1, xmmword [rbx + 0x30]
movups xmmword [rax + 0x78], xmm1
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [rax + 0x88], xmm0
movups xmm1, xmmword [rbx + 0x50]
movups xmmword [rax + 0x98], xmm1
movups xmm0, xmmword [rbx + 0x60]
movups xmmword [rax + 0xa8], xmm0
movups xmm1, xmmword [rbx + 0x70]
movups xmmword [rax + 0xb8], xmm1
movups xmm0, xmmword [rbx + 0x80]
movups xmmword [rax + 0xc8], xmm0
movsd xmm1, qword [rbx + 0x90]
movsd qword [rax + 0xd8], xmm1
mov eax, dword [rbx + 0x98]
mov dword [r13 + 0xe0], eax
mov rcx, r13
call fcn.1400afdd0
mov rcx, r13
call fcn.1400afdc0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
call fcn.1400a0d70
mov r15, rax
mov rcx, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rax + 0x2a0], rcx
mov qword [0x140201f48], rcx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [r13 + 0x40], rax
mov eax, 0x601
cmp word [r13 + 0xa], ax
setae cl
mov byte [r15 + 0x4b9], cl
mov eax, 0x602
cmp word [r13 + 0xa], ax
setae al
mov byte [r15 + 0x4ba], al
mov eax, dword [0x1401f56d0]
lea rsi, [0x1401f56b0]
mov rbx, rsi
sub rbx, rax
xor edx, edx
mov r8d, 0x400
lea rcx, [rbp - 0x50]
call fcn.1401810c0
mov r8d, 0x400
lea rdx, [rbp - 0x50]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov qword [r13 + 0x38], rbx
lea rcx, [r13 + 0x10]
lea rdx, [rbp - 0x50]
call fcn.1400f63f0
call fcn.1400c6cb0
mov qword [rsp + 0x68], rdi
mov ebx, dword [0x140201810]
add rbx, rsi
mov ecx, 0x40
call fcn.140157760
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1400c5d02
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
mov edx, dword [0x14020180c]
add rdx, rbx
mov rcx, rax
call fcn.1400f5650
mov rsi, rax
jmp 0x1400c5d05
mov rsi, rdi
mov rbx, qword [rsp + 0x68]
cmp rsi, rbx
je 0x1400c5d29
test rbx, rbx
je 0x1400c5d29
mov rcx, rbx
call fcn.14009d200
mov edx, 0x40
mov rcx, rbx
call fcn.1401577a0
mov qword [rsp + 0x68], rsi
mov rdx, rsi
mov rcx, r15
call fcn.1400ac1c0
test al, al
jne 0x1400c5d51
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0xff
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov eax, dword [0x1401f56b0]
shr eax, 0xa
test al, 1
je 0x1400c5e33
cmp qword [r15 + 0x7b8], 0
je 0x1400c5e33
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x78]
call fcn.1400f7410
nop
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x78]
call fcn.1400f76e0
nop
lea rcx, [rax + 8]
cmp qword [rcx + 0x18], 0x10
jb 0x1400c5d9b
mov rcx, qword [rcx]
mov rax, qword [r15 + 0x7b8]
call qword [case.0x1400a79c8.0]
nop
lea rbx, [0x140073e28]
mov qword [rsp + 0x40], rbx
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x1400c5df3
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c5ded
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c651f
call fcn.1401577a0
nop
mov qword [rbp - 0x78], rbx
mov rdx, qword [rbp - 0x58]
cmp rdx, 0x10
jb 0x1400c5e33
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c5e2d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c6519
call fcn.1401577a0
nop
call fcn.1400a0dd0
mov rsi, rax
xor r12b, 1
mov byte [rax + 0x748], r12b
mov rcx, rax
call fcn.1400bd380
mov rcx, r13
call fcn.1400afdb0
lea r8, [rsp + 0x68]
lea rbx, [0x1401f56b0]
mov rdx, rbx
mov rcx, rsi
call fcn.1400a97a0
mov rdx, rbx
mov rcx, rsi
call fcn.1400bd830
test al, al
jne 0x1400c5fb2
mov eax, dword [0x1401f56b0]
or eax, 1
mov dword [0x1401f56b0], eax
shr eax, 8
test al, 1
je 0x1400c5eee
mov eax, dword [0x1401f56b4]
shr eax, 4
test al, 1
je 0x1400c5eab
mov rcx, rbx
call fcn.1400bb020
call fcn.1400c3ec0
test r14, r14
jne 0x1400c5edd
mov rbx, qword [0x140203368]
test rbx, rbx
je 0x1400c5edd
mov rcx, rbx
call fcn.14009df80
mov edx, 0x4c0
mov rcx, rbx
call fcn.1401577a0
mov qword [0x140203368], rdi
mov r8, r14
xor edx, edx
xor ecx, ecx
call fcn.140158160
jmp 0x1400c5f83
mov rcx, qword [0x140201f08]
test rcx, rcx
je 0x1400c5f12
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1400a79c8.0]
mov qword [0x140201f08], rdi
mov rcx, qword [0x140201f18]
test rcx, rcx
je 0x1400c5f36
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1400a79c8.0]
mov qword [0x140201f18], rdi
mov rcx, qword [0x140201f38]
test rcx, rcx
je 0x1400c5f5a
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1400a79c8.0]
mov qword [0x140201f38], rdi
mov rcx, qword [0x140201ef8]
test rcx, rcx
je 0x1400c5f7e
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x1400a79c8.0]
mov qword [0x140201ef8], rdi
call fcn.1400c3e80
mov rdi, qword [0x1401f56d4]
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x1400c5faa
mov rcx, rbx
call fcn.14009d200
mov edx, 0x40
mov rcx, rbx
call fcn.1401577a0
nop
mov rax, rdi
jmp 0x1400c6418
mov eax, dword [rsi + 0x13c]
shr eax, 8
test al, 1
jne 0x1400c5ffe
mov eax, dword [rsi + 0x138]
shr eax, 0x17
test al, 1
jne 0x1400c5ffe
cmp qword [r15 + 0x4e8], 0
je 0x1400c5ffe
xor ecx, ecx
mov rax, qword [r15 + 0x4f8]
call qword [case.0x1400a79c8.0]
lea rdx, [0x1400c6740]
mov ecx, 1
mov rax, qword [r15 + 0x4e8]
call qword [case.0x1400a79c8.0]
mov rdx, rbx
mov rcx, rsi
call fcn.1400bee60
call fcn.1400e0630
mov r14d, dword [rsi + 0x138]
shr r14d, 0x11
and r14b, 1
mov rbx, qword [0x140201ef0]
test rbx, rbx
jne 0x1400c60ae
lea ecx, [rbx + 0x40]
call fcn.140157760
mov rbx, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1400c60a4
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
call fcn.1400a0ed0
lea rcx, [0x140074c58]
mov qword [rbx], rcx
mov qword [rbx + 0x18], rax
lea rcx, [rbx + 0x20]
mov qword [rsp + 0x38], rcx
mov qword [rcx], rdi
mov qword [rcx + 8], rdi
call fcn.1400c5870
nop
lea rcx, [rbx + 0x30]
mov qword [rsp + 0x38], rcx
mov qword [rcx], rdi
mov qword [rcx + 8], rdi
call fcn.1400c5840
mov dword [rbx + 8], 0xffffffff
mov dword [rbx + 0xc], edi
mov word [rbx + 0x10], 1
jmp 0x1400c60a7
mov rbx, rdi
mov qword [0x140201ef0], rbx
mov edx, dword [0x140201be9]
mov rcx, rsi
call fcn.1400a93f0
mov r9, rax
xor r14b, 1
mov eax, dword [0x140201be5]
mov dword [rsp + 0x20], eax
movzx r8d, r14b
mov edx, dword [0x140201bed]
mov rcx, rbx
call fcn.1400aed70
mov dword [0x140201bed], edi
mov dword [0x140201be5], edi
mov rcx, rsi
call fcn.1400a79e0
xor r8d, r8d
mov dl, 1
mov rcx, rsi
call fcn.1400a9400
mov eax, dword [rsi + 0x138]
shr eax, 2
test al, 1
je 0x1400c6230
mov rbx, qword [0x140201f58]
test rbx, rbx
jne 0x1400c61fd
mov ecx, 0x98
call fcn.140157760
mov rbx, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1400c61f3
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
movups xmmword [rbx + 0x40], xmm0
movups xmmword [rbx + 0x50], xmm0
movups xmmword [rbx + 0x60], xmm0
movups xmmword [rbx + 0x70], xmm0
movups xmmword [rbx + 0x80], xmm0
mov qword [rbx + 0x90], rax
lea rax, [0x140074c78]
mov qword [rbx], rax
lea rcx, [rbx + 8]
mov word [rcx + 0x28], 0
call fcn.1400adba0
nop
lea rcx, [rbx + 0x38]
mov qword [rsp + 0x30], rcx
mov qword [rcx], rdi
mov qword [rcx + 8], rdi
call fcn.1400c58d0
nop
lea rcx, [rbx + 0x48]
mov qword [rsp + 0x30], rcx
mov qword [rcx], rdi
mov qword [rcx + 8], rdi
call fcn.1400c58d0
nop
mov qword [rbx + 0x60], rdi
mov qword [rbx + 0x68], rdi
mov qword [rbx + 0x70], rdi
lea rcx, [rbx + 0x78]
mov qword [rsp + 0x30], rcx
mov qword [rcx], rdi
mov qword [rcx + 8], rdi
call fcn.1400c58a0
nop
lea rcx, [rbx + 0x88]
mov qword [rsp + 0x30], rcx
mov qword [rcx], rdi
mov qword [rcx + 8], rdi
call fcn.1400c58a0
mov dword [rbx + 0x58], edi
jmp 0x1400c61f6
mov rbx, rdi
mov qword [0x140201f58], rbx
mov edx, dword [0x140201c21]
mov rcx, rsi
call fcn.1400a93f0
mov r8, rax
mov r9d, dword [0x140201c1d]
mov edx, dword [0x1402017ec]
mov rcx, rbx
call fcn.1400cb8d0
mov dword [0x1402017ec], edi
mov qword [0x140201c1d], rdi
mov ebx, dword [rsi + 0x138]
mov eax, ebx
shr eax, 3
test al, 1
je 0x1400c628f
shr ebx, 0x12
and bl, 1
mov rax, qword [0x140201f40]
test rax, rax
jne 0x1400c628c
mov ecx, 0xa0
call fcn.140157760
mov r14, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1400c6282
xor edx, edx
mov r8d, 0xa0
mov rcx, rax
call fcn.1401810c0
mov rcx, r14
call fcn.1400c34c0
jmp 0x1400c6285
mov rax, rdi
mov qword [0x140201f40], rax
mov byte [rax + 9], bl
mov rbx, qword [0x140201f28]
test rbx, rbx
jne 0x1400c62f3
lea ecx, [rbx + 0x40]
call fcn.140157760
mov rbx, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1400c62e9
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], 0xf
mov byte [rax + 8], 0
lea rax, [0x140074c68]
mov qword [rbx], rax
mov qword [rbx + 0x28], rdi
mov qword [rbx + 0x30], rdi
mov dword [rbx + 0x38], edi
jmp 0x1400c62ec
mov rbx, rdi
mov qword [0x140201f28], rbx
movzx edx, word [0x140201841]
mov rcx, qword [rsi + 0x168]
call fcn.1400f5620
mov rdx, rax
mov eax, dword [0x140201c2d]
mov dword [rsp + 0x20], eax
mov r9d, dword [0x140201c29]
mov r8d, dword [0x140201c25]
mov rcx, rbx
call fcn.1400c5760
mov eax, dword [0x140201c31]
shr eax, 0x1c
test al, 1
je 0x1400c6351
mov ecx, dword [0x140203f64]
mov rax, qword gs:[0x58]
mov edx, 0x25810
mov rax, qword [rax + rcx*8]
inc dword [rax + rdx]
mov qword [0x140201c29], rdi
movzx eax, byte [0x140201c31]
and al, 0x30
cmp al, 0x20
jne 0x1400c639e
mov eax, dword [rsi + 0x138]
shr eax, 0x13
test al, 1
jne 0x1400c639e
mov eax, 0x600
cmp word [r13 + 0xa], ax
jae 0x1400c639e
call fcn.1400a0e30
lea rcx, [rax + 0x18]
cmp qword [rcx + 0x18], 0x10
jb 0x1400c6391
mov rcx, qword [rcx]
mov rax, qword [r15 + 0x2b0]
call qword [case.0x1400a79c8.0]
call fcn.1400a0e30
mov ecx, dword [0x140201c35]
add rcx, qword [rax + 0x38]
mov qword [0x1401f56d4], rcx
mov eax, dword [0x1401f56c4]
and eax, 0xc0000000
cmp eax, 0x80000000
jne 0x1400c63e3
mov edx, dword [rsp + 0x74]
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov edx, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_SetPriorityClass]
mov byte [rsi + 0x748], 0
or dword [0x1401f56b0], 1
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x1400c6411
mov rcx, rbx
call fcn.14009d200
mov edx, 0x40
mov rcx, rbx
call fcn.1401577a0
nop
mov rax, qword [0x1401f56d4]
mov rcx, qword [rbp + 0x3b0]
xor rcx, rsp
call fcn.140157e90
mov rbx, qword [rsp + 0x510]
add rsp, 0x4c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test al, al
je 0x1400c6512
mov ecx, dword [0x1401f56b4]
mov eax, ecx
shr eax, 4
test al, 1
je 0x1400c647a
add ecx, ecx
mov dword [0x1401f56b4], ecx
or edx, 5
mov dword [0x1401f56b0], edx
lea rax, [fcn.1400b3220]
mov qword [0x1401f56d4], rax
jmp 0x1400c6418
test r9d, r9d
jne 0x1400c6411
shr ecx, 5
test cl, 1
jne 0x1400c6411
mov eax, edx
and eax, 0x804
cmp eax, 0x804
je 0x1400c6411
test byte [0x1402017c4], 0x80
je 0x1400c64e7
call fcn.1400c3ec0
test r14, r14
jne 0x1400c64d6
mov rbx, qword [0x140203368]
test rbx, rbx
je 0x1400c64d6
mov rcx, rbx
call fcn.14009df80
mov edx, 0x4c0
mov rcx, rbx
call fcn.1401577a0
xor edi, edi
mov qword [0x140203368], rdi
mov r8, r14
xor edx, edx
xor ecx, ecx
call fcn.140158160
jmp 0x1400c6411
or edx, 4
mov dword [0x1401f56b0], edx
call fcn.1400c6c00
mov rcx, rax
mov r8, r14
xor edx, edx
mov rax, qword [0x1401f56d4]
call qword [case.0x1400a79c8.0]
mov rcx, r14
call fcn.1400c6940
xor eax, eax
jmp 0x1400c6418
call fcn.14010cda0
nop
call fcn.14010cda0
int3