Function at 0x180006a40
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xe8
lea rbp, [rsp + 0x80]
mov r12, rdx
xorps xmm0, xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x50], xmm0
movaps xmmword [rbp - 0x60], xmm0
movaps xmmword [rbp - 0x70], xmm0
mov qword [rbp], 0
cmp dword [0x18009a560], 9
mov eax, dword [0x18009a564]
setg bl
lea edx, [rax + 1]
imul edx, eax
and dl, bl
mov byte [rbp + 0x5f], dl
mov eax, 1
lea rbx, [0x180029ec0]
nop dword [rax]
movsxd rdx, dword [rbx + rax*4 - 4]
xor dword [rbp + rdx*4 - 0x70], 0x1e27
cmp rax, 0x1d
je 0x180006ad5
movsxd rdx, dword [rbx + rax*4]
xor dword [rbp + rdx*4 - 0x70], 0x1e27
add rax, 2
jmp 0x180006ab0
mov eax, 0x98e
mov dword [rbp + 0x1c], 0
lea r9, [0x180029f40]
mov r14d, 0x3be7951c
lea rbx, [0x180029e50]
lea r15, [0x18002a020]
lea r11, [0x180029fb0]
lea rdi, [0x18002a080]
mov dword [rbp + 0x2c], 0
mov dword [rbp + 0x30], 0
mov dword [rbp + 0x34], 0
mov dword [rbp + 0x24], 0
mov dword [rbp + 0xc], 0
mov dword [rbp + 0x10], 0
mov dword [rbp + 0x14], 0
mov dword [rbp + 0x18], 0
xor r10d, r10d
xor r13d, r13d
mov dword [rbp + 0x20], 0
mov dword [rbp + 0x28], 0
jmp 0x180006b70
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov eax, dword [rbp]
mov edx, 0x1286
xor eax, edx
nop dword [rax]
cmp eax, 0x420a
jg 0x180006c00
cmp eax, 0x2d80
jg 0x180006c50
cmp eax, 0x1add
jg 0x180006d4b
cmp eax, 0x91a
jg 0x180006ebc
cmp eax, 0x348
je 0x1800070d0
cmp eax, 0x363
jne 0x180006b70
mov rax, qword [rbp + 0x60]
mov eax, dword [rax]
cdqe
mov rdx, qword [rbp + 0x40]
cmp qword [rdx], rax
mov eax, 0xc5820903
cmova eax, r14d
mov rdx, qword [rbp + 0x50]
mov dword [rdx], eax
mov eax, dword [0x18009a568]
mov edx, 1
sub edx, eax
imul edx, eax
test dl, 1
mov eax, 0x3e66
mov edx, 0x2388
cmove eax, edx
cmp dword [0x18009a56c], 0xa
cmovl eax, edx
xor eax, dword [rbp - 0x4c]
jmp 0x180006b70
cmp eax, 0x5c3a
jg 0x180006cd0
cmp eax, 0x489a
jle 0x180006d94
cmp eax, 0x5067
jg 0x180006f36
cmp eax, 0x489b
je 0x1800071cf
cmp eax, 0x4b40
jne 0x180006b70
mov eax, dword [rbp + 4]
mov edx, 0x6d65
xor eax, edx
jmp 0x180006b70
cmp eax, 0x3028
jle 0x180006e13
cmp eax, 0x3148
jg 0x180006fb9
cmp eax, 0x3029
je 0x180007214
cmp eax, 0x30a8
jne 0x180006b70
cmp dword [0x18009a570], 0xa
mov eax, dword [0x18009a574]
setl dl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, dl
cmp byte [rbp + 0x10], 0
jne 0x180006caf
xor dword [rbp - 0x4c], 0x28d2
xor dword [rbp - 0x10], 0x28d2
test al, al
mov eax, 0x16b4
mov edx, 0x4a93
cmovne eax, edx
xor eax, dword [rbp - 0x50]
mov dl, 1
mov dword [rbp + 0x10], edx
jmp 0x180006b70
cmp eax, 0x72db
jle 0x180006e4c
cmp eax, 0x7986
jg 0x180006fde
cmp eax, 0x72dc
je 0x180007253
cmp eax, 0x735d
jne 0x180006b70
cmp dword [0x18009a578], 0xa
mov eax, dword [0x18009a57c]
setl dl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, dl
cmp byte [rbp + 0x14], 0
jne 0x180006d2f
xor dword [rbp - 0x44], 0x16dd
xor dword [rbp - 0xc], 0x16dd
test al, al
mov eax, 0x6471
mov edx, 0x532e
cmovne eax, edx
xor eax, dword [rbp - 0x48]
mov dl, 1
mov dword [rbp + 0x14], edx
jmp 0x180006b70
cmp eax, 0x1d99
jg 0x180007097
cmp eax, 0x1ade
je 0x1800072f3
cmp eax, 0x1c08
jne 0x180006b70
mov rax, qword [rbp + 0x60]
mov eax, dword [rax]
add eax, 1
mov rdx, qword [rbp + 0x60]
mov dword [rdx], eax
mov rax, qword [rbp + 0x50]
mov dword [rax], 0xc2c4880
mov eax, dword [rbp - 4]
mov edx, 0x49a1
xor eax, edx
jmp 0x180006b70
cmp eax, 0x420b
je 0x18000732f
cmp eax, 0x42aa
je 0x18000737d
cmp eax, 0x45df
jne 0x180006b70
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
mov rdx, qword [rbp + 0x60]
mov edx, dword [rdx]
movsxd rdx, edx
mov al, byte [rax + rdx]
mov rdx, qword [rbp + 0x48]
mov rdx, qword [rdx]
mov rsi, qword [rbp + 0x60]
mov esi, dword [rsi]
movsxd rsi, esi
mov byte [rdx + rsi], al
mov rax, qword [rbp + 0x50]
mov dword [rax], 0x9311abea
mov eax, dword [0x18009a580]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
mov eax, 0x7daf
mov edx, 0xf2c
cmove eax, edx
cmp dword [0x18009a584], 0xa
cmovl eax, edx
xor eax, dword [rbp - 0x3c]
jmp 0x180006b70
cmp eax, 0x2d81
je 0x1800073cc
cmp eax, 0x2fb4
je 0x180007040
cmp eax, 0x2ff7
jne 0x180006b70
mov rax, qword [rbp + 0x50]
mov eax, dword [rax]
mov dword [rbp + 8], eax
mov eax, dword [rbp - 0x18]
mov edx, 0x779
xor eax, edx
jmp 0x180006b70
cmp eax, 0x5c3b
je 0x1800074f4
cmp eax, 0x5f44
je 0x1800073e9
cmp eax, 0x6e3f
jne 0x180006b70
cmp dword [0x18009a588], 0xa
mov eax, dword [0x18009a58c]
setl dl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, dl
cmp byte [rbp + 0x18], 0
jne 0x180006ea0
xor dword [rbp - 0x3c], 0x476
xor dword [rbp - 8], 0x476
test al, al
mov eax, 0x79d9
mov edx, 0xc2f
cmovne eax, edx
xor eax, dword [rbp - 0x40]
mov dl, 1
mov dword [rbp + 0x18], edx
jmp 0x180006b70
cmp eax, 0x91b
je 0x180006b58
cmp eax, 0x98e
jne 0x180006b70
mov r14, r12
mov r12, r8
mov al, byte [rbp + 0x5f]
cmp byte [rbp + 0x1c], 0
jne 0x180006f0e
mov edx, 1
nop word cs:[rax + rax]
movsxd r8, dword [rbx + rdx*4 - 4]
xor byte [rbp + r8*4 - 0x70], 0x26
movsxd rsi, dword [rbx + rdx*4]
xor byte [rbp + rsi*4 - 0x70], 0x26
add rdx, 2
cmp rdx, 0x1d
jne 0x180006ef0
test al, 1
mov eax, 0x1d6f
mov edx, 0x6cfb
cmovne eax, edx
xor eax, dword [rbp - 0x70]
mov dl, 1
mov dword [rbp + 0x1c], edx
mov r8, r12
mov r12, r14
mov r14d, 0x3be7951c
jmp 0x180006b70
cmp eax, 0x5068
je 0x180007416
cmp eax, 0x52f5
jne 0x180006b70
mov eax, dword [rbp + 8]
cmp byte [rbp + 0x24], 0
jne 0x180006f83
mov edx, 1
nop word [rax + rax]
movsxd rsi, dword [rdi + rdx*4 - 4]
xor dword [rbp + rsi*4 - 0x70], 0x2e15
movsxd rsi, dword [rdi + rdx*4]
xor dword [rbp + rsi*4 - 0x70], 0x2e15
add rdx, 2
cmp rdx, 0x17
jne 0x180006f60
mov dl, 1
mov dword [rbp + 0x24], edx
cmp eax, 0xc6408803
jle 0x1800074de
cmp eax, 0xc6408804
je 0x180007040
cmp eax, 0xc2c4880
je 0x180006c7c
cmp eax, 0x3be7951c
je 0x180006e6d
jmp 0x1800074f4
cmp eax, 0x3149
je 0x18000745d
cmp eax, 0x34c1
jne 0x180006b70
mov eax, dword [rbp - 0x14]
mov edx, 0x5814
xor eax, edx
jmp 0x180006b70
cmp eax, 0x7987
je 0x18000748b
cmp eax, 0x7b6d
jne 0x180006b70
cmp dword [0x18009a590], 0xa
mov eax, dword [0x18009a594]
setl dl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, dl
test r10b, r10b
jne 0x180007026
xor dword [rbp - 0x34], 0x5039
xor dword [rbp - 4], 0x5039
test al, al
mov eax, 0x55f8
mov edx, 0x1998
cmovne eax, edx
xor eax, dword [rbp - 0x38]
mov r10b, 1
jmp 0x180006b70
mov eax, dword [0x18009a598]
cmp dword [0x18009a59c], 0xa
setl dl
lea esi, [rax + rax]
not esi
add esi, eax
imul esi, eax
test sil, 1
sete al
or al, dl
test r13b, r13b
jne 0x18000707d
xor dword [rbp - 0x2c], 0x22f1
xor dword [rbp - 0x28], 0x22f1
xor dword [rbp], 0x22f1
test al, al
mov eax, 0x40eb
mov edx, 0x3077
cmovne eax, edx
xor eax, dword [rbp - 0x30]
mov r13b, 1
jmp 0x180006b70
cmp eax, 0x1dcd
jne 0x1800075a9
mov eax, dword [0x18009a5a0]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
mov eax, 0x3be8
mov edx, 0x3833
cmove eax, edx
cmp dword [0x18009a5a4], 0xa
cmovl eax, edx
xor eax, dword [rbp - 0x20]
jmp 0x180006b70
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x40], rax
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x48], rax
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x40]
mov qword [rax], r8
mov rax, qword [rbp + 0x38]
mov qword [rax], r12
mov rax, qword [rbp + 0x48]
mov qword [rax], rcx
mov rax, qword [rbp + 0x60]
mov rax, qword [rbp + 0x60]
mov dword [rax], 0
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
mov dword [rax], 0xc2c4880
cmp dword [0x18009a5a8], 0xa
mov eax, dword [0x18009a5ac]
setl dl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, dl
cmp byte [rbp + 0x2c], 0
jne 0x1800071b3
mov edx, 1
nop dword [rax + rax]
movsxd rsi, dword [r9 + rdx*4 - 4]
xor dword [rbp + rsi*4 - 0x70], 0x52f6
movsxd rsi, dword [r9 + rdx*4]
xor dword [rbp + rsi*4 - 0x70], 0x52f6
add rdx, 2
cmp rdx, 0x1b
jne 0x180007190
test al, al
mov eax, 0x6cdd
mov edx, 0x569a
cmovne eax, edx
xor eax, dword [rbp - 0x68]
mov dl, 1
mov dword [rbp + 0x2c], edx
jmp 0x180006b70
cmp dword [0x18009a5b0], 0xa
mov eax, dword [0x18009a5b4]
setl dl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, dl
cmp byte [rbp + 0x30], 0
je 0x180007543
test al, al
mov eax, 0x6300
mov edx, 0xefc
cmovne eax, edx
xor eax, dword [rbp - 0x64]
mov dl, 1
mov dword [rbp + 0x30], edx
jmp 0x180006b70
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
mov rdx, qword [rbp + 0x60]
mov edx, dword [rdx]
movsxd rdx, edx
mov al, byte [rax + rdx]
mov rdx, qword [rbp + 0x48]
mov rdx, qword [rdx]
mov rsi, qword [rbp + 0x60]
mov esi, dword [rsi]
movsxd rsi, esi
mov byte [rdx + rsi], al
mov rax, qword [rbp + 0x50]
mov dword [rax], 0x9311abea
mov eax, dword [rbp - 8]
mov edx, 0x859
xor eax, edx
jmp 0x180006b70
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x40], rax
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x48], rax
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x40]
mov qword [rax], r8
mov rax, qword [rbp + 0x38]
mov qword [rax], r12
mov rax, qword [rbp + 0x48]
mov qword [rax], rcx
mov rax, qword [rbp + 0x60]
mov rax, qword [rbp + 0x60]
mov dword [rax], 0
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
mov dword [rax], 0xc2c4880
mov eax, dword [rbp - 0x1c]
mov edx, 0x1d49
xor eax, edx
jmp 0x180006b70
mov rax, qword [rbp + 0x60]
mov rax, qword [rbp + 0x50]
mov dword [rax], 0xc6408804
mov eax, dword [0x18009a5b8]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
mov eax, 0x72ac
mov edx, 0x1d87
cmove eax, edx
cmp dword [0x18009a5bc], 0xa
cmovl eax, edx
xor eax, dword [rbp - 0x44]
jmp 0x180006b70
mov rax, qword [rbp + 0x50]
mov eax, dword [rax]
mov dword [rbp + 8], eax
cmp dword [0x18009a5c0], 0xa
mov eax, dword [0x18009a5c4]
setl dl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, dl
cmp byte [rbp + 0x34], 0
je 0x180007579
test al, al
mov eax, 0x6a85
mov edx, 0x1787
cmovne eax, edx
xor eax, dword [rbp - 0x60]
mov dl, 1
mov dword [rbp + 0x34], edx
jmp 0x180006b70
cmp dword [0x18009a5c8], 0xa
mov eax, dword [0x18009a5cc]
setl dl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, dl
cmp byte [rbp + 0x28], 0
jne 0x1800073b0
xor dword [rbp - 0x20], 0x3958
xor dword [rbp + 4], 0x3958
test al, al
mov eax, 0x2b0
mov edx, 0x543d
cmovne eax, edx
xor eax, dword [rbp - 0x24]
mov dl, 1
mov dword [rbp + 0x28], edx
jmp 0x180006b70
mov rax, qword [rbp + 0x60]
mov rax, qword [rbp + 0x50]
mov dword [rax], 0xc6408804
mov eax, dword [rbp - 0xc]
mov edx, 0x45f3
xor eax, edx
jmp 0x180006b70
mov rax, qword [rbp + 0x60]
mov eax, dword [rax]
cdqe
mov rdx, qword [rbp + 0x40]
cmp qword [rdx], rax
mov eax, 0xc5820903
cmova eax, r14d
mov rdx, qword [rbp + 0x50]
mov dword [rdx], eax
mov eax, dword [rbp - 0x10]
mov edx, 0x6241
xor eax, edx
jmp 0x180006b70
mov rax, qword [rbp + 0x60]
mov eax, dword [rax]
add eax, 1
mov rdx, qword [rbp + 0x60]
mov dword [rdx], eax
mov rax, qword [rbp + 0x50]
mov dword [rax], 0xc2c4880
mov eax, dword [0x18009a5d0]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
mov eax, 0x5c1
mov edx, 0x5b63
cmove eax, edx
cmp dword [0x18009a5d4], 0xa
cmovl eax, edx
xor eax, dword [rbp - 0x34]
jmp 0x180006b70
mov eax, dword [0x18009a5d8]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
mov eax, 0x5d9c
mov edx, 0x2bf7
cmove eax, edx
cmp dword [0x18009a5dc], 0xa
cmovl eax, edx
xor eax, dword [rbp - 0x54]
jmp 0x180006b70
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp dword [0x18009a5e0], 0xa
mov eax, dword [0x18009a5e4]
setl dl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, dl
cmp byte [rbp + 0x20], 0
jne 0x1800074c2
xor dword [rbp - 0x28], 0x66ad
test al, al
mov eax, 0x621a
mov edx, 0x769b
cmovne eax, edx
xor eax, dword [rbp - 0x2c]
mov dl, 1
mov dword [rbp + 0x20], edx
jmp 0x180006b70
cmp eax, 0x9311abea
je 0x180006ff4
cmp eax, 0xc5820903
je 0x180006cfc
cmp dword [0x18009a5e8], 0xa
mov eax, dword [0x18009a5ec]
setl dl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, dl
cmp byte [rbp + 0xc], 0
jne 0x180007527
xor dword [rbp - 0x54], 0x20ad
xor dword [rbp - 0x14], 0x20ad
test al, al
mov eax, 0x7d31
mov edx, 0x78b9
cmovne eax, edx
xor eax, dword [rbp - 0x58]
mov dl, 1
mov dword [rbp + 0xc], edx
jmp 0x180006b70
mov edx, 1
nop dword [rax + rax]
movsxd rsi, dword [r11 + rdx*4 - 4]
xor dword [rbp + rsi*4 - 0x70], 0x985
cmp rdx, 0x19
je 0x1800071f8
movsxd rsi, dword [r11 + rdx*4]
xor dword [rbp + rsi*4 - 0x70], 0x985
add rdx, 2
jmp 0x180007550
mov edx, 1
nop
movsxd rsi, dword [r15 + rdx*4 - 4]
xor dword [rbp + rsi*4 - 0x70], 0x2297
cmp rdx, 0x17
je 0x180007361
movsxd rsi, dword [r15 + rdx*4]
xor dword [rbp + rsi*4 - 0x70], 0x2297
add rdx, 2
jmp 0x180007580
cmp eax, 0x1d9a
jne 0x180006b70
mov rax, qword [rbp - 0x78]
lea rsp, [rbp + 0x68]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret