Function at 0x1800088d2
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xd8
lea rbp, [rsp + 0x80]
mov r13, rcx
xorps xmm0, xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
cmp dword [0x1800e4bdc], 9
mov eax, dword [0x1800e4bd8]
setg cl
lea edx, [rax + 1]
imul edx, eax
and dl, cl
mov byte [rbp + 0x4f], dl
xor eax, eax
lea rcx, [0x180054190]
movsxd rdx, dword [rax + rcx]
xor dword [rbp + rdx*4 - 0x30], 0x1e27
add rax, 4
cmp rax, 0x5c
jne 0x18000892f
mov eax, 0x4819
xor ecx, ecx
mov qword [rbp - 0x60], rcx
lea rsi, [0x180054344]
lea rbx, [0x180054240]
lea rdi, [0x180054290]
lea r10, [0x180054328]
lea r14, [0x180054320]
lea r8, [0x180054130]
lea r15, [0x180054338]
lea r9, [0x1800541f0]
lea r11, [0x1800542e0]
xor ecx, ecx
mov qword [rbp - 0x50], rcx
xor ecx, ecx
mov qword [rbp - 0x48], rcx
xor ecx, ecx
mov qword [rbp - 0x40], rcx
xor ecx, ecx
mov qword [rbp - 0x58], rcx
xor ecx, ecx
mov qword [rbp - 0x80], rcx
xor ecx, ecx
mov qword [rbp - 0x78], rcx
xor ecx, ecx
mov qword [rbp - 0x70], rcx
xor ecx, ecx
mov qword [rbp - 0x68], rcx
xor r12d, r12d
xor ecx, ecx
mov qword [rbp - 0x38], rcx
cmp eax, 0x4818
jg 0x180008a08
cmp eax, 0x25fc
jg 0x180008a69
cmp eax, 0x8bf
jg 0x180008ad5
cmp eax, 0x24e
je 0x180008de0
cmp eax, 0x348
je 0x180008bc9
cmp eax, 0x363
je 0x1800091e4
jmp 0x1800089c8
cmp eax, 0x6e3e
jle 0x180008aa4
cmp eax, 0x7986
jg 0x180008b60
cmp eax, 0x6e3f
je 0x180008e0e
cmp eax, 0x70d1
je 0x180008e26
cmp eax, 0x735d
jne 0x1800089c8
mov eax, dword [0x1800e4c60]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0xe46
mov ecx, 0x7f01
cmove eax, ecx
cmp dword [0x1800e4c64], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x10]
jmp 0x1800089c8
cmp eax, 0x3148
jle 0x180008c22
cmp eax, 0x3149
je 0x180008eda
cmp eax, 0x420b
je 0x180008cb5
cmp eax, 0x45df
jne 0x1800089c8
mov eax, dword [rbp + 0x1c]
mov ecx, 0x6b13
xor eax, ecx
jmp 0x1800089c8
cmp eax, 0x5067
jle 0x180008c54
cmp eax, 0x5068
je 0x180008f51
cmp eax, 0x52f5
je 0x180008f9b
cmp eax, 0x5c3b
je 0x180008d2e
jmp 0x1800089c8
cmp eax, 0x8c0
je 0x18000909f
cmp eax, 0x98e
je 0x180008d87
cmp eax, 0x1ade
jne 0x1800089c8
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x40], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x40]
mov qword [rax], r13
mov rax, qword [rbp + 0x50]
mov rax, qword [rbp + 0x50]
mov dword [rax], 0x6a6ccc06
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x38]
mov dword [rax], 0x6cd9c4ba
mov eax, dword [rbp + 0x14]
mov ecx, 0x6ed0
xor eax, ecx
jmp 0x1800089c8
cmp eax, 0x7987
je 0x1800090f8
cmp eax, 0x7b6d
je 0x180009107
cmp eax, 0x7e16
jne 0x1800089c8
mov eax, dword [rbp + 0x34]
cmp byte [rbp - 0x58], 0
jne 0x180008ba2
xor ecx, ecx
movsxd rdx, dword [rcx + r11]
xor dword [rbp + rdx*4 - 0x30], 0x2e15
add rcx, 4
cmp rcx, 0x40
jne 0x180008b8c
mov cl, 1
mov qword [rbp - 0x58], rcx
cmp eax, 0x9a594600
je 0x180008cb5
cmp eax, 0x2284d0b3
je 0x180008d2e
cmp eax, 0x6cd9c4ba
jne 0x180008d87
cmp dword [0x1800e4c04], 0xa
mov eax, dword [0x1800e4c00]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x78], 0
jne 0x180008c05
xor ecx, ecx
movsxd rdx, dword [rcx + r10]
xor dword [rbp + rdx*4 - 0x30], 0x28d2
add rcx, 4
cmp rcx, 8
jne 0x180008bef
test al, al
mov eax, 0x329d
mov ecx, 0x16b
cmovne eax, ecx
xor eax, dword [rbp - 0x10]
mov cl, 1
mov qword [rbp - 0x78], rcx
jmp 0x1800089c8
cmp eax, 0x25fd
je 0x180009133
cmp eax, 0x2fb4
jne 0x1800091d7
mov rax, qword [rbp + 0x50]
mov eax, dword [rax]
mov dword [rbp + 0x30], eax
mov rax, qword [rbp + 0x50]
mov eax, dword [rbp + 0x28]
mov ecx, 0x7ccf
xor eax, ecx
jmp 0x1800089c8
cmp eax, 0x4819
je 0x180009195
cmp eax, 0x489b
jne 0x1800089c8
mov rax, qword [rbp + 0x40]
mov rax, qword [rax]
cmp byte [rax], 0
mov eax, 0x9a594600
mov ecx, 0x2284d0b3
cmove eax, ecx
mov rcx, qword [rbp + 0x38]
mov dword [rcx], eax
mov eax, dword [0x1800e4cdc]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x1a4f
mov ecx, 0x6241
cmove eax, ecx
cmp dword [0x1800e4cd8], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0xc]
jmp 0x1800089c8
mov ecx, dword [0x1800e4cbc]
mov edx, dword [0x1800e4cb8]
cmp edx, 0xa
setl al
cmp edx, 9
setg dl
lea edi, [rcx + 1]
imul edi, ecx
test dil, 1
sete cl
or dl, cl
xor dl, al
xor dl, 1
xor al, cl
or al, dl
cmp byte [rbp - 0x70], 0
lea rdi, [0x180054330]
jne 0x180008d0a
xor ecx, ecx
movsxd rdx, dword [rcx + rdi]
xor dword [rbp + rdx*4 - 0x30], 0x16dd
add rcx, 4
cmp rcx, 8
jne 0x180008cf4
test al, al
mov eax, 0x1998
mov ecx, 0x1b05
cmovne eax, ecx
xor eax, dword [rbp - 8]
mov cl, 1
mov qword [rbp - 0x70], rcx
lea rdi, [0x180054290]
jmp 0x1800089c8
cmp dword [0x1800e4c90], 0xa
mov eax, dword [0x1800e4c94]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x68], 0
jne 0x180008d6a
xor ecx, ecx
movsxd rdx, dword [rcx + r15]
xor dword [rbp + rdx*4 - 0x30], 0x476
add rcx, 4
cmp rcx, 0xc
jne 0x180008d54
test al, al
mov eax, 0x6644
mov ecx, 0x78b9
cmovne eax, ecx
xor eax, dword [rbp]
mov cl, 1
mov qword [rbp - 0x68], rcx
jmp 0x1800089c8
cmp dword [0x1800e4bf0], 0xa
mov eax, dword [0x1800e4bf4]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x80], 0
jne 0x180008dc3
xor ecx, ecx
movsxd rdx, dword [rcx + r14]
xor dword [rbp + rdx*4 - 0x30], 0x20ad
add rcx, 4
cmp rcx, 8
jne 0x180008dad
test al, al
mov eax, 0xc2f
mov ecx, 0x4bbe
cmovne eax, ecx
xor eax, dword [rbp - 0x18]
mov cl, 1
mov qword [rbp - 0x80], rcx
jmp 0x1800089c8
mov eax, dword [0x1800e4bf8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x2c82
mov ecx, 0x6a3e
cmove eax, ecx
cmp dword [0x1800e4bfc], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x14]
jmp 0x1800089c8
mov rax, qword [rbp + 0x38]
mov eax, dword [rax]
mov dword [rbp + 0x34], eax
mov eax, dword [rbp + 0x18]
mov ecx, 0x608f
xor eax, ecx
jmp 0x1800089c8
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x40], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x40]
mov qword [rax], r13
mov rax, qword [rbp + 0x50]
mov rax, qword [rbp + 0x50]
mov dword [rax], 0x6a6ccc06
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x38]
mov dword [rax], 0x6cd9c4ba
cmp dword [0x1800e50d0], 0xa
mov eax, dword [0x1800e50d4]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x50], 0
jne 0x180008ebd
xor ecx, ecx
movsxd rdx, dword [rcx + r9]
xor dword [rbp + rdx*4 - 0x30], 0x52f6
add rcx, 4
cmp rcx, 0x50
jne 0x180008ea7
test al, al
mov eax, 0x4df
mov ecx, 0x16c1
cmovne eax, ecx
xor eax, dword [rbp - 0x28]
mov cl, 1
mov qword [rbp - 0x50], rcx
jmp 0x1800089c8
mov rax, qword [rbp + 0x50]
mov eax, dword [rax]
mov dword [rbp + 0x30], eax
mov rax, qword [rbp + 0x50]
mov ecx, dword [0x1800e4c68]
mov edx, dword [0x1800e4c6c]
cmp edx, 0xa
setl al
cmp edx, 9
setg dl
lea esi, [rcx + 1]
imul esi, ecx
and esi, 1
sete cl
mov ebx, edx
and bl, sil
xor bl, al
xor bl, cl
or cl, dl
xor cl, bl
or al, sil
xor al, cl
test r12b, r12b
jne 0x180008f29
xor dword [rbp + 8], 0x119
test al, al
mov eax, 0x7d2e
mov ecx, 0x6232
cmovne eax, ecx
xor eax, dword [rbp + 4]
mov r12b, 1
lea rsi, [0x180054344]
lea rbx, [0x180054240]
jmp 0x1800089c8
mov rax, qword [rbp + 0x40]
mov rax, qword [rax]
lea rcx, [rax + 1]
mov rdx, qword [rbp + 0x40]
mov qword [rdx], rcx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0x50]
xor eax, dword [rcx]
mov rcx, qword [rbp + 0x50]
mov dword [rcx], eax
mov rax, qword [rbp + 0x50]
imul eax, dword [rax], 0x25ede3fb
mov rcx, qword [rbp + 0x50]
mov dword [rcx], eax
mov rax, qword [rbp + 0x38]
mov dword [rax], 0x6cd9c4ba
mov eax, dword [rbp + 0x24]
mov ecx, 0xdd8
xor eax, ecx
jmp 0x1800089c8
mov rax, qword [rbp + 0x40]
mov rax, qword [rax]
lea rcx, [rax + 1]
mov rdx, qword [rbp + 0x40]
mov qword [rdx], rcx
movzx ecx, byte [rax]
mov rax, qword [rbp + 0x50]
mov eax, dword [rax]
mov edx, eax
not edx
mov edi, edx
mov ebx, 0xd9383eb1
and edi, ebx
mov esi, eax
and esi, ebx
add esi, esi
or edx, ebx
add edx, eax
sub esi, edx
lea edx, [rsi + rdi*2]
mov r15, r12
mov r12, r14
mov r14, r10
mov r10, r11
mov r11, r9
mov r9, r8
mov r8, r13
mov r13d, 0x26c7c14e
add edx, r13d
and eax, r13d
or eax, edx
mov edx, ecx
not edx
mov esi, ecx
and esi, 0xffffffb1
xor esi, ebx
mov edi, ecx
xor edi, r13d
mov ebx, ecx
or ebx, 0x19383eb1
or edx, r13d
mov r13, r8
mov r8, r9
mov r9, r11
mov r11, r10
mov r10, r14
mov r14, r12
mov r12, r15
lea r15, [0x180054338]
and ecx, 0x4e
add ecx, edi
lea rdi, [0x180054290]
add ecx, ebx
lea rbx, [0x180054240]
add ecx, edx
add ecx, 2
or ecx, esi
lea rsi, [0x180054344]
xor ecx, eax
mov rax, qword [rbp + 0x50]
mov dword [rax], ecx
mov rax, qword [rbp + 0x50]
imul eax, dword [rax], 0x25ede3fb
mov rcx, qword [rbp + 0x50]
mov dword [rcx], eax
mov rax, qword [rbp + 0x38]
mov dword [rax], 0x6cd9c4ba
mov eax, dword [0x1800e4d04]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0xf45
mov ecx, 0x5c4e
cmove eax, ecx
cmp dword [0x1800e4d00], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 4]
jmp 0x1800089c8
cmp dword [0x1800e4be0], 0xa
mov eax, dword [0x1800e4be4]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x48], 0
jne 0x1800090db
xor ecx, ecx
movsxd rdx, dword [rcx + rbx]
xor dword [rbp + rdx*4 - 0x30], 0x985
add rcx, 4
cmp rcx, 0x4c
jne 0x1800090c5
test al, al
mov eax, 0x22c8
mov ecx, 0x690a
cmovne eax, ecx
xor eax, dword [rbp - 0x24]
mov cl, 1
mov qword [rbp - 0x48], rcx
jmp 0x1800089c8
mov eax, dword [rbp + 0x2c]
mov ecx, 0x49c
xor eax, ecx
jmp 0x1800089c8
mov rax, qword [rbp + 0x40]
mov rax, qword [rax]
cmp byte [rax], 0
mov eax, 0x9a594600
mov ecx, 0x2284d0b3
cmove eax, ecx
mov rcx, qword [rbp + 0x38]
mov dword [rcx], eax
mov eax, dword [rbp + 0x20]
mov ecx, 0x29b9
xor eax, ecx
jmp 0x1800089c8
mov rax, qword [rbp + 0x38]
mov eax, dword [rax]
mov dword [rbp + 0x34], eax
cmp dword [0x1800e4bec], 0xa
mov eax, dword [0x1800e4be8]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x40], 0
jne 0x180009178
xor ecx, ecx
movsxd rdx, dword [rcx + rdi]
xor dword [rbp + rdx*4 - 0x30], 0x2297
add rcx, 4
cmp rcx, 0x44
jne 0x180009162
test al, al
mov eax, 0x2b4d
mov ecx, 0x3b64
cmovne eax, ecx
xor eax, dword [rbp - 0x20]
mov cl, 1
mov qword [rbp - 0x40], rcx
jmp 0x1800089c8
mov rdx, r13
mov al, byte [rbp + 0x4f]
cmp byte [rbp - 0x60], 0
jne 0x1800091b7
xor ecx, ecx
movsxd r13, dword [rcx + r8]
xor byte [rbp + r13*4 - 0x30], 0x26
add rcx, 4
cmp rcx, 0x58
jne 0x1800091a3
test al, 1
mov eax, 0x6ef6
mov ecx, 0x4f9
cmovne eax, ecx
xor eax, dword [rbp - 0x30]
mov cl, 1
mov qword [rbp - 0x60], rcx
mov r13, rdx
jmp 0x1800089c8
cmp eax, 0x30a8
jne 0x1800089c8
jmp 0x180009239
cmp dword [0x1800e4c08], 0xa
mov eax, dword [0x1800e4c0c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x38], 0
jne 0x180009220
xor ecx, ecx
movsxd rdx, dword [rcx + rsi]
xor dword [rbp + rdx*4 - 0x30], 0x3e31
add rcx, 4
cmp rcx, 8
jne 0x18000920a
test al, al
mov eax, 0x3077
mov ecx, 0x3aad
cmovne eax, ecx
xor eax, dword [rbp + 0xc]
mov cl, 1
jmp 0x1800089c4
mov eax, dword [rbp + 0x30]
lea rsp, [rbp + 0x58]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret