Function at 0x140276380
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x178
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xf0], 0xfffffffffffffffe
mov r12, rdx
mov rsi, rcx
mov qword [rdx + 0x18], 0
mov qword [rdx + 0x20], 0xf
mov byte [rdx + 8], 0
lea rax, [0x140427b38]
mov qword [rdx], rax
lea rdi, [rcx + 0x30]
mov rcx, qword [r8 + 0x18]
mov rbx, qword [rsi + 0x40]
cmp qword [rsi + 0x48], 0x10
mov r9, rdi
jb 0x1402763e4
mov r9, qword [rsi + 0x30]
test rcx, rcx
setne al
test rbx, rbx
setne dl
xor dl, al
mov rax, rcx
or rax, rbx
sete al
movabs r14, 0xb9bbd16f08036ec2
cmp dl, al
mov qword [rbp + 0xe8], r12
jne 0x140276660
lea rax, [r8 + 8]
mov rdx, qword [0x1405204d8]
movsxd r10, dword [rdx]
add r10, rdx
movabs r13, 0x62f69d67ad23cdd1
add r13, r10
nop word cs:[rax + rax]
mov edx, dword [0x14055d104]
cmp edx, 0x4d
jg 0x14027646b
mov edx, dword [0x14055d100]
mov r10d, dword [0x1405205a8]
neg r10d
add r10d, edx
inc r10d
imul r10d, edx
test r10b, 1
je 0x140276479
cmp dword [0x1405205a8], 0xab0e7bca
jne 0x140276440
jmp 0x14027644b
mov rdx, qword [0x1405205a0]
mov r10d, dword [0x1404353b0]
mov dword [rbp + 0xdc], r10d
cmp qword [r8 + 0x20], 0x10
jb 0x140276499
mov rax, qword [r8 + 8]
xorps xmm0, 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
movaps xmmword [rbp - 0x60], xmm0
mov r8, rcx
xor r8, 7
mov r10, rcx
not r10
and r10, 0xfffffffffffffff8
or r10, r8
xor r10, 0xffffffffffffffff
mov r8, rax
je 0x140276534
lea r8, [rax + 1]
xor r11d, r11d
nop word cs:[rax + rax]
movzx r15d, byte [r8 - 1]
mov byte [rbp + r15 - 0x60], 1
mov r15, r11
xor r15, 1
and r11d, 1
lea r11, [r15 + r11*2]
cmp r11, r10
je 0x140276534
inc r8
jmp 0x140276510
cmp rcx, 8
jb 0x1402765a4
add rax, rcx
nop dword [rax]
movzx ecx, byte [r8]
mov byte [rbp + rcx - 0x60], 1
movzx ecx, byte [r8 + 1]
mov byte [rbp + rcx - 0x60], 1
movzx ecx, byte [r8 + 2]
mov byte [rbp + rcx - 0x60], 1
movzx ecx, byte [r8 + 3]
movzx r10d, byte [0x1405205ac]
add r10b, 0x71
mov byte [rbp + rcx - 0x60], r10b
movzx ecx, byte [r8 + 4]
mov byte [rbp + rcx - 0x60], 1
movzx ecx, byte [r8 + 5]
mov byte [rbp + rcx - 0x60], 1
movzx ecx, byte [r8 + 6]
mov byte [rbp + rcx - 0x60], 1
movzx ecx, byte [r8 + 7]
mov byte [rbp + rcx - 0x60], r10b
add r8, 8
cmp r8, rax
jne 0x140276540
mov rax, qword [0x1405205a0]
add rax, r14
cmp rbx, rax
jle 0x140276660
movabs rax, 0x56c534075adfa0f1
mov rcx, rdx
xor rcx, rax
and rdx, rax
lea rax, [rcx + rdx*2]
add r13, rax
lea rax, [r9 + rbx]
lea rcx, [r9 + 1]
xor r15d, r15d
cmp byte [0x14055c41c], 0
jne 0x140276608
nop word cs:[rax + rax]
movzx edx, byte [r9 + r15]
movzx r8d, byte [0x1405205ac]
add r8b, 0x70
cmp byte [rbp + rdx - 0x60], r8b
jne 0x14027661f
lea rdx, [rcx + r15]
cmp rdx, rax
jae 0x140276660
inc r15
cmp byte [0x14055c41c], 0
je 0x1402765f0
jmp 0x140276608
cmp r15, 0xffffffffffffffff
je 0x140276660
mov qword [rbp + 0xc8], 0
mov qword [rbp + 0xd0], 0xf
mov byte [rbp + 0xb8], 0
cmp rbx, r15
cmovae rbx, r15
cmp rbx, 0xf
jbe 0x1402766a6
lea rcx, [rbp + 0xb8]
mov rdx, rbx
call fcn.140086c60
jmp 0x1402766c7
lea rdx, [rsi + 0x28]
mov rcx, r12
call fcn.140271230
cmp qword [rsi + 0x48], 0x10
jb 0x140276679
mov rcx, qword [rsi + 0x30]
jmp 0x14027667d
lea rcx, [rsi + 0x30]
mov rax, qword [rbp + 0xe8]
add r14, qword [0x1405205a0]
mov qword [rsi + 0x40], r14
mov byte [rcx], 0
add rsp, 0x178
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov qword [rbp + 0xc8], rbx
lea rcx, [rbp + 0xb8]
mov rdx, r9
mov r8, rbx
call fcn.14040cc90
mov byte [rbp + rbx + 0xb8], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0xb0], rax
mov r9, qword [rbp + 0xd0]
mov eax, dword [0x1405204d0]
mov r10d, eax
xor r10d, 1
mov ebx, 0x54f18438
mov dword [rbp + 0xe4], eax
mov r11d, eax
and r11d, 1
lea rax, [fcn.140276380]
lea ecx, [rax + rax]
add ecx, 0x820
mov r12d, ecx
not r12d
nop word cs:[rax + rax]
mov edx, dword [0x14055d100]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, dword [0x1405205a8]
add r8d, ebx
xor edx, edx
div r8d
test edx, edx
jne 0x140276754
test r12d, ecx
je 0x14027676f
mov eax, dword [0x1405205a8]
mov edx, eax
xor edx, 0x54f18436
and eax, 0x54f18436
add eax, eax
add eax, edx
jne 0x140276730
jmp 0x14027674f
lea eax, [r10 + r11*2]
mov dword [0x1405204d0], eax
mov dword [rbp + 0xe0], eax
test dword [rbp + 0xe4], eax
je 0x14027678c
xor r12d, r12d
jmp 0x1402767a2
xor edx, edx
mov r12d, 0
mov ebx, dword [rbp + 0xdc]
test ebx, ebx
jg 0x1402769f6
lea rax, [fcn.140276380]
add eax, eax
add eax, 0x4a40
mov ecx, dword [0x14055d104]
cmp ecx, 0x30
jl 0x1402767f8
nop dword [rax + rax]
mov ecx, dword [0x1405205a8]
mov edx, ecx
xor edx, 0x54f18437
mov r8d, ecx
and r8d, 0x54f18437
lea edx, [rdx + r8*2]
and edx, eax
mov r8d, ecx
xor r8d, 0x54f18436
and ecx, 0x54f18436
lea ecx, [r8 + rcx*2]
cmp edx, ecx
jne 0x1402767c0
jmp 0x1402767b0
cmp r9, 0x10
lea rbx, [rbp + 0xb8]
cmovae rbx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xb0]
cmp rax, 0x10
jae 0x14027682a
movups xmm0, xmmword [rbx]
lea rcx, [rbp - 0x58]
movups xmmword [rcx], xmm0
mov r13d, 0xf
jmp 0x1402768a3
mov r13, rax
or r13, 0xf
movabs rax, 0x7fffffffffffffff
cmp r13, rax
cmovae r13, rax
cmp r13, 0xfff
mov qword [rbp + 0xa8], rdi
jb 0x14027686c
lea rcx, [r13 + 0x28]
call fcn.1403e4d2c
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x140276878
lea rcx, [r13 + 1]
call fcn.1403e4d2c
mov rcx, rax
mov qword [rbp - 0x58], rcx
mov rax, qword [0x14055c2f8]
mov rdi, qword [rbp + 0xb0]
lea r8, [rdi + rax]
inc r8
mov rdx, rbx
call fcn.14040cc90
mov rax, rdi
mov rdi, qword [rbp + 0xa8]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], r13
lea rax, [0x140427b38]
mov qword [rbp - 0x60], rax
lea rdx, [rbp - 0x60]
mov rcx, qword [rbp + 0xe8]
call fcn.140271230
mov rax, qword [rbp - 0x40]
cmp rax, 0x10
jb 0x14027691e
mov rcx, qword [rbp - 0x58]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14027690d
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140276a9b
sub rax, qword [0x1405205a0]
movabs rdx, 0x46442e90f7fc9166
add rdx, rax
mov rcx, r8
mov r8d, 0xe1081a64
mov r9d, 0xad5faa2a
call fcn.1400a7e90
mov qword [rbp - 0x48], 0
mov qword [rbp - 0x40], 0xf
mov byte [rbp - 0x58], 0
mov r8, qword [rbp + 0xd0]
cmp r8, 0x10
jb 0x140276b61
mov rax, qword [rbp + 0xb8]
lea rdx, [r8 + 1]
cmp rdx, 0x1000
jb 0x140276b4d
movzx ecx, word [0x1404353bc]
mov r9d, dword [rbp + 0xe4]
and r9d, dword [rbp + 0xe0]
mov edx, 0x461d
sub ecx, r12d
mov r12d, r9d
mov r9d, 0x54f18436
nop word cs:[rax + rax]
movzx r10d, word [0x1405205b0]
cmp r12d, 1
adc r10w, 0xffff
mov r11d, dword [0x14055d100]
lea ebx, [r11 - 1]
imul ebx, r11d
and ebx, 1
mov r11d, dword [0x1405205a8]
add r11d, r9d
cmp ebx, r11d
jne 0x140276990
sub edx, r10d
xor ecx, edx
not ecx
and ecx, edx
movzx ecx, cx
add rcx, qword [0x14055c2f8]
movabs r9, 0x667877a07fa4d82b
add r9, rcx
mov ecx, dword [0x14055d104]
cmp ecx, 0x52
jle 0x140276aa0
jmp 0x140276ac9
mov eax, 0x54f18438
xor r10d, r10d
jmp 0x140276a3e
mov r12d, r11d
xor r12d, r10d
xor r12d, r11d
and r12d, r10d
xor r12d, r11d
mov ecx, edx
xor ecx, 0xfffffffd
and ecx, edx
xor edx, 2
mov r8d, dword [0x1405205a8]
add r8d, eax
imul r8d, ecx
mov ecx, edx
xor ecx, r8d
and r8d, edx
lea edx, [rcx + r8*2]
mov r10d, r12d
cmp edx, ebx
jge 0x1402767a2
movsxd rcx, edx
mov r8d, dword [0x14055d104]
nop dword [rax + rax]
mov r8d, dword [0x14055d100]
lea r11d, [r8 - 1]
imul r11d, r8d
test r11b, 1
jne 0x140276a50
add rcx, r13
mov r8d, dword [0x14055d100]
lea r11d, [r8 - 1]
imul r11d, r8d
test r11b, 1
jne 0x140276a95
nop dword [rax]
movzx r11d, word [rcx]
mov r8d, dword [0x14055d104]
cmp r8d, 0x54
jle 0x140276a00
movzx r8d, word [rcx]
jmp 0x140276a80
call fcn.1403c4adc
mov rcx, qword [0x1405205a0]
add rcx, r9
movabs rdx, 0x534359ce885e9697
add rdx, rcx
mov qword [0x14055c2f8], rdx
mov ecx, dword [0x14055d104]
cmp ecx, 0x39
jle 0x140276b1a
movabs rcx, 0x9987885f805b27d5
imul rcx, r9
movabs r10, 0x504d79fa85f68c7
add r10, rcx
mov rdx, qword [0x1405205a0]
lea ecx, [rdx - 0x69]
mov r11, r10
shl r11, cl
sub rdx, r10
add rdx, r14
add rdx, r11
mov ecx, edx
shl r10, cl
sub r10, rdx
mov r11, r10
neg r11
shl r11, cl
sub r11, r10
mov qword [0x14055c2f8], r11
jmp 0x140276aa0
mov rcx, qword [rax - 8]
mov rdx, rax
xor rdx, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and r9, rax
lea rax, [rdx + r9*2]
sub rax, rcx
cmp rax, 0x20
jae 0x140276bd5
add r8, 0x28
mov rdx, r8
mov rax, rcx
mov rcx, rax
mov r8d, 0xe1081a64
mov r9d, 0xad5faa2a
call fcn.1400a7e90
mov rcx, qword [0x1405205a0]
movabs rax, 0xb9bbd16f08036ec3
mov rdx, rcx
xor rdx, rax
movabs r8, 0x39bbd16f08036ec3
and r8, rcx
lea rdx, [rdx + r8*2]
add rdx, r15
mov r8, qword [rsi + 0x40]
cmp r8, rdx
cmovb rdx, r8
movabs r9, 0xb9bbd16f08036ed1
add r9, rcx
cmp qword [rsi + 0x48], r9
jbe 0x140276bae
mov rdi, qword [rsi + 0x30]
sub r8, rdx
add r8, rcx
add r14, r8
mov qword [rsi + 0x40], r14
add r8, rax
add rdx, rdi
mov rcx, rdi
call fcn.14040cc90
mov rax, qword [rbp + 0xe8]
jmp 0x140276692
call fcn.1403c4adc
int3