Function at 0x140031860
Capabilities:
Encode data using xor
Get graphical window text

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2b8]
sub rsp, 0x380
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [0x1400ac2c0]
xor rax, rsp
mov qword [rbp + 0x250], rax
mov rax, rdx
mov r13, rcx
xor edi, edi
mov r8d, 0x100
lea rdx, [rbp + 0x50]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowTextW]
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
lea rax, [rbp + 0x50]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp word [rax + r8*2], di
jne 0x1400318d1
lea rdx, [rbp + 0x50]
lea rcx, [rbp - 0x28]
call fcn.140059c20
nop
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 7
cmova rdx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x18]
lea r8, [rdx + rax*2]
lea rdx, [rbp - 0x28]
cmova rdx, qword [rbp - 0x28]
lea rcx, [rbp - 8]
call fcn.140058760
nop
lea rcx, [rbp - 0x48]
call fcn.140008690
nop
mov r14, qword [rbp - 0x38]
test r14, r14
je 0x140031ef6
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r14
cmp rax, 1
jb 0x140032388
lea r12, [rbp - 0x48]
cmp qword [rbp - 0x30], 0xf
cmova r12, qword [rbp - 0x48]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
lea r15, [r14 + 1]
mov edi, 0xf
lea rsi, [rsp + 0x30]
cmp r15, rdi
jbe 0x1400319ef
mov rdi, r15
or rdi, 0xf
cmp rdi, rcx
jbe 0x1400319b1
mov rdi, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400626b8
test rax, rax
je 0x14003238e
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1400319ea
mov eax, 0x16
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x1400319ca
xor esi, esi
jmp 0x1400319ea
cmp rcx, 0x1000
jb 0x1400319e2
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140032382
jmp 0x140031992
call fcn.1400626b8
mov rsi, rax
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], rdi
mov r8, r14
mov rdx, r12
mov rcx, rsi
call fcn.140087ed0
mov byte [rsi + r14], 0x5c
mov byte [rsi + r15], 0
lea rdx, [rbp - 8]
cmp qword [rbp + 0x10], 0xf
cmova rdx, qword [rbp - 8]
mov r8, qword [rbp + 8]
lea rcx, [rsp + 0x30]
call fcn.140052330
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x58], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x58], xmm1
xor edi, edi
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140031a99
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031a94
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140032394
call fcn.1400626b0
movdqa xmm0, xmmword [0x14009e340]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], dil
movups xmm3, xmmword [str.wZXDLKOXHXZ]
movups xmmword [rsp + 0x78], xmm3
movzx eax, word [0x14009c858]
mov word [rbp - 0x78], ax
movzx eax, byte [0x14009c85a]
mov byte [rbp - 0x76], al
mov r8d, edi
cmp dword [0x1400ac318], 2
jl 0x140031c8d
movdqa xmm5, xmmword [0x14009e430]
movdqa xmm6, xmmword [str.3333]
movdqa xmm7, xmmword [0x14009e410]
movdqa xmm2, xmmword [0x14009e350]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
movdqa xmm4, xmmword [0x14009e3f0]
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm7
movd eax, xmm3
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rsp + 0x78], xmm2
movdqa xmm2, xmmword [0x14009e370]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm7
movd xmm0, dword [rsp + 0x7c]
xorps xmm2, xmm0
movd dword [rsp + 0x7c], xmm2
movdqa xmm3, xmmword [0x14009e390]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm5
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmm7
movd xmm0, dword [rbp - 0x80]
xorps xmm3, xmm0
movd dword [rbp - 0x80], xmm3
movdqa xmm2, xmmword [0x14009e3b0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm7
movd xmm0, dword [rbp - 0x7c]
xorps xmm2, xmm0
movd dword [rbp - 0x7c], xmm2
mov r8d, 0x10
mov eax, r8d
lea r9, [rsp + 0x78]
add r9, rax
nop dword [rax + rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x34
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x13
jl 0x140031ca0
lea r8, [rbp - 0x68]
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x58]
call fcn.140058600
nop
mov r8d, 2
lea rdx, [0x14009aad4]
mov rcx, rax
call fcn.140052330
movups xmm7, xmmword [rax]
movups xmmword [rsp + 0x78], xmm7
movups xmm6, xmmword [rax + 0x10]
movups xmmword [rbp - 0x78], xmm6
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x140031d58
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031d53
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003239a
call fcn.1400626b0
movdqa xmm0, xmmword [0x14009e340]
movdqu xmmword [rsp + 0x68], xmm0
mov byte [rsp + 0x58], 0
lea rdx, [rsp + 0x78]
movq rcx, xmm7
psrldq xmm6, 8
movq rax, xmm6
cmp rax, 0xf
cmova rdx, rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
nop dword [rax + rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x140031da0
mov r8, rbx
lea rcx, [rsp + 0x30]
call fcn.140005560
nop
mov r8d, 0xff00
lea rdx, [rsp + 0x30]
mov rcx, r13
call fcn.140005a90
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140031e08
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031e03
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400323a0
call fcn.1400626b0
mov dword [rbp + 0x28], 0x8bc4a31f
mov dword [rbp + 0x2c], 0x39e17ad2
mov dword [rbp + 0x30], 0x5f0d945f
mov dword [rbp + 0x34], 0x3fc9a821
mov dword [rbp + 0x38], 0x25f1bd6e
mov dword [rbp + 0x3c], 0x8dc6a578
mov dword [rbp + 0x40], 0x9641b23e
mov dword [rbp + 0x44], 0x9d07f35a
mov dword [rbp + 0x18], 0xb74ed3a5
mov dword [rbp + 0x1c], 0x1e59f28c
mov dword [rbp + 0x20], 0xf58a7ba1
mov dword [rbp + 0x24], 0x12e73a9c
lea rax, [rbp + 0x18]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x28]
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x68]
call fcn.140019660
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 0xf
jbe 0x140031eb4
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031eae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400323a6
call fcn.1400626b0
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0xf
jbe 0x140031eef
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031eea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400323ac
call fcn.1400626b0
mov bl, 1
jmp 0x140032282
movups xmm7, xmmword [0x14009d588]
movups xmmword [rsp + 0x78], xmm7
movsd xmm0, qword [0x14009d598]
movsd qword [rbp - 0x78], xmm0
movzx eax, word [0x14009d5a0]
mov word [rbp - 0x70], ax
movzx eax, byte [0x14009d5a2]
mov byte [rbp - 0x6e], al
mov r8d, edi
cmp dword [0x1400ac318], 2
jl 0x1400321bc
movdqa xmm5, xmmword [0x14009e430]
movdqa xmm6, xmmword [str.3333]
movdqa xmm3, xmmword [0x14009e350]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm5
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
movdqa xmm4, xmmword [0x14009e3f0]
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
mov ecx, dword [0x14009e410]
movd xmm0, ecx
paddb xmm3, xmm0
movd eax, xmm7
movd xmm0, eax
xorps xmm3, xmm0
movd dword [rsp + 0x78], xmm3
movdqa xmm2, xmmword [0x14009e370]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x7c]
xorps xmm2, xmm1
movd dword [rsp + 0x7c], xmm2
movdqa xmm3, xmmword [0x14009e390]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm5
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, ecx
paddb xmm3, xmm0
movd xmm1, dword [rbp - 0x80]
xorps xmm3, xmm1
movd dword [rbp - 0x80], xmm3
movdqa xmm2, xmmword [0x14009e3b0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x7c]
xorps xmm2, xmm1
movd dword [rbp - 0x7c], xmm2
movdqa xmm3, xmmword [0x14009e3c0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm5
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, ecx
paddb xmm3, xmm0
movd xmm1, dword [rbp - 0x78]
xorps xmm3, xmm1
movd dword [rbp - 0x78], xmm3
movdqa xmm2, xmmword [0x14009e3d0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x74]
xorps xmm2, xmm1
movd dword [rbp - 0x74], xmm2
mov r8d, 0x18
mov eax, r8d
lea r9, [rsp + 0x78]
add r9, rax
nop word [rax + rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x34
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x1b
jl 0x1400321d0
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x58], xmm1
lea rax, [rsp + 0x78]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140032217
mov r8, rbx
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x68]
call fcn.140005560
nop
mov r8d, 0xff
lea rdx, [rbp - 0x68]
mov rcx, r13
call fcn.140005a90
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0xf
jbe 0x140032280
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003227b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400323b2
call fcn.1400626b0
xor bl, bl
mov rdx, qword [rbp - 0x30]
cmp rdx, 0xf
jbe 0x1400322bd
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400322b8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400323b8
call fcn.1400626b0
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
mov rdx, qword [rbp + 0x10]
cmp rdx, 0xf
jbe 0x140032309
inc rdx
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140032303
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400323be
call fcn.1400626b0
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 7
jbe 0x140032345
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140032340
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003237c
call fcn.1400626b0
movzx eax, bl
mov rcx, qword [rbp + 0x250]
xor rcx, rsp
call fcn.140062690
lea r11, [rsp + 0x380]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14007025c
nop
call fcn.140001b30
nop
call fcn.140001cc0
int3
call fcn.14007025c
nop
call fcn.14007025c
nop
call fcn.14007025c
int3
call fcn.14007025c
nop
call fcn.14007025c
nop
call fcn.14007025c
int3
call fcn.14007025c
nop
call fcn.14007025c
nop
call fcn.14007025c
int3