Function at 0x1400f2760
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push r12
push r13
sub rsp, 0x28
mov rsi, qword [rcx + 0x28]
mov rbx, rcx
movabs r12, 0x100002600
nop dword [rax]
movzx ecx, byte [rsi]
cmp cl, 0x20
ja 0x1400f279b
movsx rax, cl
bt r12, rax
jae 0x1400f279b
inc rsi
mov qword [rbx + 0x28], rsi
jmp 0x1400f2780
mov qword [rsp + 0x50], rbp
xor r13d, r13d
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], r14
cmp cl, 0x28
jne 0x1400f285a
lea rax, [rsi + 1]
mov rcx, rbx
mov qword [rbx + 0x28], rax
call fcn.1400f24e0
mov rdi, rax
mov rax, qword [rbx + 0x28]
nop dword [rax]
movzx edx, byte [rax]
cmp dl, 0x20
ja 0x1400f27eb
movsx rcx, dl
bt r12, rcx
jae 0x1400f27eb
inc rax
mov qword [rbx + 0x28], rax
jmp 0x1400f27d0
cmp dl, 0x29
je 0x1400f2834
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rsi
lea rdx, str.unbalanced___:__s_n
mov rcx, rax
call fcn.140001720
mov rdx, rdi
mov rcx, rbx
call fcn.1400e78c0
xor eax, eax
mov r14, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
add rsp, 0x28
pop r13
pop r12
pop rsi
pop rbx
ret
lea rcx, [rax + 1]
mov qword [rbx + 0x28], rcx
movzx eax, byte [rcx]
cmp al, 0x20
ja 0x1400f29f5
movsx rax, al
bt r12, rax
jae 0x1400f29f5
inc rcx
jmp 0x1400f2838
mov eax, esi
test cl, cl
je 0x1400f28b8
mov rdx, rsi
mov eax, edx
cmp cl, 0x20
je 0x1400f28b8
cmp cl, 0xa
je 0x1400f28b8
cmp cl, 0xd
je 0x1400f28b8
cmp cl, 9
je 0x1400f28b8
cmp cl, 0x28
je 0x1400f28b8
cmp cl, 0x29
je 0x1400f28b8
cmp cl, 0x7c
je 0x1400f28b8
cmp cl, 0x2c
je 0x1400f28b8
cmp cl, 0x7b
je 0x1400f28b8
cmp cl, 0x2a
je 0x1400f28b8
cmp cl, 0x2b
je 0x1400f28b8
cmp cl, 0x3f
je 0x1400f28b8
cmp cl, 0x7d
je 0x1400f28b8
lea rax, [rdx + 1]
mov qword [rbx + 0x28], rax
mov rdx, rax
movzx ecx, byte [rax]
test cl, cl
jne 0x1400f2863
mov rcx, qword [rbx]
sub eax, esi
mov r8d, eax
mov rdx, rsi
call fcn.140095110
mov rbp, rax
test rax, rax
je 0x1400f2818
movzx edx, byte [rax]
mov r8, rax
imul esi, edx, 0x1e
test dl, dl
je 0x1400f2907
movzx eax, si
lea r8, [r8 + 1]
shr ax, 3
movzx ecx, si
shl cx, 5
add cx, ax
movsx eax, dl
movzx edx, byte [r8]
add cx, ax
xor si, cx
test dl, dl
jne 0x1400f28e1
movzx eax, si
cdq
idiv dword [rbx + 0x10]
movzx eax, dx
lea r14, [rax*8]
mov rax, qword [rbx + 8]
mov rdi, qword [r14 + rax]
test rdi, rdi
je 0x1400f2944
cmp word [rdi + 2], si
jne 0x1400f293b
cmp byte [rdi], 2
jne 0x1400f293b
cmp rbp, qword [rdi + 0x20]
je 0x1400f29f0
mov rdi, qword [rdi + 0x18]
test rdi, rdi
jne 0x1400f2926
cmp dword [rbx + 0x18], 0x2710
jge 0x1400f2818
mov ecx, 0x28
call qword [sub.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
test rax, rax
je 0x1400f2818
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x20], rax
mov byte [rdi], 2
mov qword [rdi + 0x18], r13
inc dword [rbx + 0x18]
inc dword [rbx + 0x30]
mov word [rdi + 2], si
mov qword [rdi + 0x20], rbp
mov dword [rdi + 8], 1
mov dword [rdi + 4], 1
mov rax, qword [rbx + 8]
mov rcx, qword [r14 + rax]
test rcx, rcx
je 0x1400f29b1
mov qword [rdi + 0x18], rcx
mov rax, qword [rbx + 8]
mov qword [r14 + rax], rdi
inc dword [rbx + 0x14]
test rdi, rdi
je 0x1400f2818
mov rcx, qword [rbx + 0x28]
movabs r8, 0x100002400
nop
movzx edx, byte [rcx]
cmp dl, 0x20
ja 0x1400f29e2
movsx rax, dl
bt r8, rax
jb 0x1400f29e7
cmp dl, 9
jne 0x1400f29f5
inc rcx
mov qword [rbx + 0x28], rcx
jmp 0x1400f29d0
inc dword [rdi + 4]
jmp 0x1400f29b8
movzx eax, byte [rcx]
cmp al, 0x7b
jne 0x1400f2be2
lea rax, [rcx + 1]
mov rcx, rbx
mov qword [rbx + 0x28], rax
call fcn.1400f26e0
mov esi, eax
test eax, eax
js 0x1400f280d
mov rax, qword [rbx + 0x28]
nop
movzx edx, byte [rax]
cmp dl, 0x20
ja 0x1400f2a3b
movsx rcx, dl
bt r12, rcx
jae 0x1400f2a3b
inc rax
mov qword [rbx + 0x28], rax
jmp 0x1400f2a20
cmp dl, 0x2c
jne 0x1400f2a70
inc rax
mov rcx, rbx
mov qword [rbx + 0x28], rax
call fcn.1400f26e0
mov ebp, eax
mov rax, qword [rbx + 0x28]
movzx edx, byte [rax]
cmp dl, 0x20
ja 0x1400f2a72
movsx rcx, dl
bt r12, rcx
jae 0x1400f2a72
inc rax
mov qword [rbx + 0x28], rax
jmp 0x1400f2a55
mov ebp, esi
cmp dl, 0x7d
jne 0x1400f280d
inc rax
mov qword [rbx + 0x28], rax
cmp esi, ebp
jne 0x1400f2aaa
cmp esi, 1
je 0x1400f2bb7
test esi, esi
jne 0x1400f2aaa
mov rdx, rdi
mov rcx, rbx
call fcn.1400e78c0
mov rdi, qword [0x140189648]
jmp 0x1400f2bb7
lea eax, [rsi + 0x4f]
mov qword [rsp + 0x20], r15
movzx r14d, bp
sub r14w, si
cmp ebp, 0xffffffff
cmove r14w, ax
add r14w, word [rdi + 2]
movzx eax, r14w
cdq
idiv dword [rbx + 0x10]
movzx eax, dx
lea r15, [rax*8]
mov rax, qword [rbx + 8]
mov rcx, qword [r15 + rax]
test rcx, rcx
je 0x1400f2b0c
cmp word [rcx + 2], r14w
jne 0x1400f2b03
cmp byte [rcx], 5
jne 0x1400f2b03
cmp dword [rcx + 0x20], esi
jne 0x1400f2b03
cmp dword [rcx + 0x24], ebp
jne 0x1400f2b03
cmp qword [rcx + 0x10], rdi
je 0x1400f2b73
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1400f2ae7
cmp dword [rbx + 0x18], 0x2710
jge 0x1400f2baf
mov ecx, 0x28
call qword [sub.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x1400f2baf
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x20], rcx
mov byte [rax], 5
mov qword [rax + 0x18], r13
inc dword [rbx + 0x18]
inc dword [rbx + 0x30]
mov word [rax + 2], r14w
mov dword [rax + 0x20], esi
mov dword [rax + 0x24], ebp
mov qword [rax + 0x10], rdi
test esi, esi
je 0x1400f2b64
test byte [rdi + 1], 1
je 0x1400f2b68
or byte [rax + 1], 1
test ebp, ebp
jns 0x1400f2b7e
mov ecx, 0xffffffff
jmp 0x1400f2b84
inc dword [rcx + 4]
dec dword [rdi + 4]
mov rdi, rcx
jmp 0x1400f2bb2
mov ecx, dword [rdi + 8]
imul ecx, ebp
mov dword [rax + 8], ecx
mov dword [rax + 4], 1
mov rcx, qword [rbx + 8]
mov rdx, qword [rcx + r15]
test rdx, rdx
je 0x1400f2ba3
mov qword [rax + 0x18], rdx
mov rcx, qword [rbx + 8]
mov qword [r15 + rcx], rax
mov rdi, rax
inc dword [rbx + 0x14]
jmp 0x1400f2bb2
mov rdi, r13
mov r15, qword [rsp + 0x20]
mov rcx, qword [rbx + 0x28]
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp al, 0x20
ja 0x1400f2f31
movsx rax, al
bt r12, rax
jae 0x1400f2f31
inc rcx
mov qword [rbx + 0x28], rcx
jmp 0x1400f2bc0
cmp al, 0x3f
jne 0x1400f2d07
lea rax, [rcx + 1]
mov qword [rbx + 0x28], rax
movzx esi, word [rdi + 2]
inc si
movzx eax, si
cdq
idiv dword [rbx + 0x10]
movzx eax, dx
lea r14, [rax*8]
mov rax, qword [rbx + 8]
mov rcx, qword [r14 + rax]
test rcx, rcx
je 0x1400f2c42
cmp word [rcx + 2], si
jne 0x1400f2c39
cmp byte [rcx], 5
jne 0x1400f2c39
cmp dword [rcx + 0x20], r13d
jne 0x1400f2c39
cmp dword [rcx + 0x24], 1
jne 0x1400f2c39
cmp qword [rcx + 0x10], rdi
je 0x1400f2cc5
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1400f2c18
cmp dword [rbx + 0x18], 0x2710
jge 0x1400f2cd0
mov ecx, 0x28
call qword [sub.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rcx, rax
test rax, rax
je 0x1400f2cd0
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x20], rax
mov byte [rcx], 5
mov qword [rcx + 0x18], r13
inc dword [rbx + 0x18]
inc dword [rbx + 0x30]
or byte [rcx + 1], 1
mov word [rcx + 2], si
mov dword [rcx + 0x20], r13d
mov dword [rcx + 0x24], 1
mov qword [rcx + 0x10], rdi
mov eax, dword [rdi + 8]
mov dword [rcx + 8], eax
mov dword [rcx + 4], 1
mov rax, qword [rbx + 8]
mov rdx, qword [rax + r14]
test rdx, rdx
je 0x1400f2cb9
mov qword [rcx + 0x18], rdx
mov rax, qword [rbx + 8]
mov qword [r14 + rax], rcx
mov rdi, rcx
inc dword [rbx + 0x14]
jmp 0x1400f2ce0
inc dword [rcx + 4]
dec dword [rdi + 4]
mov rdi, rcx
jmp 0x1400f2ce0
mov rdi, r13
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbx + 0x28]
movzx eax, byte [rcx]
cmp al, 0x20
ja 0x1400f2f31
movsx rax, al
bt r12, rax
jae 0x1400f2f31
lea rax, [rcx + 1]
mov qword [rbx + 0x28], rax
jmp 0x1400f2ce0
cmp al, 0x2b
jne 0x1400f2e25
lea rax, [rcx + 1]
mov qword [rbx + 0x28], rax
movzx esi, word [rdi + 2]
add si, 0x50
movzx eax, si
cdq
idiv dword [rbx + 0x10]
movzx eax, dx
lea r14, [rax*8]
mov rax, qword [rbx + 8]
mov rcx, qword [r14 + rax]
test rcx, rcx
je 0x1400f2d6a
nop
cmp word [rcx + 2], si
jne 0x1400f2d61
cmp byte [rcx], 5
jne 0x1400f2d61
cmp dword [rcx + 0x20], 1
jne 0x1400f2d61
cmp dword [rcx + 0x24], 0xffffffff
jne 0x1400f2d61
cmp qword [rcx + 0x10], rdi
je 0x1400f2df1
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1400f2d40
cmp dword [rbx + 0x18], 0x2710
jge 0x1400f2dfc
mov ecx, 0x28
call qword [sub.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x1400f2dfc
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x20], rcx
mov ecx, 0xffffffff
mov byte [rax], 5
mov qword [rax + 0x18], r13
inc dword [rbx + 0x18]
inc dword [rbx + 0x30]
mov word [rax + 2], si
mov dword [rax + 0x20], 1
mov dword [rax + 0x24], ecx
mov qword [rax + 0x10], rdi
test byte [rdi + 1], 1
je 0x1400f2dc6
or byte [rax + 1], 1
mov dword [rax + 8], ecx
mov dword [rax + 4], 1
mov rcx, qword [rbx + 8]
mov rdx, qword [rcx + r14]
test rdx, rdx
je 0x1400f2de5
mov qword [rax + 0x18], rdx
mov rcx, qword [rbx + 8]
mov qword [r14 + rcx], rax
mov rdi, rax
inc dword [rbx + 0x14]
jmp 0x1400f2dff
inc dword [rcx + 4]
dec dword [rdi + 4]
mov rdi, rcx
jmp 0x1400f2dff
mov rdi, r13
mov rcx, qword [rbx + 0x28]
movzx eax, byte [rcx]
cmp al, 0x20
ja 0x1400f2f31
movsx rax, al
bt r12, rax
jae 0x1400f2f31
inc rcx
mov qword [rbx + 0x28], rcx
jmp 0x1400f2e03
cmp al, 0x2a
jne 0x1400f2f31
lea rax, [rcx + 1]
mov qword [rbx + 0x28], rax
movzx esi, word [rdi + 2]
add si, 0x4f
movzx eax, si
cdq
idiv dword [rbx + 0x10]
movzx eax, dx
lea r14, [rax*8]
mov rax, qword [rbx + 8]
mov rcx, qword [r14 + rax]
test rcx, rcx
je 0x1400f2e8a
nop dword [rax]
cmp word [rcx + 2], si
jne 0x1400f2e81
cmp byte [rcx], 5
jne 0x1400f2e81
cmp dword [rcx + 0x20], r13d
jne 0x1400f2e81
cmp dword [rcx + 0x24], 0xffffffff
jne 0x1400f2e81
cmp qword [rcx + 0x10], rdi
je 0x1400f2f04
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1400f2e60
cmp dword [rbx + 0x18], 0x2710
jge 0x1400f2f0f
mov ecx, 0x28
call qword [sub.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x1400f2f0f
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x20], rcx
mov ecx, 0xffffffff
mov byte [rax], 5
mov qword [rax + 0x18], r13
inc dword [rbx + 0x18]
inc dword [rbx + 0x30]
or byte [rax + 1], 1
mov word [rax + 2], si
mov dword [rax + 0x20], r13d
mov dword [rax + 0x24], ecx
mov qword [rax + 0x10], rdi
mov dword [rax + 8], ecx
mov dword [rax + 4], 1
mov rcx, qword [rbx + 8]
mov rdx, qword [rcx + r14]
test rdx, rdx
je 0x1400f2ef8
mov qword [rax + 0x18], rdx
mov rcx, qword [rbx + 8]
mov qword [r14 + rcx], rax
mov rdi, rax
inc dword [rbx + 0x14]
jmp 0x1400f2f12
inc dword [rcx + 4]
dec dword [rdi + 4]
mov rdi, rcx
jmp 0x1400f2f12
mov rdi, r13
mov rcx, qword [rbx + 0x28]
movzx eax, byte [rcx]
cmp al, 0x20
ja 0x1400f2f31
movsx rax, al
bt r12, rax
jae 0x1400f2f31
lea rax, [rcx + 1]
mov qword [rbx + 0x28], rax
jmp 0x1400f2f12
mov rax, rdi
jmp 0x1400f281a