Function at 0x1800358f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rdi
push r12
push r13
push r14
mov rbp, rsp
sub rsp, 0x48
xor edi, edi
mov rbx, rdx
mov r12, rcx
mov r14d, edi
cmp byte [rdx], dil
je 0x18003591d
inc r14d
mov eax, r14d
cmp byte [r14 + rdx], dil
jne 0x180035911
mov qword [rcx], rdi
mov qword [rcx + 8], rdi
mov qword [rcx + 0x10], rdi
mov qword [rcx + 0x18], rdi
mov word [rcx + 0x20], di
mov qword [rcx + 0x28], rdi
mov qword [rcx + 0x30], rdi
mov qword [rcx + 0x38], rdi
movsxd rcx, r14d
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], r15
lea r13, [rcx + rdx]
test r14d, r14d
je 0x1800360ad
mov rsi, rbx
nop dword [rax]
cmp byte [rsi], 0x3a
je 0x180035978
inc rsi
mov rax, rsi
sub rax, rbx
cmp rax, rcx
jb 0x180035960
jmp 0x1800360ad
test rsi, rsi
je 0x1800360ad
mov rax, rsi
sub rax, rbx
je 0x180035a1b
cmp rbx, rsi
jae 0x1800359be
movzx ecx, byte [rdx]
lea eax, [rcx - 0x41]
cmp al, 0x19
jbe 0x1800359b6
lea eax, [rcx - 0x61]
cmp al, 0x19
jbe 0x1800359b6
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x1800359b6
lea eax, [rcx - 0x2b]
test al, 0xfc
jne 0x180035a0e
cmp cl, 0x2c
je 0x180035a0e
inc rdx
cmp rdx, rsi
jb 0x180035992
movzx eax, byte [rsi + 1]
lea r15, [rsi + 1]
test al, al
jne 0x180035b2a
sub esi, ebx
movsxd rcx, esi
inc rcx
call fcn.1803614dc
movsxd r9, esi
mov rdx, r9
test esi, esi
je 0x180035a01
mov r8, rax
sub r8, rbx
nop dword [rax + rax]
movzx ecx, byte [rbx]
mov byte [r8 + rbx], cl
lea rbx, [rbx + 1]
sub rdx, 1
jne 0x1800359f0
mov byte [r9 + rax], dil
mov qword [r12], rax
jmp 0x18003613b
lea rax, [rsi + 1]
cmp rax, r13
jae 0x1800360ad
lea rdx, [rsi + 1]
mov rcx, rdx
movzx eax, byte [rcx]
sub al, 0x30
cmp al, 9
ja 0x180035a3a
inc rcx
mov rax, rcx
sub rax, rdx
cmp rax, 6
jl 0x180035a22
mov rdi, rcx
sub rdi, rdx
cmp rdi, 6
jge 0x1800360ab
movzx eax, byte [rcx]
cmp al, 0x2f
je 0x180035a59
test al, al
jne 0x1800360ab
test rdi, rdi
je 0x180035a6a
mov r8, rdi
lea rcx, [rbp + 0x50]
call fcn.180362260
mov byte [rbp + rdi + 0x50], 0
lea r8, [rbp + 0x50]
movzx edx, byte [rbp + 0x50]
xor ecx, ecx
test dl, dl
je 0x180035aa5
movzx eax, dl
cmp al, 0x39
jg 0x180035a8b
movzx edx, al
cmp al, 0x30
jge 0x180035aa5
movzx edx, al
cmp al, 0x2d
je 0x180035aa5
cmp al, 0x2b
je 0x180035aa5
movzx edx, byte [r8 + 1]
inc r8
movzx eax, dl
test dl, dl
jne 0x180035a80
cmp dl, 0x2d
je 0x180035ab3
movzx r9d, dl
cmp dl, 0x2b
jne 0x180035abb
movzx r9d, byte [r8 + 1]
inc r8
test r9b, r9b
je 0x180035ae1
lea eax, [r9 - 0x30]
cmp al, 9
ja 0x180035ae1
inc r8
movsx eax, r9b
lea ecx, [rcx + rcx*4]
lea ecx, [rcx - 0x18]
movzx r9d, byte [r8]
lea ecx, [rax + rcx*2]
test r9b, r9b
jne 0x180035ac0
movzx eax, cx
neg ax
cmp dl, 0x2d
cmovne ax, cx
mov word [r12 + 0x20], ax
mov rdx, r13
mov r15, r13
sub rdx, rbx
je 0x180035dcb
mov r8, rbx
mov rcx, rbx
neg r8
nop dword [rax]
cmp byte [rcx], 0x2f
je 0x180035d87
inc rcx
lea rax, [r8 + rcx]
cmp rax, rdx
jb 0x180035b10
jmp 0x180035d8c
cmp al, 0x2f
je 0x180035ba7
mov rcx, r15
movzx edx, byte [rcx]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x180035b40
inc rcx
jmp 0x180035b31
test dl, dl
je 0x180035b49
cmp dl, 0x2f
jne 0x180035b56
sub rcx, rsi
cmp rcx, 7
jl 0x180035a1b
sub esi, ebx
movsxd rcx, esi
inc rcx
call fcn.1803614dc
movsxd r10, esi
mov rdx, rbx
mov r8, r10
test esi, esi
je 0x180035b91
mov r9, rax
sub r9, rbx
nop word [rax + rax]
movzx ecx, byte [rdx]
mov byte [r9 + rdx], cl
lea rdx, [rdx + 1]
sub r8, 1
jne 0x180035b80
mov byte [r10 + rax], dil
mov qword [r12], rax
sub ebx, r15d
add r14d, ebx
mov rbx, r15
jmp 0x1800360ad
mov edi, esi
sub edi, ebx
movsxd rcx, edi
inc rcx
call fcn.1803614dc
movsxd r10, edi
mov rdx, rbx
mov r8, r10
test edi, edi
je 0x180035be1
mov r9, rax
sub r9, rbx
nop dword [rax]
movzx ecx, byte [rdx]
mov byte [r9 + rdx], cl
lea rdx, [rdx + 1]
sub r8, 1
jne 0x180035bd0
mov byte [r10 + rax], 0
mov qword [r12], rax
cmp byte [rsi + 2], 0x2f
jne 0x180035ccb
mov dword [rbp + 0x40], 0x26202e0d
lea rbx, [rsi + 3]
mov word [rbp + 0x44], 0x2e
mov qword [rbp - 0x28], 1
mov qword [rbp + 0x38], 4
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp - 0x28]
add rcx, rax
mov qword [rbp - 0x28], rcx
xor edi, edi
mov qword [rbp + 0x38], rdi
mov rax, qword [rbp + 0x38]
nop
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x38]
add cl, 0x48
xor cl, byte [rbp + rax + 0x41]
mov rax, qword [rbp + 0x38]
mov byte [rbp + rax + 0x41], cl
mov rax, qword [rbp + 0x38]
inc rax
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x38]
cmp rax, 4
jb 0x180035c30
mov r8, qword [rbp - 0x28]
lea r10, [rbp + 0x41]
mov r11, qword [r12]
mov byte [rbp + 0x45], dil
nop dword [rax]
movsx eax, byte [r10]
lea r10, [r10 + 1]
mov ecx, eax
lea r11, [r11 + 1]
sub al, 0x41
cmp al, 0x19
movsx eax, byte [r11 - 1]
lea edx, [rcx + 0x20]
cmova edx, ecx
mov ecx, eax
sub al, 0x41
cmp al, 0x19
lea r9d, [rcx + 0x20]
cmova r9d, ecx
cmp edx, r9d
jne 0x180035af4
test r9d, r9d
je 0x180035caf
sub r8, 1
jne 0x180035c70
cmp byte [rbx], 0x2f
jne 0x180035af4
cmp byte [rsi + 5], 0x3a
jne 0x1800360b3
lea rbx, [rsi + 4]
jmp 0x1800360b3
mov dword [rbp + 0x48], 0x36303e58
xor edi, edi
mov word [rbp + 0x4c], 0x3e
mov qword [rbp - 0x28], 5
mov qword [rbp + 0x38], rdi
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp - 0x28]
add rcx, rax
mov qword [rbp - 0x28], rcx
mov qword [rbp + 0x38], rdi
mov rax, qword [rbp + 0x38]
nop dword [rax]
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x38]
add cl, 0x58
xor cl, byte [rbp + rax + 0x49]
mov rax, qword [rbp + 0x38]
mov byte [rbp + rax + 0x49], cl
mov rax, qword [rbp + 0x38]
inc rax
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x38]
cmp rax, 4
jb 0x180035d00
mov r9, qword [rbp - 0x28]
lea r10, [rbp + 0x49]
mov r11, qword [r12]
mov byte [rbp + 0x4d], dil
nop dword [rax]
movsx eax, byte [r10]
lea r10, [r10 + 1]
mov ecx, eax
lea r11, [r11 + 1]
sub al, 0x41
cmp al, 0x19
movsx eax, byte [r11 - 1]
lea edx, [rcx + 0x20]
cmova edx, ecx
mov ecx, eax
sub al, 0x41
cmp al, 0x19
lea r8d, [rcx + 0x20]
cmova r8d, ecx
cmp edx, r8d
jne 0x180035b99
test r8d, r8d
je 0x180035d7f
sub r9, 1
jne 0x180035d40
mov rbx, r15
jmp 0x1800360b3
test rcx, rcx
jne 0x180035dc8
mov rcx, rbx
nop
cmp byte [rcx], 0x3f
je 0x180035da3
inc rcx
lea rax, [r8 + rcx]
cmp rax, rdx
jb 0x180035d90
jmp 0x180035da8
test rcx, rcx
jne 0x180035dc8
mov rcx, rbx
nop dword [rax + rax]
cmp byte [rcx], 0x23
je 0x180035dc3
inc rcx
lea rax, [r8 + rcx]
cmp rax, rdx
jb 0x180035db0
jmp 0x180035dcb
test rcx, rcx
je 0x180035dcb
mov r15, rcx
mov rdx, r15
sub rdx, rbx
je 0x180035e5f
mov rcx, rbx
mov rsi, rbx
neg rcx
cmp byte [rsi], 0x40
je 0x180035df3
inc rsi
lea rax, [rcx + rsi]
cmp rax, rdx
jb 0x180035de0
jmp 0x180035e5f
test rsi, rsi
je 0x180035e5f
mov rdx, rsi
sub rdx, rbx
je 0x180035e15
mov r14, rbx
cmp byte [r14], 0x3a
je 0x180035e7e
inc r14
lea rax, [rcx + r14]
cmp rax, rdx
jb 0x180035e03
mov edi, esi
sub edi, ebx
movsxd rcx, edi
inc rcx
call fcn.1803614dc
movsxd r9, edi
mov rdx, r9
test edi, edi
je 0x180035e51
mov r8, rax
sub r8, rbx
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [rbx]
mov byte [r8 + rbx], cl
lea rbx, [rbx + 1]
sub rdx, 1
jne 0x180035e40
mov byte [r9 + rax], 0
mov qword [r12 + 8], rax
lea rbx, [rsi + 1]
cmp byte [rbx], 0x5b
jne 0x180035f21
cmp byte [r15 - 1], 0x5d
jne 0x180035f21
mov rdi, rbx
mov r14, rbx
jmp 0x180035f49
test r14, r14
je 0x180035e15
mov rax, r14
sub rax, rbx
test rax, rax
jle 0x180035ecb
mov edi, r14d
sub edi, ebx
movsxd rcx, edi
inc rcx
call fcn.1803614dc
movsxd r9, edi
mov rdx, r9
test edi, edi
je 0x180035ec1
mov r8, rax
sub r8, rbx
nop
movzx ecx, byte [rbx]
mov byte [r8 + rbx], cl
lea rbx, [rbx + 1]
sub rdx, 1
jne 0x180035eb0
mov byte [r9 + rax], 0
mov qword [r12 + 8], rax
inc r14
mov rax, rsi
sub rax, r14
test rax, rax
jle 0x180035e5b
mov ebx, esi
sub ebx, r14d
movsxd rcx, ebx
inc rcx
call fcn.1803614dc
movsxd r9, ebx
mov rdx, r9
test ebx, ebx
je 0x180035f12
mov r8, rax
sub r8, r14
nop dword [rax]
movzx ecx, byte [r14]
mov byte [r8 + r14], cl
lea r14, [r14 + 1]
sub rdx, 1
jne 0x180035f00
mov byte [r9 + rax], 0
mov qword [r12 + 0x10], rax
jmp 0x180035e5b
cmp byte [r15], 0x3a
mov rdi, r15
je 0x180035f3d
nop word [rax + rax]
cmp rdi, rbx
jb 0x180035f3d
dec rdi
cmp byte [rdi], 0x3a
jne 0x180035f30
mov r14, rdi
cmp rdi, rbx
jb 0x180036049
cmp byte [rdi], 0x3a
jne 0x180036049
cmp word [r12 + 0x20], 0
jne 0x18003604c
inc rdi
mov rsi, r15
sub rsi, rdi
cmp rsi, 5
jle 0x180035fa0
mov rcx, qword [r12]
call fcn.180360d9c
xor ebx, ebx
mov qword [r12], rbx
mov rcx, qword [r12 + 8]
call fcn.180360d9c
mov qword [r12 + 8], rbx
mov rcx, qword [r12 + 0x10]
call fcn.180360d9c
mov qword [r12 + 0x10], rbx
jmp 0x18003613b
test rsi, rsi
jle 0x180036044
mov r8, rsi
lea rcx, [rbp + 0x50]
mov rdx, rdi
call fcn.180362260
mov byte [rbp + rsi + 0x50], 0
lea r8, [rbp + 0x50]
movzx edx, byte [rbp + 0x50]
xor ecx, ecx
test dl, dl
je 0x180035ff5
movzx eax, dl
nop
cmp al, 0x39
jg 0x180035fdb
movzx edx, al
cmp al, 0x30
jge 0x180035ff5
movzx edx, al
cmp al, 0x2d
je 0x180035ff5
cmp al, 0x2b
je 0x180035ff5
movzx edx, byte [r8 + 1]
inc r8
movzx eax, dl
test dl, dl
jne 0x180035fd0
cmp dl, 0x2d
je 0x180036003
movzx r9d, dl
cmp dl, 0x2b
jne 0x18003600b
movzx r9d, byte [r8 + 1]
inc r8
test r9b, r9b
je 0x180036031
lea eax, [r9 - 0x30]
cmp al, 9
ja 0x180036031
inc r8
movsx eax, r9b
lea ecx, [rcx + rcx*4]
lea ecx, [rcx - 0x18]
movzx r9d, byte [r8]
lea ecx, [rax + rcx*2]
test r9b, r9b
jne 0x180036010
movzx eax, cx
neg ax
cmp dl, 0x2d
cmovne ax, cx
mov word [r12 + 0x20], ax
mov rdi, r14
jmp 0x18003604c
mov rdi, r15
mov rax, rdi
sub rax, rbx
cmp rax, 1
jl 0x180035f6e
sub edi, ebx
movsxd rcx, edi
inc rcx
call fcn.1803614dc
movsxd r9, edi
mov rdx, r9
test edi, edi
je 0x180036091
mov r8, rax
sub r8, rbx
nop dword [rax]
movzx ecx, byte [rbx]
mov byte [r8 + rbx], cl
lea rbx, [rbx + 1]
sub rdx, 1
jne 0x180036080
mov byte [rax + r9], 0
mov qword [r12 + 0x18], rax
cmp r15, r13
je 0x18003613b
mov rbx, r15
xor edi, edi
jmp 0x1800360b3
xor edi, edi
movsxd r13, r14d
add r13, rbx
mov rcx, r13
sub rcx, rbx
je 0x1800360f6
mov rdx, rbx
mov rsi, rbx
neg rdx
cmp byte [rsi], 0x3f
je 0x180036156
inc rsi
lea rax, [rdx + rsi]
cmp rax, rcx
jb 0x1800360c4
mov r14, rbx
nop dword [rax]
cmp byte [r14], 0x23
je 0x1800362b0
inc r14
lea rax, [rdx + r14]
cmp rax, rcx
jb 0x1800360e0
sub r13d, ebx
movsxd rcx, r13d
inc rcx
call fcn.1803614dc
movsxd r9, r13d
mov rdx, r9
test r13d, r13d
je 0x180036131
mov r8, rax
sub r8, rbx
nop word [rax + rax]
movzx ecx, byte [rbx]
mov byte [r8 + rbx], cl
lea rbx, [rbx + 1]
sub rdx, 1
jne 0x180036120
mov byte [rax + r9], 0
mov qword [r12 + 0x28], rax
mov r15, qword [rsp + 0x38]
mov rax, r12
mov rsi, qword [rsp + 0x40]
add rsp, 0x48
pop r14
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret
test rsi, rsi
je 0x1800360d9
movzx eax, byte [rbx]
mov rcx, rbx
cmp al, 0x23
je 0x180036185
movzx edx, al
nop dword [rax]
movzx eax, dl
test dl, dl
je 0x180036185
movzx eax, byte [rcx + 1]
inc rcx
movzx edx, al
cmp al, 0x23
jne 0x180036170
test al, al
mov rdx, rdi
mov r14, rcx
cmovne rdx, rcx
cmove r14, rdi
test rdx, rdx
je 0x1800361c7
cmp rdx, rsi
jae 0x1800361c7
movzx eax, byte [rdx + 2]
lea r14, [rdx + 2]
mov rsi, rdx
cmp al, 0x23
je 0x1800361c0
nop
test al, al
je 0x1800361c4
movzx eax, byte [r14 + 1]
inc r14
cmp al, 0x23
jne 0x1800361b0
test al, al
jne 0x1800361c7
mov r14, rdi
mov rax, rsi
sub rax, rbx
je 0x18003620b
mov edi, esi
sub edi, ebx
movsxd rcx, edi
inc rcx
call fcn.1803614dc
movsxd r9, edi
mov rdx, r9
test edi, edi
je 0x180036201
mov r8, rax
sub r8, rbx
nop
movzx ecx, byte [rbx]
mov byte [r8 + rbx], cl
lea rbx, [rbx + 1]
sub rdx, 1
jne 0x1800361f0
mov byte [rax + r9], 0
mov qword [r12 + 0x28], rax
inc rsi
test r14, r14
je 0x180036260
cmp r14, rsi
je 0x1800362fc
mov ebx, r14d
sub ebx, esi
movsxd rcx, ebx
inc rcx
call fcn.1803614dc
movsxd r9, ebx
mov rdx, r9
test ebx, ebx
je 0x180036251
mov r8, rax
sub r8, rsi
nop dword [rax]
movzx ecx, byte [rsi]
mov byte [r8 + rsi], cl
lea rsi, [rsi + 1]
sub rdx, 1
jne 0x180036240
mov byte [rax + r9], 0
mov qword [r12 + 0x30], rax
jmp 0x1800362fc
cmp rsi, r13
je 0x18003613b
sub r13d, esi
movsxd rcx, r13d
inc rcx
call fcn.1803614dc
movsxd r9, r13d
mov rdx, r9
test r13d, r13d
je 0x1800362a1
mov r8, rax
sub r8, rsi
nop dword [rax + rax]
movzx ecx, byte [rsi]
mov byte [r8 + rsi], cl
lea rsi, [rsi + 1]
sub rdx, 1
jne 0x180036290
mov byte [rax + r9], 0
mov qword [r12 + 0x30], rax
jmp 0x18003613b
test r14, r14
je 0x1800360f6
mov rax, r14
sub rax, rbx
je 0x1800362fc
mov edi, r14d
sub edi, ebx
movsxd rcx, edi
inc rcx
call fcn.1803614dc
movsxd r9, edi
mov rdx, r9
test edi, edi
je 0x1800362f2
mov r8, rax
sub r8, rbx
movzx ecx, byte [rbx]
mov byte [r8 + rbx], cl
lea rbx, [rbx + 1]
sub rdx, 1
jne 0x1800362e1
mov byte [rax + r9], 0
mov qword [r12 + 0x28], rax
inc r14
cmp r13, r14
je 0x18003613b
sub r13d, r14d
movsxd rcx, r13d
inc rcx
call fcn.1803614dc
movsxd r9, r13d
mov rdx, r9
test r13d, r13d
je 0x180036342
mov r8, rax
sub r8, r14
nop word [rax + rax]
movzx ecx, byte [r14]
mov byte [r8 + r14], cl
lea r14, [r14 + 1]
sub rdx, 1
jne 0x180036330
mov byte [rax + r9], 0
mov qword [r12 + 0x38], rax
jmp 0x18003613b