Function at 0x1800a7d20
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], r9
mov qword [rax + 0x10], rdx
mov dword [rax + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov ebx, dword [rsp + 0xe0]
mov r14, r8
lea r8d, [rcx + 0x3f6]
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov eax, ecx
mov dword [rsp + 0x40], r8d
cmp ecx, r8d
jae case.0x1800a7dfe.80
movzx r10d, byte [rsp + 0xe0]
movzx r11d, byte [rsp + 0xe0]
mov rsi, qword [rsp + 0x108]
mov rbp, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x58]
movsd xmm7, qword [rsp + 0x68]
movsd xmm6, qword [rsp + 0x68]
movzx r13d, byte [rsp + 0xe0]
mov r15d, dword [rsp + 0xe0]
mov r12, qword [rsp + 0x128]
mov dword [rsp + 0x44], r10d
mov dword [rsp + 0x48], r11d
mov dword [rsp + 0x60], ebx
cmp eax, 0xd7
ja 0x1800a7fda
je 0x1800a7fc3
add eax, 0xfffffffe
cmp eax, 0xaf
ja case.0x1800a7dfe.3
lea r10, [0x180000000]
movzx eax, byte [r10 + rax + 0xa8454]
mov ecx, dword [r10 + rax*4 + 0xa8438]
add rcx, r10
jmp rcx
mov r10, qword [rsp + 0x110]
mov ebx, dword [r10]
test ebx, ebx
je 0x1800a7f11
mov rbp, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x100]
nop dword [rax]
nop word [rax + rax]
lea eax, [rbx - 1]
mov r8d, 0xc7
mov dword [r10], eax
nop dword [rax]
mov eax, r8d
sub eax, 0xc5
je 0x1800a7ed1
sub eax, 1
je 0x1800a7ec4
cmp eax, 1
jne 0x1800a7ed7
movzx eax, byte [rbp]
movzx edx, byte [r12]
cmp eax, edx
jae 0x1800a7e73
movsd xmm7, qword [rsi]
mov rdx, qword [rsp + 0xe8]
jmp 0x1800a7ed7
mov rcx, qword [rsp + 0x118]
movzx ecx, byte [rcx]
cmp eax, ecx
jbe 0x1800a7e91
movsd xmm7, qword [r14]
mov rdx, qword [rsp + 0xe8]
jmp 0x1800a7ed7
movsd xmm1, qword [r14]
sub eax, edx
subsd xmm1, qword [rsi]
sub ecx, edx
mov rdx, qword [rsp + 0xe8]
movd xmm7, eax
cvtdq2pd xmm7, xmm7
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
divsd xmm7, xmm0
mulsd xmm7, xmm1
addsd xmm7, qword [rsi]
jmp 0x1800a7ed7
movsd qword [r9], xmm7
movsxd rax, dword [rdx]
add r9, rax
jmp 0x1800a7ed7
movsxd rax, dword [rdi]
add rbp, rax
dec r8d
cmp r8d, 0xc4
ja 0x1800a7e40
mov ebx, dword [r10]
mov qword [rsp + 0xf8], r9
mov qword [rsp + 0x120], rbp
test ebx, ebx
jne 0x1800a7e30
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x38]
mov r8d, dword [rsp + 0x40]
dec ebx
mov dword [rsp + 0x60], ebx
mov dword [r10], ebx
jmp case.0x1800a7dfe.3
mov rdx, qword [r12]
mov rax, rdi
sub rax, r14
mov qword [rsp + 0x38], r14
cmp rax, rdx
mov rbp, r14
cmovbe rdx, rax
mov qword [rsp + 0x70], rdx
jmp case.0x1800a7dfe.3
mov edx, dword [r14 + 8]
lea rcx, str.ContainsNumber
call fcn.1800c03a0
mov eax, dword [r14 + 8]
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x50], eax
xor r9d, r9d
mov rax, qword [r14]
mov r8d, 0xe7
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.180080550
mov r8d, dword [rsp + 0x40]
jmp case.0x1800a7dfe.3
mov r12, qword [rsp + 0x128]
lea rcx, str.mpqmpqompqKmpq
mov edx, dword [r12 + 8]
call fcn.1800c03a0
mov eax, dword [r12 + 8]
lea rdx, [rsp + 0x50]
mov r8, qword [r12]
xor r9d, r9d
mov ecx, 0x8c
mov dword [rsp + 0x50], eax
call fcn.1800a7120
mov r8d, dword [rsp + 0x40]
jmp case.0x1800a7dfe.3
mov rcx, qword [r12]
sub rcx, qword [rsp + 0x70]
shr rcx, 3
mov qword [rsp + 0x78], rcx
jmp 0x1800a83d0
cmp eax, 0x173
ja 0x1800a835f
je 0x1800a8192
sub eax, 0xd9
je 0x1800a8021
sub eax, 0x26
je 0x1800a83fe
cmp eax, 0x26
mov eax, dword [rsp + 0xe0]
jne 0x1800a83d0
mov rcx, qword [r12]
sub rcx, qword [rsp + 0x70]
and ecx, 7
mov qword [rsp + 0x68], rcx
jmp 0x1800a83d0
mov r12d, 5
nop word [rax + rax]
mov eax, r12d
sub eax, 4
je 0x1800a8402
cmp eax, 1
jne 0x1800a8164
mov rax, qword [rsp + 0x128]
mov ebp, dword [rax]
test ebp, ebp
je 0x1800a8164
nop word [rax + rax]
dec ebp
mov edi, 0x47
nop word [rax + rax]
mov eax, edi
sub eax, 0x46
je 0x1800a8143
cmp eax, 1
jne 0x1800a8151
movsd xmm0, qword [rsi]
lea rdx, [rsp + 0x38]
movsd xmm6, qword [rsi + 0x18]
xor r9d, r9d
mov r8d, 0xb4
movsd qword [rsp + 0x38], xmm0
xor ecx, ecx
mov qword [rsp + 0x20], 0
call fcn.180035d40
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x38]
movsd xmm0, qword [rsp + 0x38]
xor r9d, r9d
mulsd xmm0, xmm6
mov r8d, 0xb4
xor ecx, ecx
mov qword [rsp + 0x20], 0
movsd qword [r14], xmm0
movsd xmm0, qword [rsi + 8]
movsd qword [rsp + 0x38], xmm0
call fcn.180035d40
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x38]
movsd xmm0, qword [rsp + 0x38]
xor r9d, r9d
mulsd xmm0, xmm6
mov r8d, 0xb4
xor ecx, ecx
mov qword [rsp + 0x20], 0
movsd qword [r14 + 8], xmm0
movsd xmm0, qword [rsi + 0x10]
movsd qword [rsp + 0x38], xmm0
call fcn.180035d40
mov qword [rsp + 0x38], rax
movsd xmm0, qword [rsp + 0x38]
mulsd xmm0, xmm6
movsd qword [r14 + 0x10], xmm0
jmp 0x1800a8151
add rsi, 0x20
movsd qword [r14 + 0x18], xmm6
add r14, 0x20
dec edi
cmp edi, 0x45
ja 0x1800a8070
test ebp, ebp
jne 0x1800a8060
dec r12d
cmp r12d, 3
ja 0x1800a8030
mov r12, qword [rsp + 0x128]
mov r8d, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x68]
mov qword [rsp + 0x58], rdi
jmp 0x1800a83c4
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x1800a81e2
lea r9, [0x180000000]
nop dword [rax]
nop word [rax + rax]
movzx r13d, byte [rsi]
xor r13b, byte [rbp]
inc rbp
mov ecx, dword [rsi]
shr ecx, 8
movzx eax, r13b
mov eax, dword [r9 + rax*4 + 0xc2f80]
xor eax, ecx
mov dword [rsi], eax
sub rdx, 1
jne 0x1800a81b0
mov eax, dword [rsp + 0xe0]
mov qword [rsp + 0x38], rbp
mov rcx, qword [rsp + 0x78]
sub rdi, 4
mov qword [rsp + 0x58], rdi
test rcx, rcx
je 0x1800a83d0
movzx ebx, byte [rsp + 0x30]
lea r12, [0x180000000]
mov r9, rcx
nop dword [rax + rax]
mov r8d, 0xbd
nop word [rax + rax]
cmp r8d, 0x16d
ja 0x1800a82c7
je 0x1800a82be
mov eax, r8d
sub eax, 0xbd
je 0x1800a82ae
sub eax, 0x2c
je 0x1800a8266
sub eax, 0x2c
je 0x1800a8259
cmp eax, 0x2c
jne 0x1800a831e
movzx ebx, r15b
jmp 0x1800a831e
mov r15d, dword [rdi + 4]
add rdi, 4
jmp 0x1800a831e
movzx eax, bl
mov r11d, r15d
shr r11d, 0x10
mov r10d, r15d
shr r10d, 8
mov r13d, r15d
shr r13d, 0x18
movzx ecx, r11b
mov edx, dword [r12 + rcx*4 + 0xc4380]
xor edx, dword [r12 + rax*4 + 0xc4b80]
movzx eax, r10b
xor edx, dword [r12 + rax*4 + 0xc4780]
movzx eax, r13b
xor edx, dword [r12 + rax*4 + 0xc3f80]
mov dword [rsi], edx
jmp 0x1800a831e
mov r15d, dword [rsi]
add rdi, 4
xor r15d, dword [rdi]
movzx ebx, r15b
jmp 0x1800a831e
mov r10d, r15d
shr r10d, 8
jmp 0x1800a831e
mov eax, r8d
sub eax, 0x199
je 0x1800a8317
sub eax, 0x2c
je 0x1800a830e
cmp eax, 0x2c
jne 0x1800a831e
movzx eax, bl
movzx ecx, r11b
mov edx, dword [r12 + rcx*4 + 0xc3380]
xor edx, dword [r12 + rax*4 + 0xc3b80]
movzx eax, r10b
xor edx, dword [r12 + rax*4 + 0xc3780]
movzx eax, r13b
xor edx, dword [r12 + rax*4 + 0xc2f80]
xor dword [rsi], edx
jmp 0x1800a831e
mov r13d, r15d
shr r13d, 0x18
jmp 0x1800a831e
mov r11d, r15d
shr r11d, 0x10
add r8d, 0x2c
cmp r8d, 0x21d
jb 0x1800a8220
mov dword [rsp + 0x48], r11d
mov dword [rsp + 0x44], r10d
mov byte [rsp + 0x30], bl
mov qword [rsp + 0x58], rdi
sub r9, 1
jne 0x1800a8210
mov ebx, dword [rsp + 0x60]
mov r12, qword [rsp + 0x128]
mov r8d, dword [rsp + 0x40]
jmp case.0x1800a7dfe.3
sub eax, 0x1c1
je 0x1800a8372
cmp eax, 0x4e
jne case.0x1800a7dfe.3
mov eax, dword [rsi]
jmp 0x1800a8410
mov rcx, qword [rsp + 0x68]
add rdi, 4
mov qword [rsp + 0x58], rdi
mov rbp, rdi
mov qword [rsp + 0x38], rdi
test rcx, rcx
je case.0x1800a7dfe.3
mov rdx, rcx
lea r9, [0x180000000]
nop word [rax + rax]
movzx eax, byte [rsi]
xor al, byte [rbp]
inc rbp
mov ecx, dword [rsi]
movzx r13d, al
shr ecx, 8
mov eax, dword [r9 + r13*4 + 0xc2f80]
xor eax, ecx
mov dword [rsi], eax
sub rdx, 1
jne 0x1800a83a0
mov qword [rsp + 0x38], rbp
mov eax, dword [rsp + 0xe0]
add eax, 0x4e
mov dword [rsp + 0xe0], eax
cmp eax, r8d
jae case.0x1800a7dfe.80
mov r9, qword [rsp + 0xf8]
mov r10d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x48]
mov rdx, qword [rsp + 0xe8]
jmp 0x1800a7dc4
xor eax, eax
jmp 0x1800a8410
mov rax, qword [rsp + 0x128]
mov eax, dword [rax]
jmp 0x1800a8410
mov eax, ebx
lea r11, [rsp + 0xa0]
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