Function at 0x140266f60
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x168
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xe0], 0xfffffffffffffffe
mov rsi, rcx
lea rdi, [rcx + 8]
mov rdx, qword [rcx + 0x18]
cmp qword [rcx + 0x20], 0x10
mov rax, rdi
jb 0x140266f9f
mov rax, qword [rsi + 8]
movsxd rcx, dword [0x1404348b0]
mov r8d, dword [0x140434890]
test rdx, rdx
je 0x140267b43
xorps xmm0, xmm0
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp + 0xa0], xmm0
movaps xmmword [rbp + 0x90], xmm0
movaps xmmword [rbp + 0x80], xmm0
movaps xmmword [rbp + 0x70], xmm0
movaps xmmword [rbp + 0x60], xmm0
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x40], xmm0
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0x22], 1
movzx r9d, byte [rdx + rax - 1]
movzx r10d, byte [0x14051f42c]
mov r11d, r10d
xor r11b, 0x6e
and r11b, r10b
xor r10b, 0x11
add r11b, r11b
add r11b, r10b
cmp byte [rbp + r9 - 0x50], r11b
jne 0x140267061
nop
cmp rdx, 1
je 0x140267b43
movzx r9d, byte [rax + rdx - 2]
movzx r10d, byte [0x14051f42c]
add r10b, 0x11
cmp byte [rbp + r9 - 0x50], r10b
jne 0x14026706a
dec rdx
cmp rdx, 1
jne 0x14026703a
jmp 0x140267b43
lea rbx, [rdx + rax]
dec rbx
jmp 0x140267072
lea rbx, [rax + rdx]
add rbx, 0xfffffffffffffffe
sub rbx, rax
cmp rbx, 0xffffffffffffffff
je 0x140267b43
mov r9d, dword [0x14055cf08]
add r9d, dword [0x14055cfa8]
add r9d, dword [0x14055bec8]
mov edx, dword [0x14051ec5c]
mov eax, dword [0x14051f428]
add eax, edx
add eax, 0xf4c1ee6c
mov dword [0x14051ec5c], eax
xor edx, eax
not edx
xor r13d, r13d
mov r15d, 0
mov qword [rbp + 0xb0], rdx
mov dword [rbp + 0xdc], eax
test edx, eax
jne 0x140267140
lea rax, [0x1404348b0]
add rcx, rax
mov edx, dword [0x14055cfa0]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x14051f428]
lea r11d, [r10 - 0xb3e1193]
xor edx, edx
div r11d
add r10d, 0xf4c1ee6b
cmp edx, r10d
jne 0x140267120
mov edx, 0xf4c1ee6b
add edx, dword [0x14051f428]
mov eax, dword [0x14055cfa4]
cmp eax, 0x17
jl 0x14026712d
nop word cs:[rax + rax]
mov eax, dword [0x14055cfa4]
cmp eax, 0xf
jge 0x140267120
jmp 0x140267100
xor eax, eax
mov r13d, 0
mov r15d, 0
cmp edx, r8d
jl 0x14026715b
mov eax, dword [0x14055cfa0]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
jne 0x1402671e4
jmp 0x1402671c8
mov edx, 0xf4c1eea0
xor r13d, r13d
xor r15d, r15d
jmp 0x14026717e
xor r13, r11
xor r15, r10
add eax, 0x10
cmp eax, r8d
jge 0x140267140
movsxd r10, eax
mov r11, qword [rcx + r10]
mov r10, qword [rcx + r10 + 8]
mov r12d, dword [0x14055cfa0]
lea r14d, [r12 - 1]
imul r14d, r12d
test r14b, 1
jne 0x1402671b0
mov r14d, dword [0x14055cfa4]
cmp r14d, 0x34
jl 0x140267170
nop dword [rax]
mov r14d, dword [0x14055cfa4]
mov r12d, dword [0x14051f428]
add r12d, edx
cmp r14d, r12d
jge 0x1402671b0
jmp 0x1402671a0
lea rax, [fcn.140266f60]
add eax, eax
add eax, 0x3a40
not eax
mov ecx, eax
and ecx, 0xfffffffe
xor ecx, eax
cmp ecx, 1
je 0x14026720d
mov eax, 0xf4c1ee6b
nop dword [rax]
mov ecx, dword [0x14055cfa0]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x14051f428]
add ecx, eax
cmp edx, ecx
jne 0x1402671f0
jmp 0x1402671c8
mov eax, dword [0x14055f820]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp r9d, dword [rax + 0x26838]
jg 0x14026767f
mov r8, qword [0x14055cef8]
mov rax, qword [rsi + 0x18]
cmp qword [rsi + 0x20], 0x10
jb 0x140267243
mov rdi, qword [rsi + 8]
test r8, r8
sete cl
setne dl
test rax, rax
setne r9b
xor dl, r9b
xor r9b, cl
and r9b, cl
or r9b, dl
jne 0x140267438
cmp qword [0x14055cf00], 0x10
jb 0x140267278
mov rdx, qword [0x14055cee8]
jmp 0x14026727f
lea rdx, [0x14055cee8]
xorps xmm0, xmm0
movaps xmmword [rbp + 0xa0], xmm0
movaps xmmword [rbp + 0x90], xmm0
movaps xmmword [rbp + 0x80], xmm0
movaps xmmword [rbp + 0x70], xmm0
movaps xmmword [rbp + 0x60], xmm0
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x40], xmm0
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x50], xmm0
mov r9, qword [0x14051f430]
movabs r11, 0x6ad3396d70e82241
add r11, r9
movabs rcx, 0x6ad3396d70e82239
add r9, rcx
mov r10, r9
xor r10, r9
not r10
and r10, r11
xor r10, r9
not r10
mov r9, rdx
and r10, r8
je 0x140267331
lea r9, [rdx + 1]
dec r10
nop dword [rax]
movzx r11d, byte [r9 - 1]
movzx r12d, byte [0x14051f42c]
add r12b, 0x12
mov byte [rbp + r11 - 0x50], r12b
sub r10, 1
jb 0x140267331
inc r9
jmp 0x140267310
cmp r8, 8
jb 0x1402673bb
add rdx, r8
nop
movzx r8d, byte [r9]
mov byte [rbp + r8 - 0x50], 1
movzx r8d, byte [r9 + 1]
movzx r10d, byte [0x14051f42c]
lea r11d, [r10 + 0x12]
mov byte [rbp + r8 - 0x50], r11b
movzx r8d, byte [r9 + 2]
mov byte [rbp + r8 - 0x50], 1
movzx r8d, byte [r9 + 3]
mov byte [rbp + r8 - 0x50], 1
movzx r8d, byte [r9 + 4]
mov byte [rbp + r8 - 0x50], 1
movzx r8d, byte [r9 + 5]
mov r11d, r10d
xor r11b, 0x12
and r10b, 0x12
add r10b, r10b
add r10b, r11b
mov byte [rbp + r8 - 0x50], r10b
movzx r8d, byte [r9 + 6]
mov byte [rbp + r8 - 0x50], 1
movzx r8d, byte [r9 + 7]
mov byte [rbp + r8 - 0x50], 1
add r9, 8
cmp r9, rdx
jne 0x140267340
mov rdx, rax
not rdx
add rcx, qword [0x14051f430]
and rcx, rax
lea rdx, [rdx + rcx*2]
movzx r8d, byte [rdi + rdx]
cmp byte [rbp + r8 - 0x50], 0
je 0x1402673e1
add rdx, rdi
jmp 0x14026740f
add rcx, rcx
sub rcx, rax
cmp rcx, 1
je 0x140267438
nop dword [rax]
movzx edx, byte [rdi + rcx - 2]
cmp byte [rbp + rdx - 0x50], 0
jne 0x140267407
dec rcx
cmp rcx, 1
jne 0x1402673f0
jmp 0x140267438
lea rdx, [rdi + rcx]
add rdx, 0xfffffffffffffffe
mov rcx, rdi
neg rcx
lea r8, [rdi - 1]
xor r8, rcx
and r8, rdx
xor r8, rcx
and rcx, rdx
lea rcx, [r8 + rcx*2]
cmp rcx, 0xffffffffffffffff
je 0x140267438
cmp rcx, rbx
jae 0x140267b43
mov qword [rbp + 0xc8], 0
mov qword [rbp + 0xd0], 0xf
movzx ecx, byte [0x14051f42c]
add cl, 0x11
cmp rax, rbx
cmovb rbx, rax
movabs r12, 0x6ad3396d70e82249
mov rax, qword [0x14051f430]
add rax, r12
cmp rbx, rax
setbe dl
seta al
mov byte [rbp + 0xb8], cl
movzx ecx, byte [0x14055c1f8]
xor al, cl
not cl
and cl, dl
or cl, al
test cl, 1
je 0x1402674ce
test al, 1
jne 0x1402674ce
mov qword [rbp + 0xc8], rbx
lea rcx, [rbp + 0xb8]
mov rdx, rdi
mov r8, rbx
call fcn.14040cc90
mov byte [rbp + rbx + 0xb8], 0
cmp qword [rbp + 0xd0], 0x10
jae 0x1402674ea
lea rax, [rbp + 0xb8]
jmp 0x1402674f1
lea rcx, [rbp + 0xb8]
mov rdx, rbx
mov r9, rdi
call fcn.140086c60
cmp qword [rbp + 0xd0], 0x10
jb 0x1402674c5
mov rax, qword [rbp + 0xb8]
lea rbx, [rbp - 0x48]
test rax, rax
lea rdi, [0x140428418]
cmovne rdi, rax
mov qword [rbp - 0x38], 0
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
lea rax, [fcn.140266f60]
lea edx, [rax + rax + 0xd41]
lea ecx, [rax + rax]
add ecx, 0xd40
not ecx
mov eax, ecx
and eax, edx
and ecx, 0xfffffffe
xor ecx, edx
or ecx, eax
mov r8d, 0xf4c1ee6d
nop word cs:[rax + rax]
mov eax, dword [0x14055cfa0]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x140267574
mov r9, qword [0x1404348a8]
mov r10, qword [0x1404348a0]
cmp ecx, 0xffffffff
je 0x1402675a3
mov rax, qword [0x1404348a8]
mov rax, qword [0x1404348a0]
mov edx, dword [0x14055cfa0]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x14051f428]
add r9d, r8d
xor edx, edx
div r9d
test edx, edx
jne 0x140267550
jmp 0x140267561
xor eax, eax
mov ecx, dword [rbp + 0xdc]
test dword [rbp + 0xb0], ecx
setne al
xor ecx, ecx
mov rdx, rax
add rdx, 0xffffffffffffffff
mov r11d, 0
adc r11, 0xffffffffffffffff
sub r13, r10
sbb r15, r9
mov r9, r13
neg r9
mov r8d, 0
sbb r8, r15
add r13, 0xffffffffffffffff
adc r15, 0xffffffffffffffff
neg rax
sbb rcx, rcx
and r11, r15
and rdx, r13
and r8, rcx
or r8, r11
and r9, rax
or r9, rdx
and rax, r13
or rax, r9
and rcx, r15
or rcx, r8
not rax
not rcx
or rcx, rax
mov eax, dword [0x14055cfa0]
nop word [rax + rax]
mov eax, dword [0x14055cfa4]
cmp eax, 0x36
jg 0x140267620
jmp 0x140267639
mov eax, dword [0x14055cfa4]
cmp eax, 0x22
mov eax, dword [0x14055cfa4]
cmp eax, 0x25
jg 0x140267630
mov r8, rcx
shr r8, 0x20
mov edx, dword [0x14055cfa0]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x14051f428]
lea r10d, [r9 - 0xb3e1193]
xor edx, edx
div r10d
add r9d, 0xf4c1ee6b
cmp edx, r9d
jne 0x140267730
jmp 0x140267718
mov dword [rsp + 0x28], 0x9b576c08
mov dword [rsp + 0x20], 0xa350bd1a
lea r8, [0x14055cf08]
xor ecx, ecx
mov edx, 1
xor r9d, r9d
call fcn.14026ece0
cmp dword [0x14055cf08], 0xffffffff
jne 0x14026722d
xor ecx, ecx
mov edx, 1
mov r8d, 0x5f91fb31
mov r9d, 0x70fd6913
call fcn.14026f2b0
lea rcx, [0x14055cee0]
mov rdx, rax
call fcn.1400ad750
lea rcx, [0x1402665d0]
mov edx, 0x9c24bb55
mov r8d, 0xad389394
call fcn.1400a88d0
mov dword [rsp + 0x28], 0x9b576c08
mov dword [rsp + 0x20], 0xa350bd1a
lea r8, [0x14055cf08]
xor ecx, ecx
xor edx, edx
xor r9d, r9d
call fcn.14026ece0
jmp 0x14026722d
mov eax, dword [0x14055cfa0]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x14026773d
nop dword [rax]
mov eax, dword [0x14055cfa4]
cmp eax, 0x16
jge 0x140267730
jmp 0x140267718
mov r10d, ecx
not r10d
mov eax, r8d
not eax
mov edx, r10d
and edx, r8d
mov r9d, ecx
and r9d, eax
or r9d, edx
xor r10d, eax
and r8d, ecx
or r8d, r10d
not r8d
or r8d, r9d
not r8d
and r10d, eax
or r10d, edx
or r10d, r8d
mov eax, 0xf4c1ee6c
lea rcx, [fcn.140266f60]
add ecx, ecx
add ecx, 0x1320
mov edx, ecx
not edx
mov r8d, 0xf4c1eeba
mov r9d, dword [0x14055cfa4]
cmp r9d, 0x15
jg 0x1402677bc
mov r9d, dword [0x14051f428]
add r9d, eax
mov r11d, ecx
xor r11d, r9d
xor r9d, edx
and r9d, edx
or r9d, r11d
cmp r9d, 0xffffffff
je 0x1402677d4
mov r9d, dword [0x14055cfa4]
mov r11d, dword [0x14051f428]
add r11d, r8d
cmp r9d, r11d
jge 0x140267790
jmp 0x14026779d
mov eax, 0x2e45d195
sub eax, dword [0x14055cfac]
mov ecx, eax
xor ecx, 0xd1ba2e6b
and eax, 0x51ba2e6b
lea r11d, [rcx + rax*2]
mov eax, r10d
neg eax
imul eax, r10d
mov ecx, eax
neg ecx
imul ecx, eax
sub ecx, eax
imul ecx, eax
sub ecx, eax
mov eax, r11d
sub eax, ecx
imul eax, ecx
nop
mov ecx, r10d
sub ecx, dword [0x14051f428]
sub ecx, r11d
add ecx, 0xb3e1195
mov dword [0x14055cfac], ecx
mov ecx, dword [0x14055cfa0]
lea edx, [rcx + 1]
imul edx, ecx
test dl, 1
je 0x140267908
mov r9d, r11d
mov ecx, eax
shl r9d, cl
sub r9d, r11d
mov ecx, r9d
neg ecx
mov edx, r11d
xor edx, ecx
and ecx, r11d
lea r8d, [rdx + rcx*2]
imul r8d, r9d
mov edx, r8d
mov ecx, r9d
shl edx, cl
mov r9d, dword [0x14051f428]
mov ecx, r9d
xor ecx, 0xf4c1ee6b
mov r14d, r9d
xor r14d, 0xb3e1194
and r14d, r9d
lea ecx, [rcx + r14*2]
sub r8d, ecx
sub edx, r8d
sub edx, r8d
imul edx, r8d
mov ecx, r8d
shl edx, cl
add edx, r8d
mov ecx, r9d
sub ecx, edx
add ecx, 0xf4c1ee6b
imul ecx, edx
neg ecx
mov r8d, ecx
xor r8d, edx
and ecx, edx
lea ecx, [r8 + rcx*2]
mov r8d, edx
sub r8d, ecx
mov ecx, edx
shl r8d, cl
shl r8d, cl
mov r14d, r8d
shl r14d, cl
sub r8d, r14d
imul r8d, r14d
sub r8d, r14d
imul r8d, r14d
mov ecx, r8d
sub ecx, r14d
imul ecx, r14d
sub r8d, ecx
mov dword [0x14055cfac], r8d
mov ecx, dword [0x14055cfa0]
lea edx, [r9 + rcx]
add edx, 0xaac527e
imul edx, ecx
test dl, 1
jmp 0x140267810
mov rcx, rdi
mov edx, 0x280df7f1
mov r8d, 0x63401f41
call fcn.1400abe80
mov r14, rax
cmp rax, 0xf
jbe 0x140267934
mov rcx, rbx
mov rdx, r14
mov r9, rdi
call fcn.140086c60
jmp 0x140267954
mov qword [rbp - 0x38], r14
mov rcx, rbx
mov rdx, rdi
mov r8, r14
call fcn.14040cc90
movzx eax, byte [0x14051f42c]
add al, 0x11
mov byte [rbp + r14 - 0x48], al
lea rax, [0x140429978]
mov qword [rbp - 0x50], rax
lea rdx, [rbp - 0x50]
mov rcx, rsi
call fcn.140271230
mov rax, qword [rbp - 0x30]
cmp rax, 0x10
jb 0x140267a95
xor ecx, ecx
sub rcx, qword [0x14051f430]
mov r8, qword [rbp - 0x48]
movabs rdx, 0x952cc6928f17ddc6
xor rdx, rcx
movabs r9, 0x152cc6928f17ddc6
and r9, rcx
lea rcx, [rdx + r9*2]
lea r9, [rax + rcx]
inc r9
cmp r9, 0x1000
jb 0x140267a1f
mov rcx, qword [r8 - 8]
sub r8, qword [0x14051f430]
movabs rdx, 0x2389459b746b7578
add rdx, r8
movabs r8, 0x71a380f71aac6846
mov r9, rdx
xor r9, r8
and rdx, r8
lea rdx, [r9 + rdx*2]
sub rdx, rcx
cmp rdx, 0x20
jae 0x140267b5a
mov edx, eax
not edx
and edx, 0x28
mov r8, rax
and r8, 0xffffffffffffffd7
or r8, rdx
movabs r9, 0x6ad3396d70e8223c
add r9, qword [0x14051f430]
and eax, 0x28
imul r9, rax
add r9, r8
mov r8, rcx
mov eax, dword [0x14051f428]
lea ecx, [rax - 0xb3e1194]
mov edx, eax
not edx
mov r10d, eax
and r10d, 0xb3e1194
mov r11d, edx
and r11d, 0xf4c1ee6b
or r11d, r10d
mov r10d, eax
xor r10d, 0x74c1ee6b
and edx, 0xb3e1194
or edx, r10d
not edx
add edx, edx
mov r10d, r11d
xor r10d, edx
and edx, r11d
lea edx, [r10 + rdx*2]
mov r10d, eax
xor r10d, 0x9812ab85
mov r11d, eax
and r11d, 0x1812ab85
lea r10d, [r10 + r11*2]
add eax, 0x90195a73
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r10d
call fcn.14026ece0
mov qword [rbp - 0x38], 0
add r12, qword [0x14051f430]
mov qword [rbp - 0x30], r12
mov byte [rbp - 0x48], 0
mov rax, qword [rbp + 0xd0]
cmp rax, 0x10
jb 0x140267b43
mov r8, qword [rbp + 0xb8]
movabs rcx, 0x217d9c9605b0e97b
add rcx, rax
mov rdx, rcx
xor rdx, 1
and ecx, 1
lea rcx, [rdx + rcx*2]
movabs r9, 0xde826369fa4f1685
add r9, rcx
cmp r9, 0x1000
jb 0x140267b27
mov rcx, qword [r8 - 8]
sub r8, rcx
add r8, 0xfffffffffffffff8
movabs rdx, 0x6ad3396d70e8225a
add rdx, qword [0x14051f430]
cmp r8, rdx
jae 0x140267b5f
mov rdx, rax
xor rdx, 0x28
and eax, 0x28
lea r9, [rdx + rax*2]
mov r8, rcx
mov dword [rsp + 0x28], 0x9b576c08
mov dword [rsp + 0x20], 0xa350bd1a
mov ecx, 1
xor edx, edx
call fcn.14026ece0
mov rax, rsi
add rsp, 0x168
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1403c4adc
call fcn.1403c4adc
int3