Function at 0x140072930
Capabilities:
Create thread
Encode data using xor
Enumerate process modules

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
push rdi
sub rsp, 0x310
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rax - 0x88], xmm13
mov rax, qword [0x1403a8040]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Launch_in_Main_Menu_and_go_to_Practice_Range.._n
call fcn.140074110
nop dword [rax]
nop word [rax + rax]
mov rsi, qword [0x1403b1d30]
lea rcx, str.TankWindowClass
xor edx, edx
call qword [sym.imp.USER32.dll_FindWindowA]
xor edx, edx
lea rcx, str.TankWindowClass
mov qword [rsi + 0x41], rax
call qword [sym.imp.USER32.dll_FindWindowA]
mov rcx, rax
lea rdx, [rsp + 0x20]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov r8d, dword [rsp + 0x20]
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov edx, dword [rsp + 0x20]
mov ecx, 0x18
mov qword [rsi + 0x19], rax
xor edi, edi
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140072a50
lea rdx, [rsp + 0x30]
mov dword [rsp + 0x30], 0x238
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Module32First]
test eax, eax
je 0x140072a50
lea rdx, str.Overwatch.exe
lea rcx, [rsp + 0x60]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
je 0x140072a4b
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Module32Next]
test eax, eax
jne 0x140072a21
jmp 0x140072a50
mov rdi, qword [rsp + 0x48]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsi + 0x21], rdi
test rdi, rdi
je 0x140072a72
mov rcx, qword [0x1403b1d30]
call fcn.14004cc50
test al, al
jne 0x140072a95
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Waiting_Overwatch.._n
call fcn.140074110
mov ecx, 0x7d0
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1400729a0
xor r8d, r8d
lea rcx, [0x1400575d0]
xor edx, edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthread]
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r8d, r8d
lea rcx, [0x140057720]
xor edx, edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthread]
xor r8d, r8d
lea rcx, [0x140059df0]
xor edx, edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthread]
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r8d, r8d
lea rcx, [0x140065bb0]
xor edx, edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthread]
xor r8d, r8d
lea rcx, [0x140060f50]
xor edx, edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthread]
xor r8d, r8d
lea rcx, [0x14006a9a0]
xor edx, edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthread]
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r8d, r8d
lea rcx, [0x140072810]
xor edx, edx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthread]
mov ebx, dword [0x1403a8090]
movabs rdi, 0x6b5c14ca4d03da3e
movdqa xmm11, xmmword [0x14039deb0]
movdqa xmm7, xmmword [0x14039de90]
movdqa xmm8, xmmword [0x14039de70]
movdqa xmm9, xmmword [0x14039de60]
movdqa xmm10, xmmword [0x14039de40]
movdqa xmm12, xmmword [0x14039dec0]
movdqa xmm13, xmmword [str.6666]
movdqa xmm6, xmmword [0x14039e450]
nop word [rax + rax]
movups xmm2, xmmword [str.aWYSnSUXRI__10D]
movdqa xmm0, xmm2
psrldq xmm0, 0xf
movd eax, xmm0
movups xmmword [rsp + 0x270], xmm2
test al, al
je 0x140072d9e
xor ecx, ecx
cmp ebx, 2
jl 0x140072d5f
movdqa xmm1, xmm10
movd eax, xmm2
punpckldq xmm1, xmm10
movdqa xmm0, xmm10
pmuldq xmm1, xmm6
punpckhdq xmm0, xmm10
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm10
pmulld xmm0, xmm13
psubd xmm1, xmm0
movd xmm0, eax
andps xmm1, xmm11
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm12
xorps xmm1, xmm0
movdqa xmm0, xmm9
movd dword [rsp + 0x270], xmm1
movdqa xmm1, xmm9
punpckldq xmm1, xmm9
pmuldq xmm1, xmm6
punpckhdq xmm0, xmm9
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm9
pmulld xmm0, xmm13
psubd xmm1, xmm0
movd xmm0, dword [rsp + 0x274]
andps xmm1, xmm11
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm12
xorps xmm1, xmm0
movdqa xmm0, xmm8
movd dword [rsp + 0x274], xmm1
movdqa xmm1, xmm8
punpckldq xmm1, xmm8
pmuldq xmm1, xmm6
punpckhdq xmm0, xmm8
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm8
pmulld xmm0, xmm13
psubd xmm1, xmm0
movd xmm0, dword [rsp + 0x278]
andps xmm1, xmm11
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm12
xorps xmm1, xmm0
movdqa xmm0, xmm7
movd dword [rsp + 0x278], xmm1
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
pmuldq xmm1, xmm6
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm7
pmulld xmm0, xmm13
psubd xmm1, xmm0
andps xmm1, xmm11
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd xmm0, dword [rsp + 0x27c]
paddb xmm1, xmm12
xorps xmm1, xmm0
movd dword [rsp + 0x27c], xmm1
jmp 0x140072d9e
lea r8, [rsp + 0x270]
nop word [rax + rax]
mov eax, 0x2f684bdb
lea r8, [r8 + 1]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul edx, eax, 0x36
movzx eax, cl
inc ecx
sub al, dl
add al, 0x35
xor byte [r8 - 1], al
cmp ecx, 0x10
jl 0x140072d70
xor edx, edx
lea rcx, [rsp + 0x270]
call qword [sym.imp.USER32.dll_FindWindowA]
test rax, rax
je 0x140072e2e
mov rcx, qword [0x1403b1d30]
mov rdx, qword [rcx + 0x21]
add rdx, 0x38095f0
call fcn.140073730
mov rcx, qword [0x1403b1d30]
xor rax, rdi
lea rdx, [rax + 0x20]
call fcn.140073730
mov rcx, qword [0x1403b1d30]
lea rdx, [rax + 0x58]
call fcn.140073730
mov rcx, qword [0x1403b1d30]
add rax, 0x140
mov qword [0x1403b1c50], rax
mov rdx, qword [rcx + 0x21]
add rdx, 0x3eddba8
call fcn.140073730
add rax, 0x7e0
mov ecx, 0x64
mov qword [0x1403b1ce0], rax
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140072b90
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.140076b60
lea r11, [rsp + 0x310]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop rdi
ret