Function at 0x140003c53
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x108
lea rbp, [rsp + 0x80]
mov dword [rbp + 0x54], edx
mov qword [rbp - 0x50], rcx
xorps xmm0, xmm0
movaps xmmword [rbp + 0x40], xmm0
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp], xmm0
mov eax, dword [0x1400c76e0]
mov ecx, dword [0x1400c76e4]
cmp ecx, 0xa
setl dl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
cmp ecx, 9
setg byte [rbp + 0x87]
movaps xmmword [rbp - 0x10], xmm0
setg cl
mov bl, byte [rbp + 0x87]
not bl
and bl, al
xor dl, al
or dl, bl
mov byte [rbp + 0x86], dl
and cl, al
mov byte [rbp + 0x85], cl
xor eax, eax
lea rcx, [0x140050bd0]
movsxd rdx, dword [rax + rcx]
xor dword [rbp + rdx*4 - 0x10], 0x1e27
add rax, 4
cmp rax, 0x5c
jne 0x140003ce0
mov eax, 0x4819
xor ecx, ecx
mov qword [rbp - 0x48], rcx
lea rsi, [0x140050d84]
lea rbx, [0x140050c80]
lea rdi, [0x140050cd0]
lea r13, [0x140050d68]
lea r12, [0x140050d60]
lea r14, [0x140050d70]
lea r9, [0x140050b70]
lea r11, [0x140050d78]
lea r10, [0x140050c30]
lea r15, [0x140050d20]
xor ecx, ecx
mov qword [rbp - 0x30], rcx
xor ecx, ecx
mov qword [rbp - 0x28], rcx
xor ecx, ecx
mov qword [rbp - 0x20], rcx
xor ecx, ecx
mov qword [rbp - 0x38], 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 ecx, ecx
mov qword [rbp - 0x40], rcx
xor ecx, ecx
mov qword [rbp - 0x18], rcx
cmp eax, 0x4818
jg 0x140003dc3
cmp eax, 0x25fc
jg 0x140003e24
cmp eax, 0x8bf
jg 0x140003e97
cmp eax, 0x24e
je 0x140004208
cmp eax, 0x348
je 0x140003fcb
cmp eax, 0x363
je 0x1400045c4
jmp 0x140003d83
cmp eax, 0x6e3e
jle 0x140003e5f
cmp eax, 0x7986
jg 0x140003f62
cmp eax, 0x6e3f
je 0x140004243
cmp eax, 0x70d1
je 0x14000425b
cmp eax, 0x735d
jne 0x140003d83
mov eax, dword [0x1400c76e8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xe46
mov ecx, 0x7f01
cmove eax, ecx
cmp dword [0x1400c76ec], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x30]
jmp 0x140003d83
cmp eax, 0x3148
jle 0x140004025
cmp eax, 0x3149
je 0x14000435d
cmp eax, 0x420b
je 0x1400040f3
cmp eax, 0x45df
jne 0x140003d83
mov eax, dword [rbp + 0x3c]
mov ecx, 0x6b13
xor eax, ecx
jmp 0x140003d83
cmp eax, 0x5067
jle 0x140004059
cmp eax, 0x5068
je 0x1400043b4
cmp eax, 0x52f5
je 0x1400043ee
cmp eax, 0x5c3b
lea rsi, [0x140050d84]
je 0x140004152
jmp 0x140003d83
cmp eax, 0x8c0
je 0x14000444b
cmp eax, 0x98e
je 0x1400041ab
cmp eax, 0x1ade
jne 0x140003d83
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x68], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x60], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x78], rax
mov rax, qword [rbp + 0x68]
mov qword [rax], r8
mov rax, qword [rbp + 0x58]
mov ecx, dword [rbp + 0x54]
mov dword [rax], ecx
mov rax, qword [rbp + 0x60]
mov rcx, qword [rbp - 0x50]
mov qword [rax], rcx
mov rax, qword [rbp + 0x78]
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x78]
mov qword [rcx], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x70], rax
mov rax, qword [rbp + 0x70]
mov dword [rax], 0x6829aeb4
mov eax, dword [rbp + 0x34]
mov ecx, 0x6ed0
xor eax, ecx
jmp 0x140003d83
cmp eax, 0x7987
je 0x14000449e
cmp eax, 0x7b6d
je 0x1400044ad
cmp eax, 0x7e16
jne 0x140003d83
mov eax, dword [rbp + 0x50]
cmp byte [rbp - 0x38], 0
jne 0x140003fa4
xor edx, edx
movsxd rcx, dword [rdx + r15]
xor dword [rbp + rcx*4 - 0x10], 0x2e15
add rdx, 4
cmp rdx, 0x40
jne 0x140003f8e
mov cl, 1
mov qword [rbp - 0x38], rcx
cmp eax, 0x94d510e
je 0x1400040f3
cmp eax, 0x1c53856f
je 0x140004152
cmp eax, 0x6829aeb4
jne 0x1400041ab
cmp dword [0x1400c76f0], 0xa
mov eax, dword [0x1400c76f4]
setl cl
mov edx, eax
not edx
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x68], 0
jne 0x140004008
xor edx, edx
movsxd rcx, dword [rdx + r13]
xor dword [rbp + rcx*4 - 0x10], 0x28d2
add rdx, 4
cmp rdx, 8
jne 0x140003ff2
test al, al
mov eax, 0x329d
mov ecx, 0x16b
cmovne eax, ecx
xor eax, dword [rbp + 0x10]
mov cl, 1
mov qword [rbp - 0x68], rcx
jmp 0x140003d83
cmp eax, 0x25fd
je 0x14000450c
cmp eax, 0x2fb4
jne 0x1400045b7
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov rax, qword [rbp + 0x78]
mov eax, dword [rbp + 0x48]
mov ecx, 0x7ccf
xor eax, ecx
jmp 0x140003d83
cmp eax, 0x4819
je 0x14000456e
cmp eax, 0x489b
jne 0x140003d83
mov rax, qword [rbp + 0x68]
mov rax, qword [rax]
movabs rcx, 0xffffffff1b42edbe
add rcx, rax
lea edx, [rax + 0x1b42edbe]
and edx, 0xe4bd1241
mov esi, 0xccbce3fb
add rsi, 0x18002e46
or rsi, rcx
add rsi, rdx
mov rcx, qword [rbp + 0x68]
test rax, rax
mov eax, 0x94d510e
mov edx, 0x1c53856f
cmove eax, edx
mov qword [rcx], rsi
lea rsi, [0x140050d84]
mov rcx, qword [rbp + 0x70]
mov dword [rcx], eax
mov eax, dword [0x1400c76f8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x1a4f
mov ecx, 0x6241
cmove eax, ecx
cmp dword [0x1400c76fc], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x14]
jmp 0x140003d83
mov ecx, dword [0x1400c7700]
cmp dword [0x1400c7704], 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
cmp byte [rbp - 0x60], 0
jne 0x140004135
xor edx, edx
movsxd rcx, dword [rdx + r14]
xor dword [rbp + rcx*4 - 0x10], 0x16dd
add rdx, 4
cmp rdx, 8
jne 0x14000411f
test al, al
mov eax, 0x1998
mov ecx, 0x1b05
cmovne eax, ecx
xor eax, dword [rbp + 0x18]
mov cl, 1
mov qword [rbp - 0x60], rcx
jmp 0x140003d83
cmp dword [0x1400c7708], 0xa
mov eax, dword [0x1400c770c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x58], 0
jne 0x14000418e
xor ecx, ecx
movsxd rdx, dword [rcx + r11]
xor dword [rbp + rdx*4 - 0x10], 0x476
add rcx, 4
cmp rcx, 0xc
jne 0x140004178
test al, al
mov eax, 0x6644
mov ecx, 0x78b9
cmovne eax, ecx
xor eax, dword [rbp + 0x20]
mov cl, 1
mov qword [rbp - 0x58], rcx
jmp 0x140003d83
mov eax, dword [0x1400c7710]
cmp dword [0x1400c7714], 0xa
setl cl
mov edx, 1
sub edx, eax
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x70], 0
jne 0x1400041eb
xor edx, edx
movsxd rcx, dword [rdx + r12]
xor dword [rbp + rcx*4 - 0x10], 0x20ad
add rdx, 4
cmp rdx, 8
jne 0x1400041d5
test al, al
mov eax, 0xc2f
mov ecx, 0x4bbe
cmovne eax, ecx
xor eax, dword [rbp + 8]
mov cl, 1
mov qword [rbp - 0x70], rcx
jmp 0x140003d83
mov eax, dword [0x1400c7718]
mov ecx, eax
or ecx, 0xfffffffe
lea edx, [rcx + 3]
not edx
add edx, eax
add ecx, edx
inc ecx
imul ecx, eax
test cl, 1
mov eax, 0x2c82
mov ecx, 0x6a3e
cmove eax, ecx
cmp dword [0x1400c771c], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0xc]
jmp 0x140003d83
mov rax, qword [rbp + 0x70]
mov eax, dword [rax]
mov dword [rbp + 0x50], eax
mov eax, dword [rbp + 0x38]
mov ecx, 0x608f
xor eax, ecx
jmp 0x140003d83
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x68], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x60], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x78], rax
mov rax, qword [rbp + 0x68]
mov rsi, r8
mov qword [rax], r8
mov rax, qword [rbp + 0x58]
mov ecx, dword [rbp + 0x54]
mov dword [rax], ecx
mov rax, qword [rbp + 0x60]
mov rcx, qword [rbp - 0x50]
mov qword [rax], rcx
mov rax, qword [rbp + 0x78]
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
mov rdx, qword [rbp + 0x78]
mov qword [rdx], rax
mov eax, 0x10
call fcn.14004f010
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x70], rax
mov rax, qword [rbp + 0x70]
mov dword [rax], 0x6829aeb4
cmp dword [0x1400c7720], 0xa
mov eax, dword [0x1400c7724]
setl dl
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
sete al
or al, dl
cmp byte [rbp - 0x30], 0
jne 0x140004336
xor r8d, r8d
movsxd rcx, dword [r8 + r10]
xor dword [rbp + rcx*4 - 0x10], 0x52f6
add r8, 4
cmp r8, 0x50
jne 0x140004320
test al, al
mov eax, 0x4df
mov ecx, 0x16c1
cmovne eax, ecx
xor eax, dword [rbp - 8]
mov cl, 1
mov qword [rbp - 0x30], rcx
mov r8, rsi
lea rsi, [0x140050d84]
jmp 0x140003d83
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov rax, qword [rbp + 0x78]
cmp dword [0x1400c7728], 0xa
mov eax, dword [0x1400c772c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x40], 0
jne 0x140004397
xor dword [rbp + 0x28], 0x119
test al, al
mov eax, 0x6232
mov ecx, 0x7d2e
cmovne eax, ecx
xor eax, dword [rbp + 0x24]
mov cl, 1
mov qword [rbp - 0x40], rcx
jmp 0x140003d83
mov rax, qword [rbp + 0x58]
mov al, byte [rax]
mov rcx, qword [rbp + 0x78]
mov rcx, qword [rcx]
lea rdx, [rcx + 1]
mov rsi, qword [rbp + 0x78]
mov qword [rsi], rdx
mov byte [rcx], al
mov rax, qword [rbp + 0x70]
mov dword [rax], 0x6829aeb4
mov eax, dword [rbp + 0x44]
mov ecx, 0xdd8
xor eax, ecx
lea rsi, [0x140050d84]
jmp 0x140003d83
mov rax, qword [rbp + 0x58]
mov al, byte [rax]
mov rcx, qword [rbp + 0x78]
mov rcx, qword [rcx]
lea rdx, [rcx + 1]
mov rsi, qword [rbp + 0x78]
mov qword [rsi], rdx
mov byte [rcx], al
mov rax, qword [rbp + 0x70]
mov dword [rax], 0x6829aeb4
mov eax, dword [0x1400c7730]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
mov eax, 0xf45
mov ecx, 0x5c4e
cmove eax, ecx
cmp dword [0x1400c7734], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x1c]
lea rsi, [0x140050d84]
jmp 0x140003d83
mov ecx, dword [0x1400c7738]
cmp dword [0x1400c773c], 9
setg dl
lea eax, [rcx + 1]
imul eax, ecx
and al, dl
cmp byte [rbp - 0x28], 0
jne 0x140004481
xor edx, edx
movsxd rcx, dword [rdx + rbx]
xor dword [rbp + rcx*4 - 0x10], 0x985
add rdx, 4
cmp rdx, 0x4c
jne 0x14000446b
test al, al
mov eax, 0x690a
mov ecx, 0x22c8
cmovne eax, ecx
xor eax, dword [rbp - 4]
mov cl, 1
mov qword [rbp - 0x28], rcx
jmp 0x140003d83
mov eax, dword [rbp + 0x4c]
mov ecx, 0x49c
xor eax, ecx
jmp 0x140003d83
mov rax, qword [rbp + 0x68]
mov rax, qword [rax]
mov rcx, rax
mov edx, 0xccbce3fb
or rcx, rdx
movabs rdx, 0xffffffff1b42edbe
add rdx, 0x18002e46
or rdx, rax
not rdx
not rcx
lea rcx, [rcx + rax*2]
add rcx, rdx
mov rdx, qword [rbp + 0x68]
mov qword [rdx], rcx
test rax, rax
mov eax, 0x94d510e
mov ecx, 0x1c53856f
cmove eax, ecx
mov rcx, qword [rbp + 0x70]
mov dword [rcx], eax
mov eax, dword [rbp + 0x40]
mov ecx, 0x29b9
xor eax, ecx
jmp 0x140003d83
mov rax, qword [rbp + 0x70]
mov eax, dword [rax]
mov dword [rbp + 0x50], eax
cmp dword [0x1400c7740], 0xa
mov eax, dword [0x1400c7744]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x20], 0
jne 0x140004551
xor edx, edx
movsxd rcx, dword [rdx + rdi]
xor dword [rbp + rcx*4 - 0x10], 0x2297
add rdx, 4
cmp rdx, 0x44
jne 0x14000453b
test al, al
mov eax, 0x2b4d
mov ecx, 0x3b64
cmovne eax, ecx
xor eax, dword [rbp]
mov cl, 1
mov qword [rbp - 0x20], rcx
jmp 0x140003d83
mov al, byte [rbp + 0x87]
mov al, byte [rbp + 0x85]
cmp byte [rbp - 0x48], 0
jne 0x140004595
xor eax, eax
movsxd rdx, dword [rax + r9]
xor byte [rbp + rdx*4 - 0x10], 0x26
add rax, 4
cmp rax, 0x58
jne 0x140004582
cmp byte [rbp + 0x86], 0
mov eax, 0x4f9
mov ecx, 0x6ef6
cmovne eax, ecx
xor eax, dword [rbp - 0x10]
mov cl, 1
mov qword [rbp - 0x48], rcx
jmp 0x140003d83
cmp eax, 0x30a8
jne 0x140003d83
jmp 0x14000461a
cmp dword [0x1400c7748], 0xa
mov eax, dword [0x1400c774c]
setl cl
mov edx, eax
not edx
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x18], 0
jne 0x140004601
xor edx, edx
movsxd rcx, dword [rdx + rsi]
xor dword [rbp + rcx*4 - 0x10], 0x3e31
add rdx, 4
cmp rdx, 8
jne 0x1400045eb
test al, al
mov eax, 0x3077
mov ecx, 0x3aad
cmovne eax, ecx
xor eax, dword [rbp + 0x2c]
mov cl, 1
jmp 0x140003d7f
mov rax, qword [rbp - 0x78]
lea rsp, [rbp + 0x88]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret