Function at 0x140009710
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x50
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rdi
mov rdi, rcx
call fcn.140034020
xor ebx, ebx
test rax, rax
je 0x140009742
call fcn.140034050
mov rsi, qword [rax + 0x90]
jmp 0x140009745
mov rsi, rbx
call fcn.140034050
mov rbp, rax
call fcn.140005350
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x140009761
mov rdx, qword [rcx]
call qword [rdx + 0x10]
mov rcx, qword [rsi]
test rcx, rcx
je 0x14000976f
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x14000977e
mov rax, qword [rcx]
call qword [rax + 0x10]
and dword [rbp + 4], 0xfffffff7
mov rcx, rsi
mov qword [rbp + 0x80], rbx
mov qword [rbp + 0x90], rbx
call fcn.140044ba0
call fcn.140034020
test rax, rax
je 0x1400097b0
call fcn.140034050
mov rbp, qword [rax + 0x88]
jmp 0x1400097b3
mov rbp, rbx
call fcn.140034050
mov rcx, qword [rbp + 0x30]
mov rsi, rax
test rcx, rcx
je 0x1400097ca
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
and dword [rsi + 4], 0xfffffff8
mov rcx, rbp
mov qword [rsi + 0x78], rbx
mov qword [rsi + 0x88], rbx
call fcn.140044ba0
xor ecx, ecx
call fcn.140033fa0
mov rcx, qword [rdi + 0x10]
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x60]
test rcx, rcx
je 0x140009805
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rdi + 0x10], rbx
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x140009818
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rdi + 0x18], rbx
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14000982b
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rdi + 8], rbx
mov rcx, qword [rdi]
test rcx, rcx
je 0x14000983c
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rdi], rbx
mov rcx, qword [rdi + 0x20]
call qword [sym.imp.USER32.dll_DestroyWindow]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
cmp word [0x1400e69fa], bx
mov r9, rax
movups xmm3, xmmword [str.rG_zYW_YO]
mov ecx, dword [0x1400e69f8]
movsd xmm0, qword [0x1400e69f0]
mov rdi, qword [rsp + 0x70]
movups xmmword [rsp + 0x20], xmm3
mov dword [rsp + 0x38], ecx
movsd qword [rsp + 0x30], xmm0
je 0x1400099d1
cmp dword [0x1400ed150], 2
jl 0x14000998d
movdqa xmm2, xmmword [0x1400e6ca0]
mov eax, 4
movdqa xmm4, xmmword [0x1400e6dd0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov ebx, 8
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movaps xmmword [rsp + 0x40], xmm6
movd xmm6, eax
mov eax, 0x1f
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movd xmm5, eax
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400e6ce0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movq xmm1, xmm3
movdqa xmm3, xmmword [0x1400e6cc0]
paddw xmm2, xmmword [0x1400e6d00]
movdqa xmm0, xmm3
xorps xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movq qword [rsp + 0x20], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movaps xmm6, xmmword [rsp + 0x40]
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400e6ce0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x28]
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmmword [0x1400e6d00]
xorps xmm2, xmm0
movq qword [rsp + 0x28], xmm2
movsxd rax, ebx
lea r8, [rsp + 0x20]
lea r8, [r8 + rax*2]
nop dword [rax]
mov eax, 0x4d4873ed
lea r8, [r8 + 2]
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x35
movzx eax, bx
inc ebx
sub ax, cx
add ax, 0x34
xor word [r8 - 2], ax
cmp ebx, 0xe
jl 0x1400099a0
mov rdx, r9
lea rcx, [rsp + 0x20]
call qword [sym.imp.USER32.dll_UnregisterClassW]
add rsp, 0x50
pop rbx
ret