Function at 0x140011910
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov r15, r9
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov r13, qword [rbp + 0x80]
mov dword [rcx + 0x17c], 0
xor eax, eax
nop dword [rax]
mov edx, 1
mov ecx, eax
shl rdx, cl
movsxd rcx, dword [rsi + rax*4 + 0x70]
xor qword [rsi + rcx*8], rdx
xor qword [rsi + 0x60], rdx
mov dword [rsi + rax*4 + 0x70], 0xc
lea ecx, [rax + 1]
mov edx, 1
shl rdx, cl
movsxd rcx, dword [rsi + rax*4 + 0x74]
xor qword [rsi + rcx*8], rdx
xor qword [rsi + 0x60], rdx
mov dword [rsi + rax*4 + 0x74], 0xc
add rax, 2
cmp rax, 0x40
jne 0x140011950
cmp qword [rbx + 0x10], 0
je 0x140011c06
cmp qword [rbx + 0x18], 0x10
mov rax, rbx
jb 0x1400119b1
mov rax, qword [rbx]
xor ecx, ecx
lea rdx, [0x14008f674]
jmp 0x1400119d2
inc ecx
inc rax
add r8, qword [rbx + 0x10]
cmp rax, r8
je 0x140011c06
movsx r8d, byte [rax]
add r8d, 0xffffffd1
cmp r8d, 0x43
ja case.0x140011e86.76
movsxd r8, dword [rdx + r8*4]
add r8, rdx
jmp r8
dec ecx
jmp case.0x1400119eb.49
mov r8d, 1
shl r8, cl
movsxd r9, ecx
movsxd r10, dword [rsi + r9*4 + 0x70]
xor qword [rsi + r10*8], r8
xor qword [rsi + 0x50], r8
mov dword [rsi + r9*4 + 0x70], 0xa
jmp case.0x1400119eb.49
mov r8d, 1
shl r8, cl
movsxd r9, ecx
movsxd r10, dword [rsi + r9*4 + 0x70]
xor qword [rsi + r10*8], r8
xor qword [rsi], r8
mov dword [rsi + r9*4 + 0x70], 0
jmp case.0x1400119eb.49
mov r8d, 1
shl r8, cl
movsxd r9, ecx
movsxd r10, dword [rsi + r9*4 + 0x70]
xor qword [rsi + r10*8], r8
xor qword [rsi + 0x58], r8
mov dword [rsi + r9*4 + 0x70], 0xb
jmp case.0x1400119eb.49
mov r8d, 1
shl r8, cl
movsxd r9, ecx
movsxd r10, dword [rsi + r9*4 + 0x70]
xor qword [rsi + r10*8], r8
xor qword [rsi + 0x30], r8
mov dword [rsi + r9*4 + 0x70], 6
jmp case.0x1400119eb.49
add ecx, 4
jmp case.0x1400119eb.49
mov r8d, 1
shl r8, cl
movsxd r9, ecx
movsxd r10, dword [rsi + r9*4 + 0x70]
xor qword [rsi + r10*8], r8
xor qword [rsi + 0x18], r8
mov dword [rsi + r9*4 + 0x70], 3
jmp case.0x1400119eb.49
mov r8d, 1
shl r8, cl
movsxd r9, ecx
movsxd r10, dword [rsi + r9*4 + 0x70]
xor qword [rsi + r10*8], r8
xor qword [rsi + 0x48], r8
mov dword [rsi + r9*4 + 0x70], 9
jmp case.0x1400119eb.49
add ecx, 2
jmp case.0x1400119eb.49
add ecx, 7
jmp case.0x1400119eb.49
mov r8d, 1
shl r8, cl
movsxd r9, ecx
movsxd r10, dword [rsi + r9*4 + 0x70]
xor qword [rsi + r10*8], r8
xor qword [rsi + 0x10], r8
mov dword [rsi + r9*4 + 0x70], 2
jmp case.0x1400119eb.49
inc ecx
jmp case.0x1400119eb.49
add ecx, 5
jmp case.0x1400119eb.49
add ecx, 3
jmp case.0x1400119eb.49
mov r8d, 1
shl r8, cl
movsxd r9, ecx
movsxd r10, dword [rsi + r9*4 + 0x70]
xor qword [rsi + r10*8], r8
xor qword [rsi + 0x40], r8
mov dword [rsi + r9*4 + 0x70], 8
jmp case.0x1400119eb.49
mov r8d, 1
shl r8, cl
movsxd r9, ecx
movsxd r10, dword [rsi + r9*4 + 0x70]
xor qword [rsi + r10*8], r8
xor qword [rsi + 8], r8
mov dword [rsi + r9*4 + 0x70], 1
jmp case.0x1400119eb.49
mov r8d, 1
shl r8, cl
movsxd r9, ecx
movsxd r10, dword [rsi + r9*4 + 0x70]
xor qword [rsi + r10*8], r8
xor qword [rsi + 0x20], r8
mov dword [rsi + r9*4 + 0x70], 4
jmp case.0x1400119eb.49
mov r8d, 1
shl r8, cl
movsxd r9, ecx
movsxd r10, dword [rsi + r9*4 + 0x70]
xor qword [rsi + r10*8], r8
xor qword [rsi + 0x28], r8
mov dword [rsi + r9*4 + 0x70], 5
jmp case.0x1400119eb.49
add ecx, 6
jmp case.0x1400119eb.49
mov r8d, 1
shl r8, cl
movsxd r9, ecx
movsxd r10, dword [rsi + r9*4 + 0x70]
xor qword [rsi + r10*8], r8
xor qword [rsi + 0x38], r8
mov dword [rsi + r9*4 + 0x70], 7
nop
cmp qword [rbx + 0x18], 0x10
mov r8, rbx
jb 0x1400119c0
mov r8, qword [rbx]
jmp 0x1400119c0
tzcnt rax, qword [rsi + 0x50]
mov dword [rsi + 0x170], eax
tzcnt rcx, qword [rsi + 0x58]
mov dword [rsi + 0x174], ecx
cmp qword [rdi + 0x10], 1
jne case.0x140011e86.76
cmp qword [rdi + 0x18], 0x10
mov rdx, rdi
jb 0x140011c36
mov rdx, qword [rdi]
movzx edx, byte [rdx]
cmp edx, 0x77
je 0x140011c4b
cmp edx, 0x62
jne case.0x140011e86.76
xor edx, edx
jmp 0x140011c4d
mov dl, 1
mov qword [rbp - 8], rbx
mov qword [rbp - 0x10], rdi
mov byte [rsi + 0x178], dl
vpbroadcastd xmm0, dword [0x14006c930]
vmovdqu xmmword [rsi + 0x1180], xmm0
cmp byte [0x1413e52d0], 0
mov rdx, qword [r15 + 0x18]
mov qword [rbp - 0x18], r15
je 0x140011db9
mov r8, qword [r15 + 0x10]
test r8, r8
je 0x140011ec0
mov r9, r15
cmp rdx, 0x10
jb 0x140011c9a
mov r9, qword [r15]
mov r10, qword [rsi + 0x30]
mov r11, qword [rsi + 0x38]
lea rdi, [0x14008f784]
lea rbx, [0x14006fbe0]
jmp 0x140011ccf
inc r9
add r14, r8
cmp r9, r14
je 0x140011ec0
movzx r15d, byte [r9]
movsx r14d, r15b
lea r12d, [r14 - 0x4b]
cmp r12d, 0x26
ja case.default.0x140011ce8
movsxd r12, dword [rdi + r12*4]
add r12, rdi
jmp r12
mov r14, qword [rbx + rcx*8 + 0x800]
and r14, r11
tzcnt r14, r14
mov dword [rsi + 0x118c], r14d
jmp 0x140011d97
cmp r14d, 0x2d
je 0x140011d97
cmp r15b, 0x61
jl 0x140011d7a
add r14d, 0xffffff9f
cmp r14d, eax
jle 0x140011db0
mov dword [rsi + 0x1184], r14d
jmp 0x140011d97
mov r14, qword [rbx + rax*8 + 0x800]
and r14, r10
tzcnt r14, r14
mov dword [rsi + 0x1184], r14d
jmp 0x140011d97
mov r14, qword [rbx + rax*8 + 0x600]
and r14, r10
tzcnt r14, r14
mov dword [rsi + 0x1180], r14d
jmp 0x140011d97
mov r14, qword [rbx + rcx*8 + 0x600]
and r14, r11
tzcnt r14, r14
jmp 0x140011d90
add r14d, 0xfffffff7
cmp r14d, ecx
jle 0x140011d90
mov dword [rsi + 0x118c], r14d
jmp 0x140011d97
mov dword [rsi + 0x1188], r14d
mov r15, qword [rbp - 0x18]
mov r14, r15
cmp rdx, 0x10
jb 0x140011cc0
mov r14, qword [r15]
jmp 0x140011cc0
mov dword [rsi + 0x1180], r14d
jmp 0x140011d97
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x140011ec0
cmp rdx, 0x10
jb 0x140011e4b
mov rcx, qword [r15]
lea rdx, [0x14008f8bc]
jmp 0x140011df4
mov dword [rsi + 0x1180], 0
inc rcx
mov r8, qword [r15]
add r8, rax
cmp rcx, r8
je 0x140011ec0
movsx r8d, byte [rcx]
lea r9d, [r8 - 0x4b]
cmp r9d, 0x26
ja case.default.0x140011e11
movsxd r8, dword [rdx + r9*4]
add r8, rdx
mov rdi, qword [rbp - 0x10]
mov rbx, qword [rbp - 8]
jmp r8
mov dword [rsi + 0x118c], 0x3f
jmp 0x140011de2
cmp r8d, 0x2d
mov rdi, qword [rbp - 0x10]
mov rbx, qword [rbp - 8]
je 0x140011de2
jmp case.0x140011e86.76
mov dword [rsi + 0x1184], 7
jmp 0x140011de2
mov dword [rsi + 0x1188], 0x38
jmp 0x140011de2
xor ecx, ecx
lea rdx, [0x14008f820]
jmp 0x140011e68
mov dword [rsi + 0x1180], 0
inc rcx
cmp rax, rcx
je 0x140011ec0
movsx r8d, byte [r15 + rcx]
lea r9d, [r8 - 0x4b]
cmp r9d, 0x26
ja case.default.0x140011e86
movsxd r8, dword [rdx + r9*4]
add r8, rdx
mov rdi, qword [rbp - 0x10]
mov rbx, qword [rbp - 8]
jmp r8
mov dword [rsi + 0x118c], 0x3f
jmp 0x140011e60
cmp r8d, 0x2d
mov rdi, qword [rbp - 0x10]
mov rbx, qword [rbp - 8]
je 0x140011e60
jmp case.0x140011e86.76
mov dword [rsi + 0x1184], 7
jmp 0x140011e60
mov dword [rsi + 0x1188], 0x38
jmp 0x140011e60
mov rdx, qword [rbp + 0x70]
mov rax, qword [rdx + 0x10]
cmp rax, 2
je 0x140011f00
cmp rax, 1
mov rdi, qword [rbp - 0x10]
mov rbx, qword [rbp - 8]
jne case.0x140011e86.76
mov rax, qword [rbp + 0x70]
cmp qword [rax + 0x18], 0x10
mov rcx, rax
jb 0x140011ef1
mov rcx, qword [rax]
mov eax, 0x40
cmp byte [rcx], 0x2d
je 0x140011f1e
jmp case.0x140011e86.76
cmp qword [rdx + 0x18], 0x10
mov rcx, rdx
jb 0x140011f0d
mov rcx, qword [rdx]
movsx eax, byte [rcx]
movsx ecx, byte [rcx + 1]
shl ecx, 3
sub eax, ecx
add eax, 0x15f
mov dword [rsi + 0x180], eax
call fcn.140042aa0
mov rdi, rax
mov rbx, qword [rbp + 0x78]
cmp qword [rbx + 0x18], 0x10
jb 0x140011f3e
mov rax, qword [rbp + 0x78]
mov rbx, qword [rax]
mov dword [rdi], 0
lea rdx, [rbp - 0x20]
mov rcx, rbx
mov r8d, 0xa
call fcn.14004614c
cmp rbx, qword [rbp - 0x20]
mov r13, qword [rbp + 0x80]
mov r15, qword [rbp - 0x18]
je 0x1400122df
cmp dword [rdi], 0x22
mov rbx, qword [rbp - 8]
je 0x1400122eb
mov dword [rsi + 0x5180], eax
movsxd rax, dword [rsi + 0x17c]
vpxor xmm0, xmm0, xmm0
lea rcx, [0x14006dfd0]
xor edx, edx
mov r8, rcx
nop word cs:[rax + rax]
movsxd r9, dword [rsi + rdx + 0x70]
movsxd r10, dword [rsi + rdx + 0x74]
movsxd r11, dword [rsi + rdx + 0x78]
movsxd rdi, dword [rsi + rdx + 0x7c]
shl r9, 9
shl r10, 9
add r10, rcx
shl r11, 9
add r11, rcx
shl rdi, 9
add rdi, rcx
vmovq xmm1, qword [rdi + rdx*2 + 0x18]
vmovq xmm2, qword [r11 + rdx*2 + 0x10]
vpunpcklqdq xmm1, xmm2, xmm1
vmovq xmm2, qword [r8 + r9]
vmovq xmm3, qword [r10 + rdx*2 + 8]
vpunpcklqdq xmm2, xmm2, xmm3
vinserti128 ymm1, ymm2, xmm1, 1
vpxor ymm0, ymm1, ymm0
add rdx, 0x10
add r8, 0x20
cmp rdx, 0x100
jne 0x140011fa0
vextracti128 xmm1, ymm0, 1
vpxor xmm0, xmm0, xmm1
vpshufd xmm1, xmm0, 0xee
vpxor xmm0, xmm0, xmm1
vmovq rcx, xmm0
movabs rdx, 0x9c534ab5a951fa6
xor rdx, rcx
cmp byte [rsi + 0x178], 0
cmovne rdx, rcx
mov rcx, rax
shl rcx, 4
movsxd r8, dword [rsi + rcx + 0x1180]
lea r9, [0x14006f9d0]
xor rdx, qword [r9 + r8*8]
movsxd r8, dword [rsi + rcx + 0x1184]
xor rdx, qword [r9 + r8*8]
movsxd r8, dword [rsi + rcx + 0x1188]
xor rdx, qword [r9 + r8*8]
movsxd rcx, dword [rsi + rcx + 0x118c]
xor rdx, qword [r9 + rcx*8]
movsxd rcx, dword [rsi + rax*4 + 0x180]
lea r8, [0x14008e8c0]
xor rdx, qword [r8 + rcx*8]
mov qword [rsi + rax*8 + 0x6180], rdx
mov rdi, qword [rbp - 0x10]
mov rax, qword [rbx + 0x18]
cmp rax, 0x10
mov rsi, qword [rbp + 0x78]
jb 0x1400120dc
mov rcx, qword [rbx]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400120d4
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400122af
add rax, 0x28
mov rdx, rax
mov rcx, r8
vzeroupper
call fcn.14003a6d8
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rax, qword [rdi + 0x18]
cmp rax, 0x10
jb 0x140012130
mov rcx, qword [rdi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140012128
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400122b7
add rax, 0x28
mov rdx, rax
mov rcx, r8
vzeroupper
call fcn.14003a6d8
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov rax, qword [r15 + 0x18]
cmp rax, 0x10
jb 0x140012184
mov rcx, qword [r15]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14001217c
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400122bf
add rax, 0x28
mov rdx, rax
mov rcx, r8
vzeroupper
call fcn.14003a6d8
mov qword [r15 + 0x10], 0
mov qword [r15 + 0x18], 0xf
mov byte [r15], 0
mov rcx, qword [rbp + 0x70]
mov rax, qword [rcx + 0x18]
cmp rax, 0x10
jb 0x1400121e1
mov rcx, qword [rcx]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400121d5
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400122c7
add rax, 0x28
mov rdx, rax
mov rcx, r8
vzeroupper
call fcn.14003a6d8
mov rcx, qword [rbp + 0x70]
mov qword [rcx + 0x10], 0
mov qword [rcx + 0x18], 0xf
mov byte [rcx], 0
mov rax, qword [rsi + 0x18]
cmp rax, 0x10
jb 0x140012235
mov rcx, qword [rsi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14001222d
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400122cf
add rax, 0x28
mov rdx, rax
mov rcx, r8
vzeroupper
call fcn.14003a6d8
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 0xf
mov byte [rsi], 0
mov rax, qword [r13 + 0x18]
cmp rax, 0x10
jb 0x140012286
mov rcx, qword [r13]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14001227e
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400122d7
add rax, 0x28
mov rdx, rax
mov rcx, r8
vzeroupper
call fcn.14003a6d8
mov qword [r13 + 0x10], 0
mov qword [r13 + 0x18], 0xf
mov byte [r13], 0
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
vzeroupper
ret
vzeroupper
call fcn.1400434a4
vzeroupper
call fcn.1400434a4
vzeroupper
call fcn.1400434a4
vzeroupper
call fcn.1400434a4
vzeroupper
call fcn.1400434a4
vzeroupper
call fcn.1400434a4
lea rcx, str.invalid_stoi_argument
call fcn.14003959c
lea rcx, str.stoi_argument_out_of_range
call fcn.1400395e4
int3