Function at 0x1200fcb20
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
lea rax, [rcx + 0x10]
mov byte [rcx + 0x10], 0
mov r13, rcx
mov rbx, rdx
mov qword [rcx], rax
mov qword [rcx + 8], 0
movzx eax, byte [rdx + 9]
cmp al, 0x73
je 0x1200fccb0
cmp al, 0x69
je 0x1200fcbd0
cmp al, 0x64
je 0x1200fcbd0
cmp al, 0x75
je 0x1200fcf30
cmp al, 0x78
je 0x1200fd0b0
cmp al, 0x58
je 0x1200fd128
cmp al, 0x70
je 0x1200fd160
cmp al, 0x63
jne 0x1200fcc98
mov eax, dword [r8]
lea r12, [rsp + 0x70]
lea rdx, [rsp + 0x80]
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x70], rdx
mov rdx, r12
mov byte [rsp + 0x80], al
mov byte [rsp + 0x81], 0
call fcn.120001cc8
mov rcx, r12
call fcn.120001d48
jmp 0x1200fcc98
mov eax, dword [r8]
movzx r9d, byte [rbx + 8]
mov esi, 0x2d
test eax, eax
js 0x1200fcbf0
mov esi, 0x2b
test r9b, 0x10
je 0x1200fce80
lea r8, [rsp + 0x41]
mov r12, r8
nop dword [rax + rax]
movsxd rdx, eax
mov r10d, eax
mov rcx, r12
sub r12, 1
imul rdx, rdx, 0x66666667
sar r10d, 0x1f
sar rdx, 0x22
sub edx, r10d
lea r10d, [rdx + rdx*4]
add r10d, r10d
sub eax, r10d
mov r10d, eax
sar r10d, 0x1f
xor eax, r10d
sub eax, r10d
add eax, 0x30
mov byte [r12], al
mov eax, edx
test edx, edx
jne 0x1200fcc00
test r9b, 4
jne 0x1200fcda0
test sil, sil
je 0x1200fcc5b
mov byte [r12 - 1], sil
lea r12, [rcx - 2]
lea r14, [rsp + 0x50]
lea rbx, [rsp + 0x60]
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x50], rbx
call fcn.120150970
mov rcx, r13
mov rdx, r14
call fcn.120001cc8
mov rcx, qword [rsp + 0x50]
cmp rcx, rbx
je 0x1200fcc98
mov rax, qword [rsp + 0x60]
lea rdx, [rax + 1]
call sub.libstdc_6.dll_operator_delete_void__unsigned_long_long_
mov rax, r13
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov esi, dword [r8]
mov eax, esi
mov edi, esi
sar eax, 0x1f
shr edi, 0x1f
xor esi, eax
sub esi, eax
cmp esi, 9
jbe 0x1200fd231
cmp esi, 0x63
jbe 0x1200fd3a0
cmp esi, 0x3e7
jbe 0x1200fd3ab
cmp esi, 0x270f
jbe 0x1200fd3b6
mov eax, esi
mov r12d, 1
mov ecx, 0xd1b71759
jmp 0x1200fcd24
cmp edx, 0xf423f
jbe 0x1200fd240
cmp edx, 0x98967f
jbe 0x1200fd250
cmp edx, 0x5f5e0ff
jbe 0x1200fd260
mov eax, eax
mov r8d, r12d
add r12d, 4
mov rdx, rax
imul rax, rcx
shr rax, 0x2d
cmp edx, 0x1869f
ja 0x1200fcd00
lea r14, [rsp + 0x70]
lea edx, [rdi + r12]
mov r8d, 0x2d
lea rax, [rsp + 0x80]
mov rcx, r14
mov qword [rsp + 0x70], rax
call fcn.120001d38
mov r8d, esi
mov edx, r12d
movzx ecx, dil
add rcx, qword [rsp + 0x70]
call fcn.12015a4c0
mov rcx, r13
mov rdx, r14
call fcn.120001cc8
mov rcx, r14
call fcn.120001d48
movzx r8d, byte [rbx + 8]
mov rdx, qword [rbx]
mov rcx, r13
call fcn.120110300
jmp 0x1200fcc98
mov eax, r9d
sub r8, r12
mov r14, qword [rbx]
and eax, 1
mov rbp, r8
test sil, sil
je 0x1200fce98
test r14, r14
je 0x1200fce98
lea rdi, [rsp + 0x80]
mov byte [rsp + 0x80], 0
sub r14, 1
lea r15, [rsp + 0x70]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0
test al, al
jne 0x1200fd1f8
cmp r14, r8
jbe 0x1200fd1d0
and r9d, 8
jne 0x1200fd1d0
lea r15, [rsp + 0x70]
mov dword [rsp + 0x20], 0x20
mov r9, r14
xor r8d, r8d
xor edx, edx
sub r9, rbp
mov rcx, r15
call fcn.120001d28
test sil, sil
jne 0x1200fd1d5
mov qword [rsp + 0x20], rbp
mov rdx, qword [rsp + 0x78]
xor r8d, r8d
mov r9, r12
mov rcx, r15
call fcn.120001d40
cmp rbp, r14
jae 0x1200fce71
mov rdx, qword [rsp + 0x78]
test byte [rbx + 8], 8
je 0x1200fceef
mov dword [rsp + 0x20], 0x20
sub r14, rbp
xor r8d, r8d
mov rcx, r15
mov r9, r14
call fcn.120001d28
mov rdx, qword [rsp + 0x78]
jmp 0x1200fceef
mov esi, r9d
mov edx, 0x20
and esi, 2
cmovne esi, edx
jmp 0x1200fcbf0
lea rdi, [rsp + 0x80]
mov byte [rsp + 0x80], 0
lea r15, [rsp + 0x70]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0
test al, al
je 0x1200fd269
test sil, sil
jne 0x1200fd1f8
xor edx, edx
cmp r14, rbp
ja 0x1200fd20e
mov qword [rsp + 0x20], rbp
mov r9, r12
xor r8d, r8d
mov rcx, r15
call fcn.120001d40
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
lea rbx, [rsp + 0x60]
mov qword [rsp + 0x50], rbx
cmp rax, rdi
je 0x1200fd110
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rdx
lea r14, [rsp + 0x50]
jmp 0x1200fcc75
mov eax, dword [r8]
movzx ecx, byte [rdx + 8]
mov esi, 0x2d
test eax, eax
js 0x1200fcf4e
mov esi, 0x2b
test cl, 0x10
je 0x1200fd1e6
lea r8, [rsp + 0x41]
mov r12, r8
nop word cs:[rax + rax]
movsxd rdx, eax
mov r10d, eax
mov r9, r12
sub r12, 1
imul rdx, rdx, 0x66666667
sar r10d, 0x1f
sar rdx, 0x22
sub edx, r10d
lea r10d, [rdx + rdx*4]
add r10d, r10d
sub eax, r10d
mov r10d, eax
sar r10d, 0x1f
xor eax, r10d
sub eax, r10d
add eax, 0x30
mov byte [r12], al
mov eax, edx
test edx, edx
jne 0x1200fcf60
test cl, 4
je 0x1200fd190
mov eax, ecx
mov r14, r8
mov rbp, qword [rbx]
and eax, 1
sub r14, r12
test sil, sil
je 0x1200fd280
test rbp, rbp
je 0x1200fd280
lea rdi, [rsp + 0x80]
mov byte [rsp + 0x80], 0
sub rbp, 1
lea r15, [rsp + 0x70]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0
test al, al
jne 0x1200fd336
cmp r14, rbp
jae 0x1200fd351
and ecx, 8
jne 0x1200fd351
lea r15, [rsp + 0x70]
mov dword [rsp + 0x20], 0x20
mov r9, rbp
xor r8d, r8d
xor edx, edx
sub r9, r14
mov rcx, r15
call fcn.120001d28
test sil, sil
jne 0x1200fd356
mov qword [rsp + 0x20], r14
mov rdx, qword [rsp + 0x78]
xor r8d, r8d
mov r9, r12
mov rcx, r15
call fcn.120001d40
cmp r14, rbp
jae 0x1200fd319
mov rdx, qword [rsp + 0x78]
test byte [rbx + 8], 8
jne 0x1200fd3c1
nop word cs:[rax + rax]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x70]
cmp rax, rdi
je 0x1200fd323
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rdx
lea r14, [rsp + 0x50]
jmp 0x1200fd1b8
mov eax, dword [r8]
lea r8, [rsp + 0x58]
mov r9, r8
nop dword [rax + rax]
mov ecx, eax
and ecx, 0xf
cmp ecx, 0xa
lea r10d, [rcx + 0x57]
lea edx, [rcx + 0x30]
cmovge edx, r10d
sub r9, 1
shr eax, 4
mov byte [r9], dl
jne 0x1200fd0c0
lea r12, [rsp + 0x70]
lea rax, [rsp + 0x80]
mov rdx, r9
mov rcx, r12
mov qword [rsp + 0x70], rax
call fcn.120150970
mov rcx, r13
mov rdx, r12
call fcn.120001cc8
mov rcx, r12
jmp 0x1200fcd86
movdqu xmm0, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x60], xmm0
jmp 0x1200fcf19
mov eax, dword [r8]
lea r8, [rsp + 0x58]
mov r9, r8
nop dword [rax + rax]
mov ecx, eax
and ecx, 0xf
cmp ecx, 0xa
lea r10d, [rcx + 0x37]
lea edx, [rcx + 0x30]
cmovge edx, r10d
sub r9, 1
shr eax, 4
mov byte [r9], dl
jne 0x1200fd138
jmp 0x1200fd0df
lea rax, [rsp + 0x80]
mov byte [rsp + 0x80], 0
lea r12, [rsp + 0x70]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0
jmp 0x1200fd0fc
test sil, sil
je 0x1200fd19e
mov byte [r12 - 1], sil
lea r12, [r9 - 2]
lea r14, [rsp + 0x50]
lea rax, [rsp + 0x60]
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x50], rax
call fcn.120150970
mov rcx, r13
mov rdx, r14
call fcn.120001cc8
mov rcx, r14
call fcn.120001d48
jmp 0x1200fcc98
lea r15, [rsp + 0x70]
movsx edx, sil
mov rcx, r15
call fcn.120001ce0
jmp 0x1200fce2c
mov esi, ecx
mov edx, 0x20
and esi, 2
cmovne esi, edx
jmp 0x1200fcf4e
movsx edx, sil
mov rcx, r15
call fcn.120001ce0
cmp r14, rbp
jbe 0x1200fd227
mov rdx, qword [rsp + 0x78]
mov dword [rsp + 0x20], 0x30
sub r14, rbp
xor r8d, r8d
mov rcx, r15
mov r9, r14
call fcn.120001d28
mov rdx, qword [rsp + 0x78]
jmp 0x1200fced7
mov r12d, 1
jmp 0x1200fcd40
lea r12d, [r8 + 5]
jmp 0x1200fcd40
lea r12d, [r8 + 6]
jmp 0x1200fcd40
lea r12d, [r8 + 7]
jmp 0x1200fcd40
cmp r14, rbp
jbe 0x1200fd2dc
and r9d, 8
jne 0x1200fce23
jmp 0x1200fce08
lea rdi, [rsp + 0x80]
mov byte [rsp + 0x80], 0
lea r15, [rsp + 0x70]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0
test al, al
je 0x1200fd387
test sil, sil
jne 0x1200fd336
xor edx, edx
cmp r14, rbp
jb 0x1200fd36c
mov qword [rsp + 0x20], r14
mov r9, r12
xor r8d, r8d
mov rcx, r15
call fcn.120001d40
mov rdx, qword [rsp + 0x78]
jmp 0x1200fd070
test sil, sil
jne 0x1200fd1d5
mov qword [rsp + 0x20], rbp
mov r9, r12
xor r8d, r8d
xor edx, edx
mov rcx, r15
call fcn.120001d40
jmp 0x1200fce71
test sil, sil
jne 0x1200fd356
mov qword [rsp + 0x20], r14
mov r9, r12
xor r8d, r8d
xor edx, edx
mov rcx, r15
call fcn.120001d40
mov rdx, qword [rsp + 0x78]
jmp 0x1200fd070
movdqu xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0x60], xmm1
jmp 0x1200fd09a
movsx edx, sil
mov rcx, r15
call fcn.120001ce0
cmp rbp, r14
ja 0x1200fd367
mov rdx, qword [rsp + 0x78]
jmp 0x1200fd2bf
lea r15, [rsp + 0x70]
movsx edx, sil
mov rcx, r15
call fcn.120001ce0
jmp 0x1200fd036
mov rdx, qword [rsp + 0x78]
mov dword [rsp + 0x20], 0x30
mov r9, rbp
xor r8d, r8d
mov rcx, r15
sub r9, r14
call fcn.120001d28
jmp 0x1200fd347
cmp r14, rbp
jae 0x1200fd2ff
and ecx, 8
jne 0x1200fd02d
jmp 0x1200fd012
mov r12d, 2
jmp 0x1200fcd40
mov r12d, 3
jmp 0x1200fcd40
mov r12d, 4
jmp 0x1200fcd40
mov dword [rsp + 0x20], 0x20
mov r9, rbp
xor r8d, r8d
mov rcx, r15
sub r9, r14
call fcn.120001d28
jmp 0x1200fd319