Function at 0x14004e6d0
Capabilities:
Create thread
Encode data using xor
Enumerate process modules
Enumerate processes
Generate random numbers using a mersenne twister
Terminate process

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r14
lea rbp, [rsp - 0x1540]
mov eax, 0x1640
call fcn.140052e60
sub rsp, rax
mov rax, qword [0x140064040]
xor rax, rsp
mov qword [rbp + 0x1510], rax
xor r12d, r12d
lea rcx, [rbp + 0x180]
mov dword [rsp + 0x30], r12d
lea rdx, str.1032
lea eax, [r12 + 3]
nop dword [rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
lea rdx, [rdx + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rdx - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rdx - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rdx - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rdx - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rdx - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rdx - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rax, 1
jne 0x14004e720
movups xmm0, xmmword [rdx]
mov rax, qword [rdx + 0x70]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x40], xmm0
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x50], xmm1
movups xmmword [rcx + 0x60], xmm0
mov qword [rcx + 0x70], rax
mov eax, dword [rdx + 0x78]
mov dword [rcx + 0x78], eax
movzx eax, word [rdx + 0x7c]
mov word [rcx + 0x7c], ax
xor ecx, ecx
cmp dword [0x140064088], 2
movaps xmmword [rsp + 0x1630], xmm6
jl 0x14004e91a
movdqa xmm0, xmmword [str.7777777777777777]
lea rdx, [rbp + 0x180]
movdqa xmm5, xmmword [0x14005c320]
movdqa xmm4, xmmword [0x14005c3f0]
movdqa xmm6, xmmword [0x14005c350]
movdqa xmmword [rbp + 0x170], xmm0
mov r8d, dword [rbp + 0x170]
nop dword [rax]
movd xmm2, ecx
lea eax, [rcx + 4]
pshufd xmm2, xmm2, 0
lea rdx, [rdx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add ecx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x14005c390]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 8]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rdx - 8], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14005c390]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
cmp ecx, 0x1f8
jl 0x14004e810
cmp ecx, 0x1fe
jge 0x14004e960
movsxd rax, ecx
lea r8, [rbp + 0x180]
add r8, rax
nop word [rax + rax]
mov eax, 0x51eb851f
lea r8, [r8 + 1]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x32
movzx eax, cl
inc ecx
sub al, dl
add al, 0x37
xor byte [r8 - 1], al
cmp ecx, 0x1fe
jl 0x14004e930
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rbp + 0x180]
call fcn.140050510
cmp qword [0x140064848], r12
mov r14d, 4
jne 0x14004ea66
mov rax, qword gs:[0x58]
mov rbx, qword [rax]
mov eax, dword [rbx + r14]
cmp dword [0x140064948], eax
jle 0x14004e9e3
lea rcx, [0x140064948]
call fcn.140052140
cmp dword [0x140064948], 0xffffffff
jne 0x14004e9e3
lea rcx, str.user32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [0x14005b4c8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x140064948]
mov qword [0x140064968], rax
call fcn.1400520d4
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1504], 0xffffffff
mov edx, 1
mov dword [rbp + 0x184], eax
nop
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 + 0x184], eax
inc rdx
cmp rdx, 0x270
jb 0x14004ea00
lea rcx, [rbp + 0x180]
mov dword [rbp + 0x180], 0x270
call fcn.140051d90
xor edx, edx
lea rcx, str.TankWindowClass
call qword [0x140064968]
mov ecx, 0x64
mov qword [0x140064848], rax
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp qword [0x140064848], r12
je 0x14004e992
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [r14 + rcx]
cmp dword [0x140064948], eax
jle 0x14004eac3
lea rcx, [0x140064948]
call fcn.140052140
cmp dword [0x140064948], 0xffffffff
jne 0x14004eac3
lea rcx, str.user32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [0x14005b4c8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x140064948]
mov qword [0x140064968], rax
call fcn.1400520d4
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1504], 0xffffffff
mov edx, 1
mov dword [rbp + 0x184], eax
nop
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 + 0x184], eax
inc rdx
cmp rdx, 0x270
jb 0x14004eae0
lea rcx, [rbp + 0x180]
mov dword [rbp + 0x180], 0x270
call fcn.140051d90
xor edx, edx
lea rcx, str.TankWindowClass
call qword [0x140064968]
xor edi, edi
xor edx, edx
lea ecx, [rdi + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbx, rax
test rax, rax
je 0x14004eb9d
cmp rax, 0xffffffffffffffff
je 0x14004eb9d
lea rdx, [rbp + 0x180]
mov dword [rbp + 0x180], 0x130
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x14004eb94
lea rdx, str.Overwatch.exe
lea rcx, [rbp + 0x1ac]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
je 0x14004eb8e
lea rdx, [rbp + 0x180]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x14004eb60
jmp 0x14004eb94
mov edi, dword [rbp + 0x188]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, edi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
mov rsi, qword [0x140064980]
lea rcx, str.TankWindowClass
xor edx, edx
mov byte [0x14006483d], 1
call qword [sym.imp.USER32.dll_FindWindowA]
mov rcx, rax
lea rdx, [rbp + 0xc0]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov r8d, dword [rbp + 0xc0]
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov edx, dword [rbp + 0xc0]
xor edi, edi
mov qword [rsi + 0x20], rax
lea ecx, [rdi + 0x18]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14004ec70
lea rdx, [rbp + 0x180]
mov dword [rbp + 0x180], 0x238
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Module32First]
test eax, eax
je 0x14004ec70
nop dword [rax]
lea rdx, str.Overwatch.exe
lea rcx, [rbp + 0x1b0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
je 0x14004ec5e
lea rdx, [rbp + 0x180]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Module32Next]
test eax, eax
jne 0x14004ec30
jmp 0x14004ec65
mov rdi, qword [rbp + 0x198]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
mov qword [rsp + 0x1670], r13
mov rcx, rbx
mov qword [rsp + 0x1678], r15
movaps xmmword [rsp + 0x1620], xmm7
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsi + 0x28], rdi
test rdi, rdi
je 0x14004fd9a
xor r8d, r8d
lea rcx, [0x140046500]
xor edx, edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthread]
xor r8d, r8d
lea rcx, [0x1400468d0]
xor edx, edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthread]
xor r8d, r8d
lea rcx, [0x14004e110]
xor edx, edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthread]
xor r8d, r8d
lea rcx, [0x140049c40]
xor edx, edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthread]
xor r8d, r8d
lea rcx, [0x140045670]
xor edx, edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthread]
mov rax, qword gs:[0x58]
movabs r13, 0x2aaaaaaaaaaaaaab
mov edx, r14d
mov rax, qword [rax]
add rax, rdx
mov qword [rsp + 0x78], rax
xor esi, esi
nop dword [rax + rax]
mov eax, dword [rax]
cmp dword [0x140064948], eax
jle 0x14004ed6f
lea rcx, [0x140064948]
call fcn.140052140
cmp dword [0x140064948], 0xffffffff
jne 0x14004ed6f
lea rcx, str.user32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [0x14005b4c8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x140064948]
mov qword [0x140064968], rax
call fcn.1400520d4
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1504], 0xffffffff
mov edx, 1
mov dword [rbp + 0x184], eax
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 + 0x184], eax
inc rdx
cmp rdx, 0x270
jb 0x14004ed90
lea rcx, [rbp + 0x180]
mov dword [rbp + 0x180], 0x270
call fcn.140051d90
xor edx, edx
lea rcx, str.TankWindowClass
call qword [0x140064968]
test rax, rax
je 0x14004fd8e
movups xmm0, xmmword [0x14005bad8]
mov r8d, 0x1f
lea rcx, [rbp + 0x148]
movups xmm1, xmmword [0x14005bae8]
mov qword [rbp + 0x158], rsi
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp + 0x160], rsi
xorps xmm0, xmm0
movups xmmword [rbp + 0x148], xmm0
movups xmmword [rbp - 0x48], xmm1
call fcn.140050e40
mov r15, qword [0x140064980]
lea rdx, [rbp + 0x148]
lea rcx, [rbp + 0x80]
mov qword [rsp + 0x38], r15
call fcn.1400500e0
mov rdi, rax
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
mov qword [rsp + 0x60], rsi
xor eax, eax
lea rcx, [rbp + 0xa0]
mov rdx, rdi
mov qword [rbp + 0xf0], rax
movdqu xmmword [rsp + 0x50], xmm0
movups xmmword [rbp + 0xe0], xmm0
call fcn.1400500e0
mov rcx, qword [r15 + 0x20]
lea r8, [rbp + 0x100]
xorps xmm0, xmm0
mov qword [rsp + 0x48], rax
mov r9d, 0x30
mov qword [rbp + 0xf0], rsi
mov edx, 0x7ffe0000
mov qword [rbp + 0xd8], rsi
movdqu xmmword [rbp + 0xe0], xmm0
mov r14, rax
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
movups xmmword [rbp + 0x120], xmm0
movdqu xmmword [rbp + 0xc8], xmm0
xorps xmm7, xmm7
xorps xmm6, xmm6
call qword [sym.imp.KERNEL32.dll_VirtualQueryEx]
test rax, rax
je 0x14004efa7
nop dword [rax]
test dword [rbp + 0x120], 0x1000
je 0x14004ef79
test dword [rbp + 0x124], 0x100
jne 0x14004ef79
psrldq xmm6, 8
movq rax, xmm7
movq rcx, xmm6
add rcx, rax
cmp rcx, qword [rbp + 0x100]
jne 0x14004ef1e
cmp byte [r15 + 0x18], 0
jne 0x14004ef6b
mov rdx, qword [rbp + 0xd0]
cmp rdx, qword [rbp + 0xd8]
je 0x14004ef58
movaps xmm0, xmmword [rbp + 0x100]
movups xmmword [rdx], xmm0
movaps xmm1, xmmword [rbp + 0x110]
movups xmmword [rdx + 0x10], xmm1
movaps xmm0, xmmword [rbp + 0x120]
movups xmmword [rdx + 0x20], xmm0
add qword [rbp + 0xd0], 0x30
jmp 0x14004ef6b
lea r8, [rbp + 0x100]
lea rcx, [rbp + 0xc8]
call fcn.1400519d0
movaps xmm7, xmmword [rbp + 0x100]
movaps xmm6, xmmword [rbp + 0x110]
mov rdx, qword [rbp + 0x118]
lea r8, [rbp + 0x100]
add rdx, qword [rbp + 0x100]
mov r9d, 0x30
mov rcx, qword [r15 + 0x20]
call qword [sym.imp.KERNEL32.dll_VirtualQueryEx]
test rax, rax
jne 0x14004eee0
lea rdx, [rbp + 0xc8]
mov rcx, r15
call fcn.14004ff40
mov rcx, qword [r15 + 8]
mov rax, r13
sub rcx, qword [r15]
mov r8, qword [rbp + 0xc8]
imul rcx
mov rbx, rdx
sar rbx, 3
mov rax, rbx
shr rax, 0x3f
add rbx, rax
test r8, r8
je 0x14004f033
mov rcx, qword [rbp + 0xd8]
mov rax, r13
sub rcx, r8
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, r8
lea rdx, [rdx + rdx*2]
shl rdx, 4
cmp rdx, 0x1000
jb 0x14004f02b
mov r8, qword [r8 - 8]
add rdx, 0x27
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004fd43
mov rcx, r8
call fcn.1400520cc
test rbx, rbx
jne 0x14004f0f0
test r12b, 1
je 0x14004f0a9
mov rcx, qword [rbp + 0xe0]
and r12d, 0xfffffffe
mov dword [rsp + 0x30], r12d
test rcx, rcx
je 0x14004f0a9
mov rax, qword [rbp + 0xf0]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f092
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004fd64
call fcn.1400520cc
xorps xmm0, xmm0
mov qword [rbp + 0xf0], rsi
movdqu xmmword [rbp + 0xe0], xmm0
mov rdx, qword [r14 + 0x18]
lea rbx, [r14 + 0x18]
cmp rdx, 0xf
jbe 0x14004f690
mov rcx, qword [r14]
inc rdx
cmp rdx, 0x1000
jb 0x14004f0e6
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004fd64
mov rcx, r8
call fcn.1400520cc
jmp 0x14004f690
mov r8, qword [r15]
mov rax, r13
mov rcx, qword [r15 + 8]
mov edi, esi
sub rcx, r8
mov dword [rbp + 0xc0], esi
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14004f5e0
mov qword [rsp + 0x70], rsi
movups xmm6, xmmword [r8 + rsi]
lea rcx, [rbp + 0x100]
movups xmm7, xmmword [r8 + rsi + 0x10]
xorps xmm0, xmm0
xor eax, eax
mov rdx, r14
movups xmmword [rbp + 0xc8], xmm0
mov qword [rbp + 0xd8], rax
call fcn.1400500e0
movq r12, xmm6
psrldq xmm7, 8
mov r13, rax
xor edx, edx
movq rcx, xmm7
mov qword [rbp + 0xd8], rdx
add rcx, r12
xorps xmm0, xmm0
mov rax, rcx
mov qword [rbp - 0x80], rcx
sub rax, r12
movdqu xmmword [rbp + 0xc8], xmm0
cmp rax, 0x180000
jne 0x14004f498
cmp r12, rcx
jae 0x14004f427
mov r14d, ecx
sub r14d, r12d
mov dword [rsp + 0x34], r14d
movsxd rbx, r14d
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, rbx
call fcn.14005243c
mov r15, rax
mov qword [rsp + 0x20], 0
mov r8, rax
mov r9, rbx
mov rax, qword [rsp + 0x38]
mov rdx, r12
mov rcx, qword [rax + 0x20]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
jne 0x14004f1e7
mov rax, rbx
jmp 0x14004f3f6
cmp qword [r13 + 0x18], 0xf
mov r14, r13
mov rsi, qword [r13 + 0x10]
mov qword [rbp - 0x70], 0
jbe 0x14004f201
mov r14, qword [r13]
movabs rax, 0x7fffffffffffffff
cmp rsi, rax
ja 0x14004fd50
cmp rsi, 0xf
ja 0x14004f239
movups xmm0, xmmword [r14]
mov edi, 0xf
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], rdi
movups xmmword [rbp - 0x78], xmm0
movq rbx, xmm0
jmp 0x14004f2ca
mov rdi, rsi
or rdi, 0xf
cmp rdi, rax
jbe 0x14004f258
mov rdi, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x14004f27f
cmp rdi, 0x16
mov eax, 0x16
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x14004f29e
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14004fd4a
mov rcx, rax
call fcn.1400523f8
test rax, rax
je 0x14004fd56
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x14004f2af
test rcx, rcx
je 0x14004f2ad
call fcn.1400523f8
mov rbx, rax
jmp 0x14004f2af
xor ebx, ebx
lea r8, [rsi + 1]
mov qword [rbp - 0x78], rbx
mov rdx, r14
mov qword [rbp - 0x68], rsi
mov rcx, rbx
mov qword [rbp - 0x60], rdi
call sub.VCRUNTIME140.dll_memcpy
movsxd r14, dword [rsp + 0x34]
mov eax, r14d
sub eax, esi
test eax, eax
jle 0x14004f3b9
movsxd r9, esi
xor r10d, r10d
movsxd rsi, eax
xor r11d, r11d
xor eax, eax
test r9, r9
jle 0x14004f32a
nop
lea rdx, [rbp - 0x58]
mov r8, r15
sub r8, rdx
add r8, r10
nop dword [rax]
cmp rdi, 0xf
lea rcx, [rbp - 0x78]
cmova rcx, rbx
cmp byte [rax + rcx], 0x3f
je 0x14004f322
lea rdx, [rbp - 0x58]
add rdx, rax
movzx ecx, byte [rdx + r8]
cmp byte [rdx], cl
jne 0x14004f394
inc rax
cmp rax, r9
jl 0x14004f300
movsxd rsi, r11d
cmp rdi, 0xf
jbe 0x14004f364
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14004f35c
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004fd56
mov rcx, rbx
call fcn.1400520cc
cmp rsi, 0xffffffffffffffff
je 0x14004f3f0
mov rdx, qword [rbp + 0xd0]
lea rax, [r12 + rsi]
mov qword [rsp + 0x68], rax
cmp rdx, qword [rbp + 0xd8]
je 0x14004f3a6
mov qword [rdx], rax
add qword [rbp + 0xd0], 8
jmp 0x14004f3f0
inc r11d
inc r10
cmp r10, rsi
jge 0x14004f3b9
xor eax, eax
jmp 0x14004f2f0
lea r8, [rsp + 0x68]
lea rcx, [rbp + 0xc8]
call fcn.140051800
jmp 0x14004f3f0
cmp rdi, 0xf
jbe 0x14004f3f0
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14004f3e8
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004fd56
mov rcx, rbx
call fcn.1400520cc
mov rbx, r14
mov rax, r14
mov rcx, r15
add r12, rax
call fcn.1400520cc
cmp r12, qword [rbp - 0x80]
jb 0x14004f1a4
mov rdx, qword [rbp + 0xd8]
mov edi, dword [rbp + 0xc0]
mov rsi, qword [rsp + 0x70]
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0x38]
mov r12d, dword [rsp + 0x30]
test r12b, 2
je 0x14004f4ac
mov rcx, qword [rbp + 0xc8]
and r12d, 0xfffffffd
mov dword [rsp + 0x30], r12d
test rcx, rcx
je 0x14004f4ac
sub rdx, rcx
mov rax, rcx
sar rdx, 3
lea rdx, [rdx*8]
cmp rdx, 0x1000
jb 0x14004f47b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004fd56
call fcn.1400520cc
xorps xmm0, xmm0
mov qword [rbp + 0xd8], 0
movdqu xmmword [rbp + 0xc8], xmm0
jmp 0x14004f4ac
mov r12d, dword [rsp + 0x30]
test r12b, 2
je 0x14004f4ac
and r12d, 0xfffffffd
mov dword [rsp + 0x30], r12d
mov rdx, qword [r13 + 0x18]
lea rbx, [r13 + 0x18]
cmp rdx, 0xf
jbe 0x14004f4eb
mov rcx, qword [r13]
inc rdx
cmp rdx, 0x1000
jb 0x14004f4e6
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004fd56
mov rcx, r8
call fcn.1400520cc
xor edx, edx
mov rax, r13
mov ecx, 0xf
mov r8d, 0x10
mov qword [r8 + r13], rdx
mov qword [rbx], rcx
mov byte [rax], dl
mov rax, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0xc8]
sub rax, rcx
sar rax, 3
test rax, rax
je 0x14004f554
mov rdx, qword [rbp + 0xe8]
cmp rdx, qword [rbp + 0xf0]
je 0x14004f53e
mov rax, qword [rcx]
mov qword [rdx], rax
add qword [rbp + 0xe8], 8
jmp 0x14004f54d
mov r8, rcx
lea rcx, [rbp + 0xe0]
call fcn.140051800
mov rcx, qword [rbp + 0xc8]
test rcx, rcx
je 0x14004f599
mov rax, qword [rbp + 0xd8]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f594
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004fd5d
call fcn.1400520cc
mov r8, qword [r15]
inc edi
mov rcx, qword [r15 + 8]
add rsi, 0x30
sub rcx, r8
mov dword [rbp + 0xc0], edi
movabs r13, 0x2aaaaaaaaaaaaaab
mov qword [rsp + 0x70], rsi
mov rax, r13
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, edi
cmp rax, rdx
jb 0x14004f121
xor esi, esi
test r12b, 1
je 0x14004f64d
mov rcx, qword [rbp + 0xe0]
and r12d, 0xfffffffe
mov dword [rsp + 0x30], r12d
test rcx, rcx
je 0x14004f64d
mov rax, qword [rbp + 0xf0]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f636
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004fd64
call fcn.1400520cc
xorps xmm0, xmm0
mov qword [rbp + 0xf0], rsi
movdqu xmmword [rbp + 0xe0], xmm0
mov rdx, qword [r14 + 0x18]
lea rbx, [r14 + 0x18]
cmp rdx, 0xf
jbe 0x14004f68b
mov rcx, qword [r14]
inc rdx
cmp rdx, 0x1000
jb 0x14004f686
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004fd64
mov rcx, r8
call fcn.1400520cc
mov rdi, qword [rsp + 0x40]
mov r8d, 0x10
mov rdx, rsi
mov rax, r14
mov ecx, 0xf
mov qword [r14 + r8], rdx
mov qword [rbx], rcx
lea rcx, str.win32u.dll
mov byte [rax], 0
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, str.NtUserSetWindowDisplayAffinity
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, 0x5eb
mov qword [rsp + 0x20], rsi
mov word [rbp + 0xc0], cx
lea r8, [rbp + 0xc0]
mov rcx, qword [r15 + 0x20]
mov r9d, 2
lea rdx, [rax + 0x10]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rax, qword [rbp + 0xe8]
mov r14d, esi
mov r10, qword [rbp + 0xe0]
sub rax, r10
mov dword [rbp + 0xc0], esi
sar rax, 3
test rax, rax
je 0x14004fa65
mov r12, rsi
nop
mov r8, qword [r15]
mov rax, r13
mov rcx, qword [r15 + 8]
mov r11d, esi
sub rcx, r8
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14004f79f
mov r9, rsi
nop word [rax + rax]
mov rcx, qword [r8 + r9]
mov rax, qword [r10 + r12]
cmp rcx, rax
jae 0x14004f772
sub rax, rcx
cmp rax, qword [r8 + r9 + 0x18]
jae 0x14004f772
mov qword [r10 + r12], rcx
mov r10, qword [rbp + 0xe0]
mov r8, qword [r15]
inc r11d
mov rcx, qword [r15 + 8]
mov rax, r13
sub rcx, r8
add r9, 0x30
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r11d
cmp rax, rdx
jb 0x14004f750
mov ecx, 0x180000
call fcn.14005243c
mov rdx, qword [rbp + 0xe0]
mov r9d, 0x180000
mov rcx, qword [r15 + 0x20]
mov r8, rax
mov r13, rax
mov qword [rsp + 0x20], rsi
mov rdx, qword [rdx + r12]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
xorps xmm0, xmm0
lea rcx, [rbp + 0x100]
xor eax, eax
mov rdx, rdi
movups xmmword [rbp + 0xc8], xmm0
mov qword [rbp + 0xd8], rax
call fcn.1400500e0
mov qword [rbp + 0xd8], rsi
mov rbx, rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc8], xmm0
movsxd rcx, dword [rax + 0x10]
mov eax, 0x180000
sub eax, ecx
mov rsi, rcx
test eax, eax
jle 0x14004f8c5
mov r9, qword [rbp + 0xd0]
lea rcx, [rbp - 0x58]
xor r14d, r14d
mov r15d, eax
mov rdi, r13
sub rdi, rcx
xor edx, edx
test rsi, rsi
jle 0x14004f869
mov r8, qword [rbx + 0x18]
nop
mov rax, rbx
cmp r8, 0xf
jbe 0x14004f84c
mov rax, qword [rbx]
cmp byte [rdx + rax], 0x3f
je 0x14004f861
lea rcx, [rbp - 0x58]
add rcx, rdx
movzx eax, byte [rcx + rdi]
cmp byte [rcx], al
jne 0x14004f8a9
inc rdx
cmp rdx, rsi
jl 0x14004f840
mov qword [rsp + 0x48], r14
cmp r9, qword [rbp + 0xd8]
je 0x14004f88e
mov qword [r9], r14
mov r9, qword [rbp + 0xd0]
add r9, 8
mov qword [rbp + 0xd0], r9
jmp 0x14004f8a9
lea r8, [rsp + 0x48]
mov rdx, r9
lea rcx, [rbp + 0xc8]
call fcn.140051800
mov r9, qword [rbp + 0xd0]
inc r14
inc rdi
sub r15, 1
jne 0x14004f833
mov r14d, dword [rbp + 0xc0]
mov r15, qword [rsp + 0x38]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x14004f8ff
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x14004f8fa
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004fd6b
mov rcx, r8
call fcn.1400520cc
xor esi, esi
mov qword [rbx + 0x18], 0xf
mov rcx, r13
mov qword [rbx + 0x10], rsi
mov byte [rbx], sil
call fcn.1400520cc
mov rdx, qword [rbp + 0xd0]
mov r10d, esi
mov r8, qword [rbp + 0xc8]
mov rax, rdx
sub rax, r8
sar rax, 3
test rax, rax
je 0x14004f977
mov r9d, esi
nop dword [rax + rax]
mov rax, qword [rbp + 0xe0]
lea r9, [r9 + 8]
inc r10d
mov rcx, qword [rax + r12]
add qword [r8 + r9 - 8], rcx
mov rdx, qword [rbp + 0xd0]
mov r8, qword [rbp + 0xc8]
mov rcx, rdx
sub rcx, r8
movsxd rax, r10d
sar rcx, 3
cmp rax, rcx
jb 0x14004f940
sub rdx, r8
mov edi, esi
sar rdx, 3
test rdx, rdx
je 0x14004f9e2
mov rdx, qword [rsp + 0x58]
mov rbx, rsi
nop dword [rax]
add r8, rbx
cmp rdx, qword [rsp + 0x60]
je 0x14004f9b0
mov rax, qword [r8]
mov qword [rdx], rax
mov rdx, qword [rsp + 0x58]
add rdx, 8
mov qword [rsp + 0x58], rdx
jmp 0x14004f9bf
lea rcx, [rsp + 0x50]
call fcn.140051800
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rbp + 0xd0]
inc edi
mov r8, qword [rbp + 0xc8]
add rbx, 8
sub rcx, r8
movsxd rax, edi
sar rcx, 3
cmp rax, rcx
jb 0x14004f990
test r8, r8
je 0x14004fa22
mov rdx, qword [rbp + 0xd8]
mov rax, r8
sub rdx, r8
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x14004fa1a
mov r8, qword [r8 - 8]
add rdx, 0x27
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004fd72
mov rcx, r8
call fcn.1400520cc
mov rcx, qword [rbp + 0xe8]
inc r14d
mov r10, qword [rbp + 0xe0]
add r12, 8
mov rdi, qword [rsp + 0x40]
sub rcx, r10
sar rcx, 3
movabs r13, 0x2aaaaaaaaaaaaaab
movsxd rax, r14d
mov dword [rbp + 0xc0], r14d
cmp rax, rcx
jb 0x14004f720
mov r12d, dword [rsp + 0x30]
test r10, r10
je 0x14004fab7
mov rdx, qword [rbp + 0xf0]
mov rax, r10
sub rdx, r10
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x14004fa9d
mov r10, qword [r10 - 8]
add rdx, 0x27
sub rax, r10
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004fd79
mov rcx, r10
call fcn.1400520cc
xorps xmm0, xmm0
mov qword [rbp + 0xf0], rsi
movdqu xmmword [rbp + 0xe0], xmm0
mov rbx, qword [rsp + 0x40]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x14004faf6
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x14004faf1
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004fd79
mov rcx, r8
call fcn.1400520cc
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rcx, qword [0x140064150]
test rcx, rcx
je 0x14004fb49
mov rdx, qword [0x140064160]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x14004fb44
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004fd80
mov rcx, r8
call fcn.1400520cc
mov rcx, qword [0x140064980]
lea r8, [rbp + 0x130]
movups xmm0, xmmword [rsp + 0x50]
mov r9d, 8
mov qword [rsp + 0x20], rsi
movsd xmm1, qword [rsp + 0x60]
movups xmmword [0x140064150], xmm0
movsd qword [0x140064160], xmm1
mov rdx, qword [rcx + 0x28]
mov rcx, qword [rcx + 0x20]
add rdx, 0x3e1e2b8
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140064980]
lea r8, [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov r9d, 8
add rdx, 0x5a0
mov qword [rsp + 0x20], rsi
mov rcx, qword [rcx + 0x20]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140064980]
lea r8, [rbp + 0x170]
mov rdx, qword [rbp + 0x138]
mov r9d, 8
add rdx, 0x118
mov qword [rsp + 0x20], rsi
mov rcx, qword [rcx + 0x20]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140064980]
lea r8, [rbp + 0x140]
mov r9d, 8
mov qword [rsp + 0x20], rsi
mov rdx, qword [rcx + 0x28]
mov rcx, qword [rcx + 0x20]
add rdx, 0x3e1e2b8
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140064980]
lea r8, [rbp - 0x30]
mov rdx, qword [rbp + 0x140]
mov r9d, 0x80
add rdx, 0x7e0
mov qword [rsp + 0x20], rsi
mov qword [0x140064930], rdx
mov rcx, qword [rcx + 0x20]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movaps xmm0, xmmword [rbp - 0x30]
mov ecx, 0x2d
movaps xmm1, xmmword [rbp - 0x20]
movaps xmmword [0x1400648b0], xmm0
movaps xmm0, xmmword [rbp - 0x10]
movaps xmmword [0x1400648c0], xmm1
movaps xmm1, xmmword [rbp]
movaps xmmword [0x1400648d0], xmm0
movaps xmm0, xmmword [rbp + 0x10]
movaps xmmword [0x1400648e0], xmm1
movaps xmm1, xmmword [rbp + 0x20]
movaps xmmword [0x1400648f0], xmm0
movaps xmm0, xmmword [rbp + 0x30]
movaps xmmword [0x140064900], xmm1
movaps xmm1, xmmword [rbp + 0x40]
movaps xmmword [0x140064910], xmm0
movaps xmmword [0x140064920], xmm1
call fcn.140044b10
test ax, ax
je 0x14004fcd6
cmp byte [0x1400640c6], 0
mov ecx, 0xfa
sete byte [0x1400640c6]
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x23
call fcn.140044b10
test ax, ax
jne 0x14004fd9a
mov rdx, qword [rbp + 0x160]
movabs r13, 0x2aaaaaaaaaaaaaab
mov rax, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x14004ed20
mov rcx, qword [rbp + 0x148]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004fd34
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004fd87
call fcn.1400520cc
mov rax, qword [rsp + 0x78]
jmp 0x14004ed20
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140044380
int3
call fcn.140044420
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3