Function at 0x180038ef0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
movaps xmmword [rsp + 0x90], xmm15
movaps xmmword [rsp + 0x80], xmm14
movaps xmmword [rsp + 0x70], xmm13
movaps xmmword [rsp + 0x60], xmm12
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm10
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp], xmm6
cmp byte [0x18005206e], 0
jne 0x1800392d0
lea rdx, [rcx + 0x38]
lea rax, [0x180052054]
cmp rdx, rax
jbe 0x180038f6a
lea rdx, [0x18005206e]
cmp rcx, rdx
jae 0x180038f6a
xor edx, edx
jmp 0x180039180
xor edx, edx
movaps xmm0, xmmword [0x1800425f0]
movaps xmm2, xmmword [str.GGGGGGGG]
movaps xmm4, xmmword [0x180043070]
movaps xmm9, xmmword [0x1800430a0]
movaps xmm13, xmmword [0x1800430d0]
movaps xmm3, xmmword [0x180043100]
movaps xmm11, xmmword [str._n_n_n_n_n_n_n_n]
movaps xmm15, xmmword [0x180043150]
movaps xmm1, xmmword [0x180043160]
nop
movsd xmm6, qword [rcx + rdx + 0x1e]
movsd xmm14, qword [rcx + rdx]
movaps xmm7, xmm6
andps xmm7, xmm0
movaps xmm8, xmm7
xorps xmm8, xmm0
movaps xmm5, xmm6
andps xmm5, xmmword [0x180043040]
movaps xmm10, xmm6
andps xmm10, xmm2
xorps xmm10, xmmword [str.DDDDDDDD]
orps xmm10, xmm8
orps xmm5, xmm10
movaps xmm12, xmm5
xorps xmm12, xmm2
xorps xmm5, xmmword [str.RRRRRRRR]
andps xmm5, xmm12
movaps xmm8, xmm7
xorps xmm8, xmmword [0x180043080]
andps xmm12, xmmword [0x180043090]
orps xmm12, xmm9
xorps xmm12, xmm5
movaps xmm5, xmm12
xorps xmm12, xmmword [0x1800425c0]
andps xmm12, xmm8
movaps xmm8, xmm14
andps xmm8, xmm4
xorps xmm5, xmmword [0x1800430b0]
xorps xmm7, xmmword [0x1800430c0]
andps xmm7, xmm5
orps xmm12, xmm7
orps xmm6, xmm4
orps xmm6, xmm10
movaps xmm7, xmm6
andnps xmm6, xmm12
andps xmm12, xmm13
andps xmm5, xmm9
orps xmm5, xmm12
andps xmm7, xmm13
xorps xmm7, xmm5
movaps xmm5, xmm7
xorps xmm5, xmm13
orps xmm6, xmm5
movaps xmm5, xmm8
andnps xmm5, xmmword [0x1800430e0]
orps xmm5, xmmword [str._f_f_f_f_f_f_f_f]
movaps xmm10, xmm14
andps xmm10, xmmword [0x1800430f0]
xorps xmm10, xmm5
movaps xmm5, xmm14
andps xmm5, xmm0
movaps xmm12, xmm14
andps xmm12, xmm3
andnps xmm8, xmmword [0x180043110]
orps xmm8, xmm12
movaps xmm12, xmm10
orps xmm12, xmm5
xorps xmm8, xmm5
xorps xmm8, xmmword [0x180043120]
xorps xmm14, xmm4
orps xmm14, xmm8
xorps xmm12, xmm3
movaps xmm5, xmm12
andps xmm5, xmmword [0x1800428f0]
andps xmm10, xmmword [str.LLLLLLLL]
orps xmm10, xmm5
xorps xmm10, xmm14
orps xmm12, xmm14
xorps xmm10, xmmword [0x180042ce0]
xorps xmm12, xmmword [0x180042990]
orps xmm12, xmm10
movaps xmm5, xmm6
andps xmm5, xmm11
andps xmm6, xmmword [0x180043140]
andps xmm7, xmmword [str.dddddddd]
orps xmm7, xmm6
movaps xmm6, xmm7
andps xmm6, xmm15
orps xmm6, xmm11
xorps xmm6, xmm5
movaps xmm5, xmm12
andps xmm5, xmm11
andps xmm7, xmm1
orps xmm7, xmm6
movaps xmm6, xmm12
andps xmm6, xmm15
orps xmm6, xmmword [str._b_b_b_b_b_b_b_b]
xorps xmm6, xmm5
andps xmm12, xmm1
orps xmm12, xmm6
xorps xmm12, xmm7
xorps xmm12, xmmword [str.FFFFFFFF]
movlps qword [rdx + rax], xmm12
add rdx, 8
cmp rdx, 0x18
jne 0x180038fb0
mov edx, 0x18
nop word cs:[rax + rax]
movzx r9d, byte [rcx + rdx]
movzx r11d, byte [rcx + rdx + 0x1e]
mov r10d, r9d
not r10b
mov esi, r11d
and sil, 3
mov ebx, esi
xor bl, 3
mov edi, r11d
and dil, 0xb8
mov r8d, r11d
and r8b, 0x47
xor r8b, 0x44
or r8b, bl
or dil, r8b
mov ebx, edi
xor bl, 0x47
or r10b, 3
xor dil, 0x52
and dil, bl
mov ebp, esi
xor bpl, 0x16
and bl, 0x15
or bl, 0xa0
xor bl, dil
mov edi, ebx
xor dil, 0xa1
xor sil, 0xe9
and sil, dil
xor bl, 2
and bl, bpl
or bl, sil
or r8b, r11b
or r8b, 0xfc
mov r11d, r8d
not r8b
and r8b, bl
and bl, 0x5f
and dil, 0xa0
or dil, bl
and r11b, 0x5f
xor r11b, dil
mov ebx, r11d
xor bl, 0x5f
or r8b, bl
mov ebx, r10d
and bl, 0x10
or bl, 0xc
mov edi, r9d
and dil, 0xec
xor dil, bl
mov ebx, r9d
and bl, 3
lea esi, [rdi + rbx]
mov ebp, r9d
and bpl, 0xe0
and r10b, 0x1d
or r10b, bpl
xor r10b, bl
xor r10b, 0x1e
xor r9b, 0xfc
or r9b, r10b
xor sil, 0xe0
mov r10d, esi
and r10b, 0xb3
and dil, 0x4c
or dil, r10b
xor dil, r9b
xor dil, 0x40
or sil, r9b
not sil
or sil, dil
mov r9d, r8d
and r9b, 0xa
and r8b, 0x91
and r11b, 0x64
or r11b, r8b
mov r8d, esi
and r8b, 0xa
mov r10d, r11d
and r10b, 5
or r10b, 0xa
xor r10b, r9b
and r11b, 0xf0
or r11b, r10b
mov r9d, esi
and r9b, 5
or r9b, 8
xor r9b, r8b
and sil, 0xf0
or sil, r9b
xor sil, r11b
xor sil, 0x46
mov byte [rdx + rax], sil
inc rdx
cmp rdx, 0x1a
jne 0x180039180
mov byte [0x18005206e], 1
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm12, xmmword [rsp + 0x60]
movaps xmm13, xmmword [rsp + 0x70]
movaps xmm14, xmmword [rsp + 0x80]
movaps xmm15, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
ret