Function at 0x18003dc5a
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0x80]
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x50], xmm0
mov dword [rbp - 0x10], 0
cmp dword [0x1800e7380], 9
mov eax, dword [0x1800e7384]
setg cl
lea edx, [rax + 1]
imul edx, eax
and dl, cl
mov byte [rbp + 7], dl
xor eax, eax
lea rcx, [0x180059da0]
movsxd rdx, dword [rax + rcx]
xor dword [rbp + rdx*4 - 0x50], 0x1e27
add rax, 4
cmp rax, 0x40
jne 0x18003dcb3
mov eax, 0x66ad
xor r11d, r11d
lea r9, [0x180059eac]
lea r8, [0x180059eb4]
lea rbx, [0x180059de0]
lea rdi, [0x180059e20]
lea r10, [0x180059e80]
lea r14, [0x180059ea4]
lea r12, [0x180059d60]
lea r15, [0x180059e50]
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 ecx, ecx
mov qword [rbp - 0x60], rcx
xor ecx, ecx
mov qword [rbp - 0x58], rcx
xor r13d, r13d
cmp eax, 0x489a
jg 0x18003dd75
cmp eax, 0x98d
jg 0x18003ddf7
cmp eax, 0x52a
jg 0x18003de9f
cmp eax, 0x24e
je 0x18003e003
cmp eax, 0x348
jne 0x18003dd30
mov rax, qword [rbp - 8]
mov dword [rax], 0x1ab2fa4a
mov eax, dword [rbp - 0x14]
mov ecx, 0x11f3
xor eax, ecx
jmp 0x18003dd30
cmp eax, 0x66ac
jg 0x18003de46
cmp eax, 0x5496
jg 0x18003df0a
cmp eax, 0x489b
je 0x18003e012
cmp eax, 0x51f0
jne 0x18003dd30
cmp dword [0x1800e7388], 0xa
mov eax, dword [0x1800e738c]
setl cl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, cl
cmp byte [rbp - 0x78], 0
jne 0x18003ddda
xor esi, esi
movsxd rcx, dword [rsi + rdi]
xor dword [rbp + rcx*4 - 0x50], 0x985
add rsi, 4
cmp rsi, 0x30
jne 0x18003ddc4
test al, al
mov eax, 0x4579
mov ecx, 0x3064
cmovne eax, ecx
xor eax, dword [rbp - 0x44]
mov cl, 1
mov qword [rbp - 0x78], rcx
jmp 0x18003dd30
cmp eax, 0x3957
jg 0x18003df7c
cmp eax, 0x98e
je 0x18003e021
cmp eax, 0x25fd
jne 0x18003dd30
mov eax, dword [0x1800e7390]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x17b6
mov ecx, 0xedd
cmove eax, ecx
cmp dword [0x1800e7394], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x24]
jmp 0x18003dd30
cmp eax, 0x7c92
jg 0x18003dfc0
cmp eax, 0x66ad
je 0x18003e039
cmp eax, 0x70d1
jne 0x18003dd30
mov rax, qword [rbp - 8]
mov dword [rax], 0x1ab2fa4a
mov eax, dword [0x1800e7398]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x626a
mov ecx, 0x69e2
cmove eax, ecx
cmp dword [0x1800e739c], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x2c]
jmp 0x18003dd30
cmp eax, 0x52b
je 0x18003e071
cmp eax, 0x8c0
jne 0x18003dd30
cmp dword [0x1800e73a0], 0xa
mov eax, dword [0x1800e73a4]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test r13b, r13b
jne 0x18003def0
xor esi, esi
movsxd rcx, dword [rsi + r8]
xor dword [rbp + rcx*4 - 0x50], 0x16dd
add rsi, 4
cmp rsi, 8
jne 0x18003deda
test al, al
mov eax, 0x16b
mov ecx, 0x6c0d
cmovne eax, ecx
xor eax, dword [rbp - 0x28]
mov r13b, 1
jmp 0x18003dd30
cmp eax, 0x5497
je 0x18003e0ca
cmp eax, 0x6532
jne 0x18003dd30
cmp dword [0x1800e73a8], 9
mov ecx, dword [0x1800e73ac]
setg dl
mov eax, ecx
not eax
lea esi, [rcx + rcx]
add eax, esi
add eax, 2
imul eax, ecx
and al, dl
cmp byte [rbp - 0x60], 0
jne 0x18003df5f
xor esi, esi
movsxd rcx, dword [rsi + r14]
xor dword [rbp + rcx*4 - 0x50], 0x20ad
add rsi, 4
cmp rsi, 8
jne 0x18003df49
test al, al
mov eax, 0x1e9
mov ecx, 0x4bbe
cmovne eax, ecx
xor eax, dword [rbp - 0x38]
mov cl, 1
mov qword [rbp - 0x60], rcx
jmp 0x18003dd30
cmp eax, 0x3958
je 0x18003e10b
cmp eax, 0x4819
jne 0x18003dd30
mov eax, dword [0x1800e73b0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x6b13
mov ecx, 0x619d
cmove eax, ecx
cmp dword [0x1800e73b4], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x34]
jmp 0x18003dd30
cmp eax, 0x7c93
je 0x18003e183
cmp eax, 0x7e16
jne 0x18003dd30
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
mov dword [rax], 0x1ab2fa4a
mov eax, dword [rbp - 0x20]
mov ecx, 0x2759
xor eax, ecx
jmp 0x18003dd30
mov eax, dword [rbp - 0x18]
mov ecx, 0x2144
xor eax, ecx
jmp 0x18003dd30
mov eax, dword [rbp - 0x10]
mov ecx, 0x7ad0
xor eax, ecx
jmp 0x18003dd30
mov rax, qword [rbp - 8]
mov eax, dword [rax]
mov dword [rbp - 0xc], eax
mov eax, dword [rbp - 0x1c]
mov ecx, 0x39e1
xor eax, ecx
jmp 0x18003dd30
mov al, byte [rbp + 7]
test r11b, r11b
jne 0x18003e057
xor esi, esi
movsxd r11, dword [rsi + r12]
xor byte [rbp + r11*4 - 0x50], 0x26
add rsi, 4
cmp rsi, 0x3c
jne 0x18003e043
test al, 1
mov eax, 0x277f
mov ecx, 0x6031
cmovne eax, ecx
xor eax, dword [rbp - 0x50]
mov r11b, 1
jmp 0x18003dd30
cmp dword [0x1800e73b8], 0xa
mov eax, dword [0x1800e73bc]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x58], 0
jne 0x18003e0ad
xor esi, esi
movsxd rcx, dword [rsi + r9]
xor dword [rbp + rcx*4 - 0x50], 0x28d2
add rsi, 4
cmp rsi, 8
jne 0x18003e097
test al, al
mov eax, 0x4ab8
mov ecx, 0x3921
cmovne eax, ecx
xor eax, dword [rbp - 0x30]
mov cl, 1
mov qword [rbp - 0x58], rcx
jmp 0x18003dd30
mov eax, dword [rbp - 0xc]
cmp byte [rbp - 0x68], 0
jne 0x18003e0eb
xor esi, esi
movsxd rcx, dword [rsi + r10]
xor dword [rbp + rcx*4 - 0x50], 0x2e15
add rsi, 4
cmp rsi, 0x24
jne 0x18003e0d5
cmp eax, 0x1ab2fa4a
mov eax, 0x2d7
mov ecx, 0x62ce
cmove eax, ecx
xor eax, dword [rbp - 0x3c]
mov cl, 1
mov qword [rbp - 0x68], rcx
jmp 0x18003dd30
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
mov dword [rax], 0x1ab2fa4a
cmp dword [0x1800e73c0], 0xa
mov eax, dword [0x1800e73c4]
setl cl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, cl
cmp byte [rbp - 0x80], 0
jne 0x18003e166
xor esi, esi
movsxd rcx, dword [rsi + rbx]
xor dword [rbp + rcx*4 - 0x50], 0x52f6
add rsi, 4
cmp rsi, 0x34
jne 0x18003e150
test al, al
mov eax, 0x6017
mov ecx, 0x4ff1
cmovne eax, ecx
xor eax, dword [rbp - 0x48]
mov cl, 1
mov qword [rbp - 0x80], rcx
jmp 0x18003dd30
mov rax, qword [rbp - 8]
mov eax, dword [rax]
mov dword [rbp - 0xc], eax
cmp dword [0x1800e73c8], 0xa
mov eax, dword [0x1800e73cc]
setl cl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, cl
cmp byte [rbp - 0x70], 0
jne 0x18003e1c9
xor esi, esi
movsxd rcx, dword [rsi + r15]
xor dword [rbp + rcx*4 - 0x50], 0x2297
add rsi, 4
cmp rsi, 0x28
jne 0x18003e1b3
test al, al
mov eax, 0x4cfc
mov ecx, 0x11e5
cmovne eax, ecx
xor eax, dword [rbp - 0x40]
mov cl, 1
mov qword [rbp - 0x70], rcx
jmp 0x18003dd30