Function at 0x180004250
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
xor ebx, ebx
movaps xmmword [rax - 0x38], xmm6
cmp byte [0x180009027], bl
mov edi, 1
je 0x1800047ec
movaps xmm0, xmmword [0x180008190]
lea r9, [rbp - 0x69]
movss xmm2, dword [0x18000906c]
xorps xmm6, xmm6
movss xmm1, dword [0x180008118]
movdqa xmmword [rbp - 0x69], xmm0
movss xmm0, dword [0x1800080cc]
movss dword [rsp + 0x20], xmm0
xorps xmm0, xmm0
unpcklps xmm0, xmm6
movq rcx, xmm0
call fcn.180004ac8
movss xmm0, dword [0x180008108]
lea r14d, [rdi + 5]
xor eax, eax
movss dword [0x180009058], xmm0
mov word [rbp - 0x5d], ax
mov edx, ebx
mov dword [0x180009060], ebx
mov esi, 0x4894
mov dword [rbp - 0x69], 0xb704b73a
mov dword [rbp - 0x65], 0xb71ab71d
mov dword [rbp - 0x61], 0xb71db711
movsxd rcx, edx
movzx eax, dx
sub ax, si
add edx, edi
xor word [rbp + rcx*2 - 0x69], ax
cmp edx, r14d
jb 0x180004307
lea rcx, [rbp - 0x69]
mov word [rbp - 0x5d], bx
call fcn.180006764
cmp dword [0x18000905c], r14d
jge 0x1800044b4
mov dword [rbp + 0x67], 0xb702b72e
mov edx, ebx
mov dword [rbp + 0x6b], 0xb716
movsxd rcx, edx
movzx eax, dx
sub ax, si
add edx, edi
xor word [rbp + rcx*2 + 0x67], ax
cmp edx, 3
jb 0x180004346
lea rdx, [0x180009019]
mov word [rbp + 0x6d], bx
lea rcx, [rbp + 0x67]
call fcn.180006b54
xor eax, eax
mov dword [rbp - 0x69], 0xb704b720
mov word [rbp - 0x61], ax
mov edx, ebx
mov dword [rbp - 0x65], 0xb70ab700
movsxd rcx, edx
movzx eax, dx
sub ax, si
add edx, edi
xor word [rbp + rcx*2 - 0x69], ax
cmp edx, 4
jb 0x180004385
lea rdx, [0x18000901a]
mov word [rbp - 0x61], bx
lea rcx, [rbp - 0x69]
call fcn.180006b54
xor eax, eax
mov dword [rbp - 0x69], 0xb708b724
mov word [rbp - 0x5d], ax
mov edx, ebx
mov dword [rbp - 0x65], 0xb703b70f
mov dword [rbp - 0x61], 0xb719b704
movsxd rcx, edx
movzx eax, dx
sub ax, si
add edx, edi
xor word [rbp + rcx*2 - 0x69], ax
cmp edx, r14d
jb 0x1800043cb
lea rdx, [0x18000901b]
mov word [rbp - 0x5d], bx
lea rcx, [rbp - 0x69]
call fcn.180006b54
xor eax, eax
mov dword [rbp - 0x69], 0xb705b73f
mov word [rbp - 0x5d], ax
mov edx, ebx
mov dword [rbp - 0x65], 0xb70ab707
mov dword [rbp - 0x61], 0xb715b71c
movsxd rcx, edx
movzx eax, dx
sub ax, si
add edx, edi
xor word [rbp + rcx*2 - 0x69], ax
cmp edx, r14d
jb 0x180004411
lea rdx, [0x180009024]
mov word [rbp - 0x5d], bx
lea rcx, [rbp - 0x69]
call fcn.180006b54
mov edx, ebx
mov dword [rbp + 0x67], 0xb702b72a
mov dword [rbp + 0x6b], 0xb718
movsxd rcx, edx
movzx eax, dx
sub ax, si
add edx, edi
xor word [rbp + rcx*2 + 0x67], ax
cmp edx, 3
jb 0x18000444a
lea rdx, [0x180009025]
mov word [rbp + 0x6d], bx
lea rcx, [rbp + 0x67]
call fcn.180006b54
xor eax, eax
mov dword [rbp - 0x69], 0xb70eb725
mov word [rbp - 0x61], ax
mov edx, ebx
mov dword [rbp - 0x65], 0xb701b701
movsxd rcx, edx
movzx eax, dx
sub ax, si
add edx, edi
xor word [rbp + rcx*2 - 0x69], ax
cmp edx, 4
jb 0x180004489
lea rdx, [0x180009026]
mov word [rbp - 0x61], bx
lea rcx, [rbp - 0x69]
call fcn.180006b54
jmp 0x1800044bb
add dword [0x180009060], r14d
xor eax, eax
mov dword [rbp - 0x69], 0xb704b72d
mov word [rbp - 0x5d], ax
mov edx, ebx
mov dword [rbp - 0x65], 0xb70db703
mov dword [rbp - 0x61], 0xb705b71f
movsxd rcx, edx
movzx eax, dx
sub ax, si
add edx, edi
xor word [rbp + rcx*2 - 0x69], ax
cmp edx, r14d
jb 0x1800044d8
lea rcx, [rbp - 0x69]
mov word [rbp - 0x5d], bx
call fcn.180006764
mov ecx, dword [0x18000905c]
mov edx, dword [0x180009060]
cmp ecx, edx
jl 0x1800047a2
lea eax, [rdx + 5]
cmp ecx, eax
jge 0x1800047a2
xor eax, eax
mov dword [rbp - 0x69], 0xb704b72d
mov word [rbp - 0x5d], ax
mov edx, ebx
mov dword [rbp - 0x65], 0xb70db703
mov dword [rbp - 0x61], 0xb705b71f
movsxd rcx, edx
movzx eax, dx
sub ax, si
add edx, edi
xor word [rbp + rcx*2 - 0x69], ax
cmp edx, r14d
jb 0x180004536
lea rdx, [0x180009018]
mov word [rbp - 0x5d], bx
lea rcx, [rbp - 0x69]
call fcn.180006b54
xor eax, eax
mov dword [rbp - 0x49], 0xb702b72f
mov word [rbp - 0x2d], ax
mov edx, ebx
mov dword [rbp - 0x45], 0xb71cb700
mov dword [rbp - 0x41], 0xb710b704
mov dword [rbp - 0x3d], 0xb707b71c
mov dword [rbp - 0x39], 0xb736b774
mov dword [rbp - 0x35], 0xb705b703
mov dword [rbp - 0x31], 0xb71cb70e
movsxd rcx, edx
movzx eax, dx
sub ax, si
add edx, edi
xor word [rbp + rcx*2 - 0x49], ax
cmp edx, 0xe
jb 0x180004598
mov word [rbp - 0x2d], bx
mov edx, ebx
mov dword [rbp - 0x69], 0xb700b73f
mov dword [rbp - 0x65], 0xb700b701
mov dword [rbp - 0x61], 0xb719b704
mov dword [rbp - 0x5d], 0xb727b752
mov dword [rbp - 0x59], 0xb705b70d
mov dword [rbp - 0x55], 0xb713
movsxd rcx, edx
movzx eax, dx
sub ax, si
add edx, edi
xor word [rbp + rcx*2 - 0x69], ax
cmp edx, 0xb
jb 0x1800045dd
mov r9d, edi
mov word [rbp - 0x53], bx
lea r8, [rbp - 0x49]
lea rdx, [0x180009054]
lea rcx, [rbp - 0x69]
call fcn.18000704c
mov edx, ebx
mov dword [rbp - 0x2b], 0xb708b720
mov dword [rbp - 0x27], 0xb71bb708
mov dword [rbp - 0x23], 0xb723b770
mov dword [rbp - 0x1f], 0xb714b71b
mov dword [rbp - 0x1b], 0xb701b71c
mov dword [rbp - 0x17], 0xb73ab776
mov dword [rbp - 0x13], 0xb71db711
mov dword [rbp - 0xf], 0xb717b71e
mov dword [rbp - 0xb], 0xb77db719
mov dword [rbp - 7], 0xb73db726
mov dword [rbp - 3], 0xb7f5b7f5
mov dword [rbp + 1], 0xb7ecb7f6
mov dword [rbp + 5], 0xb7b4b7ea
mov dword [rbp + 9], 0xb7dfb786
mov dword [rbp + 0xd], 0xb7fcb7ca
mov dword [rbp + 0x11], 0xb7ffb7fe
mov dword [rbp + 0x15], 0xb7e3b7e3
mov dword [rbp + 0x19], 0xb7bc
movsxd rcx, edx
movzx eax, dx
sub ax, si
add edx, edi
xor word [rbp + rcx*2 - 0x2b], ax
cmp edx, 0x23
jb 0x18000468d
mov word [rbp + 0x1b], bx
mov edx, ebx
mov dword [rbp + 0x67], 0xb708b727
mov dword [rbp + 0x6b], 0xb717
movsxd rcx, edx
movzx eax, dx
sub ax, si
add edx, edi
xor word [rbp + rcx*2 + 0x67], ax
cmp edx, 3
jb 0x1800046b6
mov r9d, 4
mov word [rbp + 0x6d], bx
lea r8, [rbp - 0x2b]
lea rdx, [0x180009034]
lea rcx, [rbp + 0x67]
call fcn.18000704c
mov edx, ebx
mov dword [rbp + 0x67], 0xb702b72a
mov dword [rbp + 0x6b], 0xb718
movsxd rcx, edx
movzx eax, dx
sub ax, si
add edx, edi
xor word [rbp + rcx*2 + 0x67], ax
cmp edx, 3
jb 0x1800046f9
movss xmm0, dword [0x1800080e0]
lea rdx, [0x18000901c]
movss xmm3, dword [0x180008120]
lea rcx, [rbp + 0x67]
movaps xmm2, xmm6
movss dword [rsp + 0x20], xmm0
mov word [rbp + 0x6d], bx
call fcn.180007418
mov edx, ebx
mov dword [rbp - 0x69], 0xb71db73f
mov dword [rbp - 0x65], 0xb70ab70b
mov dword [rbp - 0x61], 0xb714
movsxd rcx, edx
movzx eax, dx
sub ax, si
add edx, edi
xor word [rbp + rcx*2 - 0x69], ax
cmp edx, 5
jb 0x180004752
movss xmm0, dword [0x180008070]
lea rdx, [0x180009020]
movss xmm3, dword [0x1800080b8]
lea rcx, [rbp - 0x69]
movaps xmm2, xmm6
movss dword [rsp + 0x20], xmm0
mov word [rbp - 0x5f], bx
call fcn.180007418
mov edx, dword [0x180009060]
mov ecx, dword [0x18000905c]
jmp 0x1800047ab
add edx, 5
mov dword [0x180009060], edx
cmp byte [0x180009088], bl
mov dword [0x180009064], edx
je 0x1800047cd
cmp dword [0x18000908c], edi
jne 0x1800047cd
test ecx, ecx
jle 0x1800047cd
sub ecx, edi
mov dword [0x18000905c], ecx
cmp byte [0x180009080], bl
je 0x1800047ec
cmp dword [0x180009084], edi
jne 0x1800047ec
lea eax, [rdx - 1]
cmp ecx, eax
jge 0x1800047ec
add ecx, edi
mov dword [0x18000905c], ecx
cmp byte [0x1800090a0], bl
je 0x180004809
cmp dword [0x1800090a4], edi
jne 0x180004809
cmp byte [0x180009027], bl
sete byte [0x180009027]
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret