Function at 0x140002260
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r13
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword gs:[0x58]
lea rbx, str.sZrrA
xor r13d, r13d
mov r15, rcx
mov ecx, 4
mov rsi, rdx
mov edi, r13d
mov dword [rbp + 0xa0], r13d
mov rax, qword [rax]
mov eax, dword [rcx + rax]
cmp dword [0x14005f490], eax
jle 0x1400023f7
lea rcx, [0x14005f490]
call fcn.14001da38
cmp dword [0x14005f490], 0xffffffff
jne 0x1400023f7
xor eax, eax
mov dword [rsp + 0x20], 0x2e567556
xorps xmm0, xmm0
mov dword [rsp + 0x39], eax
movups xmmword [rsp + 0x29], xmm0
mov byte [rsp + 0x3d], al
mov edx, r13d
mov dword [rsp + 0x24], 0x262d721e
mov ecx, r13d
mov byte [rsp + 0x28], 0x7c
nop dword [rax + rax]
cdqe
movsxd rcx, ecx
movzx eax, byte [rax + rbx]
xor byte [rsp + rcx + 0x20], al
lea eax, [rdx + 1]
mov edx, eax
mov ecx, eax
cmp eax, 9
jb 0x140002300
xorps xmm0, xmm0
mov dword [0x14005eb78], eax
xorps xmm1, xmm1
mov byte [rsp + 0x29], dil
movups xmmword [rsp + 0x40], xmm0
lea rax, [rsp + 0x20]
mov r8, 0xffffffffffffffff
movdqu xmmword [rsp + 0x50], xmm1
inc r8
cmp byte [rax + r8], dil
jne 0x140002341
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
call fcn.14001b810
cmp qword [rsp + 0x58], 0xf
lea rdx, [rsp + 0x40]
xorps xmm0, xmm0
xorps xmm1, xmm1
cmova rdx, qword [rsp + 0x40]
mov r8, 0xffffffffffffffff
movups xmmword [rbp + 0x48], xmm0
movdqu xmmword [rbp + 0x58], xmm1
inc r8
cmp byte [rdx + r8], dil
jne 0x140002380
lea rcx, [rbp + 0x48]
call fcn.14001b810
lea rdx, [rbp + 0x48]
lea rcx, [0x14005f680]
call fcn.1400017c0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x1400023df
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400023da
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002890
call fcn.14001dd34
lea rcx, [0x140044180]
call fcn.14001dd14
lea rcx, [0x14005f490]
call fcn.14001d9cc
mov rax, qword [rsi + 0x10]
test rax, rax
jne 0x14000242c
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], r13
mov qword [r15 + 0x18], r13
movups xmm0, xmmword [rsi]
movups xmmword [r15], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [r15 + 0x10], xmm1
mov qword [rsi + 0x18], 7
jmp 0x14000285a
cmp qword [rsi + 0x18], 7
mov qword [rsp + 0x1a8], r12
mov qword [rsp + 0x1b0], r14
jbe 0x14000244e
mov r14, qword [rsi]
mov rcx, r14
mov rdx, r14
jmp 0x140002457
mov r14, rsi
mov rcx, rsi
mov rdx, rsi
lea r12, [rcx + rax*2]
cmp rdx, r12
je 0x1400027e0
nop dword [rax]
nop dword [rax + rax]
xorps xmm0, xmm0
mov word [rbp - 0x32], 0x7442
xor eax, eax
mov byte [rbp - 0x30], 0x47
movups xmmword [rbp - 0x2f], xmm0
mov word [rbp + 0x41], ax
or edi, 1
movups xmmword [rbp - 0x1f], xmm0
mov edx, r13d
mov ecx, r13d
movups xmmword [rbp - 0xf], xmm0
movups xmmword [rbp + 1], xmm0
movups xmmword [rbp + 0x11], xmm0
movups xmmword [rbp + 0x21], xmm0
movups xmmword [rbp + 0x31], xmm0
nop dword [rax + rax]
cdqe
movsxd rcx, ecx
movzx eax, byte [rax + rbx]
xor byte [rbp + rcx - 0x32], al
lea eax, [rdx + 1]
mov edx, eax
mov ecx, eax
cmp eax, 3
jb 0x1400024b0
xorps xmm0, xmm0
mov dword [0x14005e350], eax
movups xmmword [rsp + 0x40], xmm0
mov byte [rbp - 0x2f], r13b
lea rax, [rbp - 0x32]
mov qword [rsp + 0x50], r13
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x58], r13
inc r8
cmp byte [rax + r8], r13b
jne 0x1400024f0
lea rdx, [rbp - 0x32]
lea rcx, [rsp + 0x40]
call fcn.14001b810
cmp qword [rsp + 0x58], 0xf
lea rcx, [rsp + 0x40]
cmova rcx, qword [rsp + 0x40]
call fcn.14002cf8c
cmp qword [0x14005f698], 7
cvttsd2si eax, xmm0
movsxd rcx, eax
lea rax, [0x14005f680]
cmova rax, qword [0x14005f680]
movzx eax, word [rax + rcx*2]
cmp word [r14], ax
je 0x14000262c
xorps xmm0, xmm0
mov dword [rsp + 0x60], 0x40407440
xor eax, eax
mov word [rsp + 0x64], 0x3a70
movups xmmword [rsp + 0x67], xmm0
mov dword [rbp - 0x39], eax
or edi, 2
movups xmmword [rsp + 0x77], xmm0
mov word [rbp - 0x35], ax
mov edx, r13d
movups xmmword [rbp - 0x79], xmm0
mov byte [rbp - 0x33], al
mov ecx, r13d
movups xmmword [rbp - 0x69], xmm0
mov byte [rsp + 0x66], 0x22
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm0
nop
cdqe
movsxd rcx, ecx
movzx eax, byte [rax + rbx]
xor byte [rsp + rcx + 0x60], al
lea eax, [rdx + 1]
mov edx, eax
mov ecx, eax
cmp eax, 7
jb 0x140002590
xorps xmm0, xmm0
mov dword [0x14005a850], eax
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x67], r13b
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], r13
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x38], r13
inc r8
cmp byte [rax + r8], r13b
jne 0x1400025d2
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x20]
call fcn.14001b810
cmp qword [rsp + 0x38], 0xf
lea rcx, [rsp + 0x20]
cmova rcx, qword [rsp + 0x20]
call fcn.14002cf8c
cmp qword [0x14005f698], 7
cvttsd2si eax, xmm0
movsxd rcx, eax
lea rax, [0x14005f680]
cmova rax, qword [0x14005f680]
movzx eax, word [rax + rcx*2]
cmp word [r14], ax
je 0x14000262c
xor bl, bl
jmp 0x14000262e
mov bl, 1
test dil, 2
je 0x140002687
mov rdx, qword [rsp + 0x38]
and edi, 0xfffffffd
cmp rdx, 0xf
jbe 0x140002674
mov rcx, qword [rsp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000266f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002896
call fcn.14001dd34
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], 0xf
mov byte [rsp + 0x20], r13b
mov rdx, qword [rsp + 0x58]
and edi, 0xfffffffe
cmp rdx, 0xf
jbe 0x1400026c7
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400026c2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002896
call fcn.14001dd34
test bl, bl
lea rbx, str.sZrrA
je 0x1400027d3
xorps xmm0, xmm0
mov dword [rsp + 0x20], 0x464b7446
xor eax, eax
mov word [rsp + 0x24], 0x3c70
movups xmmword [rsp + 0x26], xmm0
mov word [rsp + 0x36], ax
mov edx, r13d
mov ecx, r13d
nop word [rax + rax]
cdqe
movsxd rcx, ecx
movzx eax, byte [rax + rbx]
xor byte [rsp + rcx + 0x20], al
lea eax, [rdx + 1]
mov edx, eax
mov ecx, eax
cmp eax, 6
jb 0x140002700
xorps xmm0, xmm0
mov dword [0x14005f388], eax
movups xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x26], r13b
lea rax, [rsp + 0x20]
mov qword [rsp + 0x50], r13
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x58], r13
inc r8
cmp byte [rax + r8], r13b
jne 0x140002742
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
call fcn.14001b810
cmp qword [rsp + 0x58], 0xf
lea rcx, [rsp + 0x40]
cmova rcx, qword [rsp + 0x40]
call fcn.14002cf8c
cmp qword [0x14005f698], 7
mov rdx, qword [rsp + 0x58]
cvttsd2si eax, xmm0
movsxd rcx, eax
lea rax, [0x14005f680]
cmova rax, qword [0x14005f680]
movzx eax, word [rax + rcx*2]
mov word [r14], ax
cmp rdx, 0xf
jbe 0x1400027d3
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400027ce
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002884
call fcn.14001dd34
add r14, 2
cmp r14, r12
jne 0x140002470
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], r13
mov qword [r15 + 0x18], r13
movups xmm0, xmmword [rsi]
movups xmmword [r15], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [r15 + 0x10], xmm1
mov qword [rsi + 0x10], r13
mov qword [rsi + 0x18], 7
mov word [rsi], r13w
mov rdx, qword [rsi + 0x18]
cmp rdx, 7
jbe 0x14000284a
mov rcx, qword [rsi]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140002845
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000288a
mov rcx, r8
call fcn.14001dd34
mov r12, qword [rsp + 0x1a8]
mov r14, qword [rsp + 0x1b0]
mov rbx, qword [rsp + 0x1b8]
mov rax, r15
mov word [rsi], r13w
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], r13
add rsp, 0x170
pop r15
pop r13
pop rdi
pop rsi
pop rbp
ret
call fcn.140023db8
int3
call fcn.140023db8
int3
call fcn.140023db8
int3
call fcn.140023db8
int3