Function at 0x18001e8e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xf8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x60], xmm7
movaps xmmword [rbp + 0x50], xmm6
mov dword [rbp + 0x34], edx
xorps xmm0, xmm0
movups xmmword [rbp + 0x1c], 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
movaps xmmword [rbp - 0x40], xmm0
cmp dword [0x18009c110], 9
mov eax, dword [0x18009c114]
setg cl
lea edx, [rax + 1]
imul edx, eax
and dl, cl
mov byte [rbp + 0x4f], dl
mov eax, 1
lea rcx, [0x180030320]
nop dword [rax]
movsxd rdx, dword [rcx + rax*4 - 4]
xor dword [rbp + rdx*4 - 0x40], 0x1e27
movsxd rdx, dword [rcx + rax*4]
xor dword [rbp + rdx*4 - 0x40], 0x1e27
add rax, 2
cmp rax, 0x1b
jne 0x18001e950
mov eax, 0x8c0
xor ecx, ecx
mov qword [rbp - 0x78], rcx
movaps xmm6, xmmword [0x180029970]
movaps xmm7, xmmword [0x180029960]
lea rbx, [0x1800302b0]
lea rdi, [0x1800303f0]
lea r14, [0x180030390]
mov ecx, 0
mov qword [rbp - 0x58], rcx
xor ecx, ecx
mov qword [rbp - 0x60], rcx
xor ecx, ecx
mov qword [rbp - 0x48], rcx
xor ecx, ecx
mov qword [rbp - 0x50], rcx
xor ecx, ecx
mov qword [rbp - 0x80], rcx
xor r12d, r12d
xor esi, esi
xor r15d, r15d
xor r13d, r13d
xor ecx, ecx
mov qword [rbp - 0x70], rcx
xor ecx, ecx
jmp 0x18001ea1c
cmp dword [0x18009c118], 0xa
mov eax, dword [0x18009c11c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x68], 0
je 0x18001f240
test al, al
mov eax, 0x7d31
mov ecx, 0x1998
cmovne eax, ecx
xor eax, dword [rbp + 4]
mov cl, 1
mov qword [rbp - 0x68], rcx
cmp eax, 0x420a
jg 0x18001eaa0
cmp eax, 0x1d99
jle 0x18001eb10
cmp eax, 0x2ff6
jle 0x18001ebf4
cmp eax, 0x3148
jg 0x18001edde
cmp eax, 0x2ff7
je 0x18001ee5d
cmp eax, 0x30a8
jne 0x18001ea20
sub rsp, 0x20
xor ecx, ecx
call fcn.180002020
add rsp, 0x20
mov rax, qword [rbp + 0x40]
mov dword [rax], 0x7b20544
mov eax, dword [0x18009c120]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x42e0
mov ecx, 0x2440
cmove eax, ecx
cmp dword [0x18009c124], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x14]
jmp 0x18001ea20
cmp eax, 0x6e3e
jg 0x18001eb90
cmp eax, 0x5067
jg 0x18001ec5f
cmp eax, 0x45de
jg 0x18001ee03
cmp eax, 0x420b
je 0x18001ee6c
cmp eax, 0x42aa
jne 0x18001ea20
mov rax, qword [rbp + 0x38]
mov eax, dword [rax]
cmp eax, 1
mov eax, 0xf3b49ab4
mov ecx, 0xfbcd4c72
cmove eax, ecx
mov rcx, qword [rbp + 0x40]
mov dword [rcx], eax
mov eax, dword [rbp + 0x18]
mov ecx, 0x3d19
xor eax, ecx
jmp 0x18001ea20
cmp eax, 0x8bf
jg 0x18001ecca
cmp eax, 0x24e
je 0x18001ee9a
cmp eax, 0x348
je 0x18001ef2c
cmp eax, 0x363
jne 0x18001ea20
cmp dword [0x18009c128], 0xa
mov eax, dword [0x18009c12c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test r15b, r15b
jne 0x18001eb6d
xor dword [rbp - 0xc], 0x476
xor dword [rbp + 0x20], 0x476
test al, al
mov eax, 0x3b2c
mov ecx, 0x3aad
cmovne eax, ecx
xor eax, dword [rbp - 0x10]
mov r15b, 1
jmp 0x18001ea20
cmp eax, 0x7986
jg 0x18001ed3d
cmp eax, 0x6e3f
je 0x18001efe9
cmp eax, 0x72dc
je 0x18001f031
cmp eax, 0x735d
jne 0x18001ea20
mov rax, qword [rbp + 0x40]
mov dword [rax], 0x7b20544
mov eax, dword [0x18009c130]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x3f5a
mov ecx, 0x36eb
cmove eax, ecx
cmp dword [0x18009c134], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0xc]
jmp 0x18001ea20
cmp eax, 0x1d9a
je 0x18001f04a
cmp eax, 0x1dcd
je 0x18001f059
cmp eax, 0x2fb4
jne 0x18001ea20
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x38]
mov ecx, dword [rbp + 0x34]
mov dword [rax], ecx
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x40]
mov dword [rax], 0x913a3916
mov eax, dword [rbp + 0xc]
mov ecx, 0x6017
xor eax, ecx
jmp 0x18001ea20
cmp eax, 0x5068
je 0x18001f081
cmp eax, 0x52f5
je 0x18001ef9e
cmp eax, 0x5c3b
jne 0x18001ea20
mov rax, qword [rbp + 0x38]
mov eax, dword [rax]
cmp eax, 1
mov eax, 0xf3b49ab4
mov ecx, 0xfbcd4c72
cmove eax, ecx
mov rcx, qword [rbp + 0x40]
mov dword [rcx], eax
mov eax, dword [0x18009c138]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x2388
mov ecx, 0x1a4f
cmove eax, ecx
cmp dword [0x18009c13c], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x1c]
jmp 0x18001ea20
cmp eax, 0x8c0
je 0x18001f0af
cmp eax, 0x98e
je 0x18001f0d9
cmp eax, 0x1ade
jne 0x18001ea20
cmp dword [0x18009c140], 0xa
mov eax, dword [0x18009c144]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test r13b, r13b
jne 0x18001ed23
xor dword [rbp - 4], 0x5039
xor dword [rbp], 0x5039
xor dword [rbp + 0x24], 0x5039
test al, al
mov eax, 0x6607
mov ecx, 0x27cf
cmovne eax, ecx
xor eax, dword [rbp - 8]
mov r13b, 1
jmp 0x18001ea20
cmp eax, 0x7987
je 0x18001f150
cmp eax, 0x7b6d
je 0x18001e9e0
cmp eax, 0x7e16
jne 0x18001ea20
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x38]
mov ecx, dword [rbp + 0x34]
mov dword [rax], ecx
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x40]
mov dword [rax], 0x913a3916
cmp dword [0x18009c148], 0xa
mov eax, dword [0x18009c14c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x58], 0
je 0x18001f1d0
test al, al
mov eax, 0x31b5
mov ecx, 0x178f
cmovne eax, ecx
xor eax, dword [rbp - 0x38]
mov cl, 1
mov qword [rbp - 0x58], rcx
jmp 0x18001ea20
cmp eax, 0x3149
je 0x18001f17f
cmp eax, 0x34c1
jne 0x18001ea20
mov eax, dword [rbp + 0x28]
mov ecx, 0x7f35
xor eax, ecx
jmp 0x18001ea20
cmp eax, 0x489b
jne 0x18001f233
cmp dword [0x18009c150], 0xa
mov eax, dword [0x18009c154]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x80], 0
jne 0x18001ee40
xor dword [rbp - 0x24], 0x20ad
xor dword [rbp + 0x14], 0x20ad
test al, al
mov eax, 0x546a
mov ecx, 0xbfb
cmovne eax, ecx
xor eax, dword [rbp - 0x28]
mov cl, 1
mov qword [rbp - 0x80], rcx
jmp 0x18001ea20
mov eax, dword [rbp + 0x24]
mov ecx, 0x77f6
xor eax, ecx
jmp 0x18001ea20
mov eax, dword [0x18009c158]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x74c7
mov ecx, 0x1230
cmove eax, ecx
cmp dword [0x18009c15c], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x24]
jmp 0x18001ea20
mov rax, qword [rbp + 0x40]
mov eax, dword [rax]
mov dword [rbp + 0x30], eax
cmp dword [0x18009c160], 0xa
mov eax, dword [0x18009c164]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x48], 0
jne 0x18001ef0f
movups xmm0, xmmword [rbp - 0x2c]
movups xmm1, xmmword [rbp - 0x1c]
movups xmm2, xmmword [rbp - 0xc]
movups xmm3, xmmword [rbp + 0x14]
xorps xmm0, xmm6
movups xmmword [rbp - 0x2c], xmm0
xorps xmm1, xmm6
movups xmmword [rbp - 0x1c], xmm1
xorps xmm2, xmm6
movups xmmword [rbp - 0xc], xmm2
xor dword [rbp + 4], 0x2297
xor dword [rbp + 8], 0x2297
xorps xmm3, xmm6
movups xmmword [rbp + 0x14], xmm3
xor dword [rbp + 0x24], 0x2297
xor dword [rbp + 0x28], 0x2297
test al, al
mov eax, 0x3cf5
mov ecx, 0x463a
cmovne eax, ecx
xor eax, dword [rbp - 0x30]
mov cl, 1
mov qword [rbp - 0x48], rcx
jmp 0x18001ea20
mov eax, dword [rbp + 0x30]
cmp byte [rbp - 0x50], 0
jne 0x18001ef76
movups xmm0, xmmword [rbp - 0x28]
movups xmm1, xmmword [rbp - 0x18]
movups xmm2, xmmword [rbp - 8]
movups xmm3, xmmword [rbp + 0x14]
xorps xmm0, xmm7
movups xmmword [rbp - 0x28], xmm0
xorps xmm1, xmm7
movups xmmword [rbp - 0x18], xmm1
xorps xmm2, xmm7
movups xmmword [rbp - 8], xmm2
xor dword [rbp + 8], 0x2e15
xorps xmm3, xmm7
movups xmmword [rbp + 0x14], xmm3
xor dword [rbp + 0x24], 0x2e15
xor dword [rbp + 0x28], 0x2e15
mov cl, 1
mov qword [rbp - 0x50], rcx
cmp eax, 0xfbcd4c71
jg 0x18001f168
cmp eax, 0x913a3916
je 0x18001ef9e
cmp eax, 0xf3b49ab4
je 0x18001eb3c
jmp 0x18001ee0e
cmp dword [0x18009c168], 0xa
mov eax, dword [0x18009c16c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test r12b, r12b
jne 0x18001efcf
xor dword [rbp - 0x1c], 0x28d2
xor dword [rbp + 0x18], 0x28d2
test al, al
mov eax, 0xb5a
mov ecx, 0x15cb
cmovne eax, ecx
xor eax, dword [rbp - 0x20]
mov r12b, 1
jmp 0x18001ea20
cmp dword [0x18009c170], 0xa
mov eax, dword [0x18009c174]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x70], 0
jne 0x18001f014
xor dword [rbp], 0x3e31
test al, al
mov eax, 0x363e
mov ecx, 0x5c16
cmovne eax, ecx
xor eax, dword [rbp - 4]
mov cl, 1
mov qword [rbp - 0x70], rcx
jmp 0x18001ea20
mov rax, qword [rbp + 0x40]
mov dword [rax], 0x7b20544
mov eax, dword [rbp + 0x20]
mov ecx, 0x3edb
xor eax, ecx
jmp 0x18001ea20
mov eax, dword [rbp + 0x14]
mov ecx, 0x2b56
xor eax, ecx
jmp 0x18001ea20
sub rsp, 0x20
xor ecx, ecx
call fcn.180002020
add rsp, 0x20
mov rax, qword [rbp + 0x40]
mov dword [rax], 0x7b20544
mov eax, dword [rbp + 0x1c]
mov ecx, 0x6f85
xor eax, ecx
jmp 0x18001ea20
mov eax, dword [0x18009c178]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x1b9c
mov ecx, 0x26d3
cmove eax, ecx
cmp dword [0x18009c17c], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 8]
jmp 0x18001ea20
mov al, byte [rbp + 0x4f]
cmp byte [rbp - 0x78], 0
je 0x18001f209
test al, 1
mov eax, 0x6031
mov ecx, 0x3193
cmovne eax, ecx
xor eax, dword [rbp - 0x40]
mov cl, 1
mov qword [rbp - 0x78], rcx
jmp 0x18001ea20
cmp dword [0x18009c180], 0xa
mov eax, dword [0x18009c184]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x60], 0
jne 0x18001f133
mov ecx, 1
nop word cs:[rax + rax]
nop dword [rax]
movsxd rdx, dword [rdi + rcx*4 - 4]
xor dword [rbp + rdx*4 - 0x40], 0x985
movsxd rdx, dword [rdi + rcx*4]
xor dword [rbp + rdx*4 - 0x40], 0x985
add rcx, 2
cmp rcx, 0x17
jne 0x18001f110
test al, al
mov eax, 0x3570
mov ecx, 0x4eb9
cmovne eax, ecx
xor eax, dword [rbp - 0x34]
mov cl, 1
mov qword [rbp - 0x60], rcx
jmp 0x18001ea20
mov rax, qword [rbp + 0x40]
mov eax, dword [rax]
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x10]
mov ecx, 0x473c
xor eax, ecx
jmp 0x18001ea20
cmp eax, 0xfbcd4c72
je 0x18001f17f
cmp eax, 0x7b20544
je 0x18001eceb
jmp 0x18001ee0e
mov ecx, dword [0x18009c188]
cmp dword [0x18009c18c], 0xa
setl al
lea edx, [rcx + 1]
imul edx, ecx
test dl, 1
sete cl
mov edx, eax
or dl, cl
xor al, cl
or al, dl
test sil, sil
jne 0x18001f1b6
xor dword [rbp - 0x14], 0x16dd
xor dword [rbp + 0x1c], 0x16dd
test al, al
mov eax, 0x543d
mov ecx, 0x7958
cmovne eax, ecx
xor eax, dword [rbp - 0x18]
mov sil, 1
jmp 0x18001ea20
mov ecx, 1
nop word cs:[rax + rax]
nop
movsxd rdx, dword [r14 + rcx*4 - 4]
xor dword [rbp + rdx*4 - 0x40], 0x52f6
cmp rcx, 0x17
je 0x18001edc1
movsxd rdx, dword [r14 + rcx*4]
xor dword [rbp + rdx*4 - 0x40], 0x52f6
add rcx, 2
jmp 0x18001f1e0
mov ecx, 1
nop
movsxd rdx, dword [rbx + rcx*4 - 4]
xor byte [rbp + rdx*4 - 0x40], 0x26
cmp rcx, 0x19
je 0x18001f0bc
movsxd rdx, dword [rbx + rcx*4]
xor byte [rbp + rdx*4 - 0x40], 0x26
add rcx, 2
jmp 0x18001f210
cmp eax, 0x45df
jne 0x18001ea20
jmp 0x18001f253
xor dword [rbp + 8], 0x66ad
xor dword [rbp + 0x28], 0x66ad
jmp 0x18001ea08
mov eax, 1
movaps xmm6, xmmword [rbp + 0x50]
movaps xmm7, xmmword [rbp + 0x60]
lea rsp, [rbp + 0x78]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret