Function at 0x140052c40
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe0
mov rsi, qword [0x14024ad10]
mov rbx, rcx
mov ecx, 1
movaps xmmword [rsp + 0xd0], xmm6
mov r15d, r8d
mov rdi, rdx
call fcn.1400285c0
test rbx, rbx
je 0x140052cd9
mov rdx, rbx
cmp rbx, 0xffffffffffffffff
jae 0x140052cd9
movzx eax, byte [rdx]
test al, al
je 0x140052ca0
cmp al, 0x23
jne 0x140052c97
cmp byte [rdx + 1], al
je 0x140052ca0
inc rdx
cmp rdx, 0xffffffffffffffff
jb 0x140052c87
cmp rdx, rbx
jbe 0x140052cd9
xor r8d, r8d
mov rcx, rbx
call fcn.140043870
mov rax, qword [0x14024ad10]
mov rcx, qword [rax + 0x3ea8]
cmp byte [rcx + 0x9b], 0
jne 0x140052cd9
mov eax, dword [rcx + 0x19c]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.140046970
movss xmm0, dword [rsi + 0x3c18]
movss xmm1, dword [rsi + 0x3838]
mov esi, r15d
mulss xmm0, dword [0x1400b52c4]
addss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [0x1400b5284]
movss dword [rbp + 0x67], xmm1
movss dword [rbp + 0x6b], xmm1
and esi, 2
je 0x140052d18
movaps xmm1, xmm0
jmp 0x140052d1d
movss xmm1, dword [rdi + 0xc]
movss xmm2, dword [rdi]
xorps xmm6, xmm6
comiss xmm6, xmm2
movss xmm3, dword [rdi + 4]
movss xmm4, dword [rdi + 8]
movss dword [rbp + 7], xmm2
movss dword [rbp + 0xb], xmm3
movss dword [rbp + 0xf], xmm4
movss dword [rbp + 0x13], xmm1
jbe 0x140052d4c
xorps xmm1, xmm1
jmp 0x140052d53
movaps xmm1, xmm0
minss xmm1, xmm2
comiss xmm6, xmm3
movss xmm2, dword [0x1400b5368]
movss xmm5, dword [0x1400b5234]
mulss xmm1, xmm2
addss xmm1, xmm5
cvttss2si eax, xmm1
mov dword [rbp + 0x77], eax
jbe 0x140052d7c
xorps xmm1, xmm1
jmp 0x140052d83
movaps xmm1, xmm0
minss xmm1, xmm3
comiss xmm6, xmm4
mulss xmm1, xmm2
addss xmm1, xmm5
cvttss2si r13d, xmm1
jbe 0x140052d9a
xorps xmm1, xmm1
jmp 0x140052da1
movaps xmm1, xmm0
minss xmm1, xmm4
mulss xmm1, xmm2
mov qword [rsp + 0x128], r14
addss xmm1, xmm5
cvttss2si r12d, xmm1
test esi, esi
je 0x140052dc2
mov r14d, 0xff
jmp 0x140052de2
movss xmm1, dword [rdi + 0xc]
comiss xmm6, xmm1
jbe 0x140052dd1
xorps xmm0, xmm0
jmp 0x140052dd5
minss xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, xmm5
cvttss2si r14d, xmm0
xor ebx, ebx
mov dword [rbp - 0x49], 0x15164647
mov edx, ebx
mov dword [rbp - 0x45], 0xe031f0d
mov word [rbp - 0x41], 0x1b
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x64]
inc edx
xor byte [rbp + rcx - 0x49], al
cmp edx, 9
jb 0x140052e00
mov r8d, r15d
mov byte [rbp - 0x40], bl
and r8d, 0x18060002
lea r9, [rbp + 0x67]
or r8d, 0x40
lea rdx, [rbp + 7]
lea rcx, [rbp - 0x49]
call fcn.140052200
movss xmm1, dword [0x1400b53e0]
movaps xmm0, xmm6
call fcn.140027800
movaps xmm6, xmmword [rsp + 0xd0]
bt r15d, 0x1b
jb 0x140052f4b
test r15d, 0x18000000
je 0x140052f4b
bt r15d, 0x1c
jae 0x1400530a9
movss xmm3, dword [rdi + 8]
movss xmm2, dword [rdi + 4]
movdqa xmm0, xmmword [str.__FBFZ_fGL_TOU_A]
cvtps2pd xmm3, xmm3
cvtps2pd xmm2, xmm2
movdqu xmmword [rbp - 0x3f], xmm0
test esi, esi
je 0x140052ee2
movss xmm1, dword [rdi]
cvtps2pd xmm1, xmm1
mov dword [rbp - 0x2f], 0x4d205558
mov dword [rbp - 0x2b], 0x48545c58
mov word [rbp - 0x27], 0x1a
nop word [rax + rax]
movsxd rcx, ebx
lea eax, [rbx + 0x64]
inc ebx
xor byte [rbp + rcx - 0x3f], al
cmp ebx, 0x19
jb 0x140052eb0
movq r9, xmm3
mov byte [rbp - 0x26], 0
movq r8, xmm2
lea rcx, [rbp - 0x3f]
movq rdx, xmm1
call fcn.140044110
jmp 0x1400530a9
movss xmm4, dword [rdi + 0xc]
xor eax, eax
movss xmm5, dword [rdi]
movdqa xmm1, xmmword [str.XU_MXTH]
cvtps2pd xmm4, xmm4
mov byte [rbp - 0x1d], al
mov word [rbp - 0x1f], 0xe3b7
cvtps2pd xmm5, xmm5
movdqu xmmword [rbp - 0x2f], xmm1
nop dword [rax]
movsxd rcx, ebx
lea eax, [rbx + 0x64]
inc ebx
xor byte [rbp + rcx - 0x3f], al
cmp ebx, 0x22
jb 0x140052f10
movq r9, xmm3
movsd qword [rsp + 0x20], xmm4
movq r8, xmm2
mov byte [rbp - 0x1d], 0
movaps xmm1, xmm5
lea rcx, [rbp - 0x3f]
movq rdx, xmm5
call fcn.140044110
jmp 0x1400530a9
test esi, esi
je 0x140052fee
movdqa xmm0, xmmword [0x1400b5cb0]
xor eax, eax
movss xmm2, dword [rdi + 8]
movss xmm3, dword [rdi + 4]
movss xmm4, dword [rdi]
movdqa xmm1, xmmword [0x1400b6040]
movdqu xmmword [rbp - 0x3f], xmm0
mov dword [rbp - 0xf], 0xbef0a6ba
movdqa xmm0, xmmword [0x1400b6240]
movdqu xmmword [rbp - 0x1f], xmm0
mov byte [rbp - 0xb], al
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
cvtps2pd xmm4, xmm4
movdqu xmmword [rbp - 0x2f], xmm1
nop dword [rax]
movsxd rcx, ebx
lea eax, [rbx + 0x64]
inc ebx
xor byte [rbp + rcx - 0x3f], al
cmp ebx, 0x34
jb 0x140052fa0
mov eax, dword [rbp + 0x77]
lea rcx, [rbp - 0x3f]
movsd qword [rsp + 0x48], xmm2
mov r9d, r12d
movsd qword [rsp + 0x40], xmm3
mov r8d, r13d
movsd qword [rsp + 0x38], xmm4
mov edx, eax
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], eax
mov byte [rbp - 0xb], 0
call fcn.140044110
jmp 0x1400530a9
movdqa xmm0, xmmword [0x1400b5c40]
movdqa xmm1, xmmword [0x1400b6260]
movss xmm2, dword [rdi + 0xc]
movss xmm3, dword [rdi + 8]
movss xmm4, dword [rdi + 4]
movss xmm5, dword [rdi]
movdqu xmmword [rbp - 0x3f], xmm0
mov word [rbp + 1], 0x8d
movdqa xmm0, xmmword [0x1400b61b0]
movdqu xmmword [rbp - 0x2f], xmm1
movdqa xmm1, xmmword [0x1400b6350]
movdqu xmmword [rbp - 0x1f], xmm0
movdqu xmmword [rbp - 0xf], xmm1
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
cvtps2pd xmm4, xmm4
cvtps2pd xmm5, xmm5
nop word [rax + rax]
movsxd rcx, ebx
lea eax, [rbx + 0x64]
inc ebx
xor byte [rbp + rcx - 0x3f], al
cmp ebx, 0x41
jb 0x140053050
mov eax, dword [rbp + 0x77]
lea rcx, [rbp - 0x3f]
movsd qword [rsp + 0x60], xmm2
mov r9d, r12d
movsd qword [rsp + 0x58], xmm3
mov r8d, r13d
movsd qword [rsp + 0x50], xmm4
mov edx, eax
movsd qword [rsp + 0x48], xmm5
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r14d
mov byte [rbp + 2], 0
call fcn.140044110
call fcn.140025f30
mov r14, qword [rsp + 0x128]
add rsp, 0xe0
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret