Function at 0x1401f06e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x148
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xc0], 0xfffffffffffffffe
mov qword [rbp - 0x40], rcx
call fcn.1401f4780
mov rcx, qword [0x14072cfc8]
mov edx, dword [0x14072cfa0]
mov esi, 0xffff4ca4
sub esi, eax
sub edx, esi
movsxd rax, edx
add rax, rcx
call qword [0x140704440]
mov edi, eax
mov r8d, eax
xor r8d, 0xf2eedfa8
mov rcx, qword [0x14072cfd0]
mov eax, dword [0x14072cfa8]
mov dword [rbp + 0xbc], esi
sub eax, esi
cdqe
add rax, rcx
lea rcx, [rbp - 0x60]
xor edx, edx
call qword [0x140704440]
mov qword [rbp + 0x18], 0
mov r14d, edi
mov rax, r14
shl rax, 0x1f
xor rax, r14
movabs rsi, 0x23fca71947f94e35
mov qword [rbp + 0x28], rax
xor rsi, rax
mov qword [rbp + 0x20], rsi
mov word [rbp + 8], 0
movzx eax, byte [0x14072cb1a]
mov r9d, edi
xor r9b, 0xbd
cmp al, r9b
je 0x1401f083a
mov ecx, edi
xor cl, 0x7c
mov edx, edi
xor dl, 0x2d
nop word cs:[rax + rax]
mov eax, ecx
lock cmpxchg byte [0x14072cb1a], dl
je 0x1401f07d3
cmp al, r9b
jne 0x1401f07c0
jmp 0x1401f083a
mov ecx, edi
xor ecx, 0xe8f1d3ff
mov r8d, edi
xor r8d, 0x47f94e38
xor ebx, ebx
lea r10, [0x14072cb10]
lea r11, [0x1405ef290]
nop word cs:[rax + rax]
lea eax, [rbx + rcx]
xor edx, edx
div r8d
movsxd rax, ebx
movsxd rdx, edx
movzx edx, byte [rdx + r11]
xor dl, dil
xor dl, byte [rax + r10]
xor dl, 0x50
mov byte [rax + r10], dl
mov edx, eax
xor edx, 1
and eax, 1
lea ebx, [rdx + rax*2]
cmp ebx, r8d
jl 0x1401f0800
mov eax, r9d
xchg byte [0x14072cb1a], al
mov rax, r14
shl rax, 0x1d
xor rax, r14
movabs r8, 0x8ff29c607f94e3b
mov qword [rbp + 0x30], rax
xor r8, rax
lea r10, [0x14072cb10]
add r8, r10
movzx eax, byte [0x14072cb1a]
cmp al, r9b
je 0x1401f08ee
mov ecx, edi
xor cl, 0x7c
mov edx, edi
xor dl, 0x2d
nop dword [rax]
mov eax, ecx
lock cmpxchg byte [0x14072cb1a], dl
je 0x1401f0893
cmp al, r9b
jne 0x1401f0880
jmp 0x1401f08ee
mov ecx, edi
xor ecx, 0xe8f1d3ff
mov r11d, edi
xor r11d, 0x47f94e38
cmp r11d, 2
mov ebx, 1
cmovge ebx, r11d
xor r15d, r15d
lea r12, [0x1405ef290]
nop dword [rax]
lea eax, [rcx + r15]
xor edx, edx
div r11d
movzx eax, byte [r15 + r10]
movsxd rdx, edx
xor al, byte [rdx + r12]
xor al, dil
xor al, 0x50
mov byte [r15 + r10], al
inc r15
cmp rbx, r15
jne 0x1401f08c0
nop
xchg byte [0x14072cb1a], r9b
lea rcx, [0x14072cb10]
lea rbx, [rbp + 8]
mov rdx, r8
mov r8, rbx
call fcn.1401f20e0
nop
mov rax, qword [rbp + 0x18]
cmp qword [rbp + 0x20], rsi
jbe 0x1401f0913
mov rbx, qword [rbp + 8]
lea r8, [rbx + rax*2]
lea rcx, [rbp - 0x60]
mov rdx, rbx
call fcn.1401f20f0
nop
movsxd rax, dword [0x1405ef1f8]
mov r12, r14
shl r12, 0x1c
xor r12, r14
mov ecx, dword [0x1405ef0b0]
mov dword [rbp + 0xb4], ecx
movsxd rcx, dword [0x1405ef090]
mov r13, qword [rbp + 0x20]
movabs rdx, 0x47f94e367f94e35
xor rdx, r12
cmp r13, rdx
jbe 0x1401f0c90
mov rsi, r14
shl rsi, 0x24
or rsi, r14
movabs rdx, 0x8fbb00b69385c3b5
xor rdx, qword [rbp + 0x28]
mov r9, r14
shl r9, 0x20
or r9, r14
movabs r8, 0x124f7347c2b29ae5
mov qword [rbp + 0x40], r9
xor r8, r9
mov r11, r14
shl r11, 0x1b
xor r11, r14
movabs r9, 0xa87608fbad4d651a
xor r9, r11
add r9, r8
mov r15, r14
shl r15, 0x1e
xor r15, r14
movabs r8, 0x42460bdcec7a3c4a
xor r8, r15
add r8, rdx
add r8, r9
movabs rdx, 0x161b57edc30c751
xor rdx, rsi
mov r10, r14
shl r10, 0x22
or r10, r14
movabs r9, 0x2d96021718d775c7
mov qword [rbp + 0x48], r10
xor r9, r10
add r9, rdx
mov rbx, r14
shl rbx, 0x23
or rbx, r14
movabs rdx, 0xdc7296ac67288a38
xor rdx, r15
movabs r10, 0x833563d0b3cf38ae
mov qword [rbp + 0x50], r11
xor r10, r11
movabs r11, 0xfe8b8601348fb9b3
xor r11, r15
add r11, r9
movabs r9, 0x14f5be916b70464c
xor r9, r12
add r9, r10
movabs r10, 0xdb550c0fd2c59b4b
xor r10, rbx
add r10, rdx
add r13, r13
mov qword [rbp - 8], r13
sub r8, r13
add r8, 2
add r10, r9
lea rdx, [r11 + r10]
add rdx, 2
movabs r9, 0x24aaf3f02d3a64b4
xor r9, rbx
xor r9, rdx
movabs r10, 0x64f461402d3a64b4
xor r10, rsi
and r10, rdx
lea rdx, [r9 + r10*2]
mov r9, r8
xor r9, rdx
and r8, rdx
movabs r10, 0xa6fea330fdff6620
xor r10, rsi
movabs rdx, 0x376bec63820099df
xor rdx, r15
add rdx, r10
lea r8, [r9 + r8*2]
sub rdx, r8
inc rdx
movabs r8, 0x3fca719047f941cd
mov qword [rbp + 0x58], rbx
xor r8, rbx
cmp rdx, r8
mov r8, qword [rbp + 8]
mov qword [rbp + 0x38], r8
jbe 0x1401f0c65
nop
mov qword [rbp + 0xa0], r12
mov qword [rbp + 0x98], r15
mov qword [rbp + 0x60], rsi
mov r11d, dword [0x14072cfec]
mov edx, edi
xor edx, 0xcab06c8
mov r8d, edi
xor r8d, 0xf354f937
add r8d, edx
mov edx, edi
xor edx, 0x5ded5d16
lea r9d, [rdx + r11]
neg r9d
mov r10d, r8d
xor r10d, r9d
and r9d, r8d
add r10d, edx
lea edx, [r10 + r9*2]
neg edx
mov dword [0x14072cfec], edx
xor r9d, r9d
mov qword [rbp + 0x68], r11
mov dword [rbp + 0xb0], edx
test edx, r11d
mov esi, 0
je 0x1401f0ce7
nop
mov r15, qword [rbp + 0x38]
mov rax, qword [r15 - 8]
movabs rcx, 0x97e72da6ea8e77e0
xor rcx, qword [rbp + 0x30]
movabs rdx, 0xad0be6371f34c93
mov rbx, qword [rbp + 0xa0]
xor rdx, rbx
add rdx, rcx
movabs rcx, 0xb806b1cdb806b1ca
mov r10, qword [rbp + 0x40]
xor rcx, r10
movabs r8, 0xe0ae86f32e0cb36c
mov r11, qword [rbp + 0x98]
xor r8, r11
add r8, rcx
add r8, rdx
movabs rcx, 0x7f02c3575571881f
xor rcx, qword [rbp + 0x48]
add rcx, r8
add rcx, r15
sub rcx, rax
add rcx, 2
movabs rdx, 0x47f94e3247f94e12
xor rdx, r10
cmp rcx, rdx
jae 0x1401f1144
mov rcx, r11
mov r8, qword [rbp - 8]
xor rcx, r8
movabs rdx, 0xee01ac733806b1e4
xor rdx, rcx
movabs rcx, 0x11fe538cc7f94e1a
xor rcx, r11
and rcx, r8
lea r8, [rcx + rcx]
neg r8
mov r9, 0xfffffffffffffffe
sub r9, rdx
inc rdx
lea rcx, [rcx*2 - 1]
mov r10, r9
and r10, r8
mov r11, rdx
and r11, rcx
or r11, r10
xor rdx, r8
and r9, rcx
or r9, rdx
movabs rcx, 0xaa6dc2c89f90ba7
mov rdx, qword [rbp + 0x50]
xor rdx, rcx
movabs rcx, 0xf3197d41c606f458
xor rbx, rcx
add rbx, rdx
sub rbx, r11
lea rdx, [rbx + r9*2]
add rdx, 3
mov rcx, rax
jmp 0x1401f0c69
mov rcx, qword [rbp + 0x38]
xor edi, 0xbbaa5f7a
mov r8, qword [0x14072cfd8]
mov eax, dword [0x14072cf90]
sub eax, dword [rbp + 0xbc]
cdqe
add rax, r8
mov r8d, edi
call qword [0x140704440]
mov rax, r14
shl rax, 0x23
or rax, r14
movabs r8, 0x3fca719047f94e12
xor r8, rax
mov rcx, qword [0x14072cfe0]
mov eax, dword [0x14072cf9c]
sub eax, dword [rbp + 0xbc]
cdqe
add rax, rcx
lea rdx, [rbp - 0x60]
mov rsi, qword [rbp - 0x40]
mov rcx, rsi
call qword [0x140704440]
mov rax, rsi
add rsp, 0x148
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea r11, [0x1405ef090]
add r11, rcx
mov ecx, dword [0x14072cff0]
xor ecx, edi
mov edx, edi
xor edx, 0xb806b1ce
xor ebx, ebx
cmp ecx, 0x9dfaa279
movsxd rdx, edx
mov ecx, 0
cmove rcx, rdx
cmp byte [0x1407901d1], 0
cmovne rcx, rdx
movsxd rdx, dword [r11 + rcx*4]
cmp dword [rbp + 0xb4], 0
jle 0x1401f113a
lea r8, [0x1405ef1f8]
movabs r9, 0xaa21cafc875c966a
mov r10, qword [rbp + 0xa0]
xor r9, r10
add r9, r8
movabs r8, 0x2e3542c058a36995
xor r8, qword [rbp + 0x60]
add r8, r9
add rax, r8
inc rax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], r11
lea r12, [r11 + rcx*4]
add r12, rdx
movabs rax, 0x11fe538cc7f94e22
xor rax, qword [rbp + 0x98]
mov qword [rbp - 0x28], rax
mov rax, r14
shl rax, 0x21
or rax, r14
movabs rcx, 0x2a0da558ad4e4568
xor rcx, rax
movabs rdx, 0x5e7f522072b1ba97
xor rdx, r10
add rcx, rdx
inc rcx
mov qword [rbp - 0x20], rcx
movabs rcx, 0x8ff29c6447f94e22
xor rcx, rax
mov qword [rbp - 0x18], rcx
mov eax, edi
xor eax, 0x47f94e31
cdqe
mov ecx, dword [0x14072cff8]
xor ecx, edi
mov dword [rbp + 0x78], ecx
mov ecx, edi
xor ecx, 0x6ddf04e6
mov edx, edi
xor edx, 0x47f94e3a
mov dword [rbp + 0xac], edx
mov edx, edi
xor edx, 0xb806b1dd
mov dword [rbp + 0x84], ecx
sub edx, ecx
inc edx
mov dword [rbp + 0x88], edx
mov ecx, edi
xor ecx, 0x47f94e22
mov dword [rbp + 0xb8], ecx
mov ecx, edi
xor ecx, 0x935b3a0a
mov edx, 1
sub edx, ecx
mov r8d, dword [0x14072cffc]
xor r8d, edi
mov dword [rbp + 0x74], r8d
mov r8d, edi
xor r8d, 0xfb419385
mov dword [rbp + 0x7c], r8d
lea r8d, [rdi + rdi]
xor r8d, 0x58d6083c
mov dword [rbp + 0x80], r8d
lea r8d, [rcx - 2]
mov qword [rbp], rcx
add ecx, 0x7ffffffe
mov dword [rbp + 0x94], ecx
shl rax, 4
mov qword [rbp - 0x10], rax
mov dword [rbp + 0x90], r8d
xor edx, r8d
mov dword [rbp + 0x8c], edx
xor r9d, r9d
xor esi, esi
xor r15d, r15d
jmp 0x1401f0ea8
xor r9, rax
xor rsi, rdx
add ebx, dword [rbp + 0xb8]
cmp ebx, dword [rbp + 0xb4]
jge 0x1401f0b4f
nop
mov eax, dword [0x14072cff4]
xor eax, edi
movsxd rcx, ebx
add rcx, qword [rbp - 0x38]
mov r13, r12
sub r13, rcx
cmp eax, 0x87bc626c
jne 0x1401f0ef0
imul r13, rcx
mov rax, qword [rbp - 0x20]
sub rax, rcx
add r13, rax
cmp r13, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
mov rax, qword [rcx + rdx]
mov rdx, qword [rcx + rdx + 8]
jl 0x1401f0f02
jmp 0x1401f1098
nop
cmp r13, qword [rbp - 0x28]
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
jge 0x1401f1098
cmp dword [rbp + 0x78], 0xefb3538
jne 0x1401f1020
mov rcx, rax
add rcx, 0xffffffffffffffff
mov r10, rdx
adc r10, 0xffffffffffffffff
neg rax
mov r12d, 0
sbb r12, rdx
mov edx, eax
and edx, 1
and rcx, 0xfffffffffffffffe
or rcx, rdx
and rax, 0xfffffffffffffffe
xor rax, rcx
xor r12, r10
mov ecx, r15d
neg ecx
lea edx, [rcx + rcx]
and edx, 2
mov r10d, edx
xor r10d, ecx
xor r10d, 1
and edx, ecx
lea edx, [r10 + rdx*2]
mov ecx, edx
shl r15d, cl
sub r15d, edx
mov ecx, dword [rbp + 0xac]
sub ecx, r13d
mov r10d, r13d
shl r10d, cl
inc r15d
imul r15d, edx
mov r11d, r10d
xor r11d, r13d
and r10d, r13d
lea r13d, [r11 + r10*2]
mov edx, r13d
mov ecx, dword [rbp + 0xb8]
shl edx, cl
mov r8d, r13d
mov ecx, edx
shl r8d, cl
mov ecx, r13d
sub ecx, r8d
imul ecx, r8d
lea edx, [r11 + r10*2]
dec edx
mov r8d, r13d
neg r8d
xor r8d, ecx
not ecx
and ecx, edx
or ecx, r8d
sub r13d, r8d
lea edx, [r13 + rcx*2 + 2]
mov ecx, ebx
sub ecx, edx
imul ecx, edx
mov edx, ecx
xor edx, ebx
sub ebx, ecx
imul ebx, ecx
sub ecx, ebx
and ecx, ebx
mov r8d, dword [rbp + 0x8c]
and r8d, ecx
xor r8d, dword [rbp + 0x90]
and ecx, dword [rbp + 0x94]
add ecx, ecx
mov r10d, r8d
xor r10d, ecx
and ecx, r8d
sub r10d, dword [rbp]
add r10d, r10d
lea ebx, [r10 + rcx*4]
add ebx, edx
not r12
not rax
mov dword [0x14072cff4], 0x6f2fbc80
mov rdx, r12
jmp 0x1401f1086
lea ecx, [r13*8]
mov r10, 0xffffffffffffffff
shl r10, cl
test cl, 0x40
mov rcx, 0xffffffffffffffff
cmovne rcx, r10
mov r12d, 0
cmove r12, r10
not r12
not rcx
and rdx, rcx
and rax, r12
inc r15d
add r13d, dword [rbp + 0x84]
mov ecx, r13d
mov r8d, dword [rbp + 0xac]
xor ecx, r8d
add ecx, dword [rbp + 0x88]
and r13d, r8d
lea ecx, [rcx + r13*2]
mov r10d, ecx
xor r10d, ebx
and ecx, ebx
lea ebx, [r10 + rcx*2]
movsxd rcx, r15d
mov r8, qword [rbp - 0x30]
lea r10, [r8 + rcx*4]
movsxd r12, dword [r8 + rcx*4]
add r12, r10
cmp dword [rbp + 0x74], 0xaeaa6afc
jne 0x1401f0e90
mov r10, rsi
mov ecx, eax
shld r10, r9, cl
mov rdx, r9
shl rdx, cl
test al, 0x40
cmovne r10, rdx
mov r13d, 0
cmove r13, rdx
mov rcx, r9
sub rcx, r13
mov r11, rsi
sbb r11, r10
mov rax, rcx
mul r13
imul r10, rcx
add rdx, r10
imul r11, r13
add r11, rdx
xor rsi, r11
xor r9, rax
mov eax, ebx
neg eax
mov edx, ebx
mov ecx, dword [rbp + 0xb8]
shl edx, cl
mov ecx, ebx
sub ecx, edx
dec ebx
xor ebx, eax
and ebx, ecx
xor ebx, eax
and ecx, eax
mov dword [0x14072cff0], 0x4f5a8ed3
mov edx, dword [rbp + 0x7c]
add ebx, edx
lea eax, [rbx + rcx*2]
neg eax
mov ecx, eax
xor ecx, edx
add ecx, dword [rbp + 0x80]
and eax, edx
lea ebx, [rcx + rax*2]
cmp ebx, dword [rbp + 0xb4]
ja 0x1401f0ea8
jmp 0x1401f0b4f
xor r9d, r9d
xor esi, esi
jmp 0x1401f0b4f
nop
mov eax, dword [0x14072cff0]
xor eax, edi
cmp eax, 0x93ce9d92
mov rdx, qword [0x1405ef208]
mov r10, qword [0x1405ef200]
jne 0x1401f13f6
xor eax, eax
mov ecx, dword [rbp + 0xb0]
test dword [rbp + 0x68], ecx
sete al
mov r11, rax
neg r11
mov ecx, eax
add cl, al
mov r8, r11
shl r8, cl
add r8, rax
adc r11, 0
mov rdi, rdx
mov ecx, r9d
shld rdi, r10, cl
mov rax, r10
shl rax, cl
xor ecx, ecx
test r9b, 0x40
cmovne rdi, rax
cmove rcx, rax
mov rax, rcx
not rax
add rax, r10
mov r9, rdi
not r9
adc r9, rdx
imul rdi, rax
mul rcx
add rdi, rdx
imul r9, rcx
add r9, rdi
and r9, r11
and r8, rax
mov eax, 0x8bed758c
sub eax, r8d
mov ecx, eax
xor ecx, 0x76
and eax, 0x76
lea ecx, [rcx + rax*2]
add cl, 0x3e
mov rax, r8
shrd rax, r9, cl
shr r9, cl
test cl, 0x40
cmove r9, rax
movabs rax, 0x498ba896a3986863
mov rdx, qword [rbp + 0xa0]
xor rdx, rax
movabs rax, 0x591b25d24ec1021b
mov rbx, qword [rbp + 0x98]
xor rax, rbx
movabs rcx, 0xa3f59006fc67979c
xor rcx, rbx
add rcx, rax
movabs rax, 0xc88e6a81313efde4
mov rdi, qword [rbp + 0x60]
xor rax, rdi
add rax, rdx
add rax, rcx
mov rcx, qword [0x140790640]
sub rax, rcx
add rax, 2
imul rax, rcx
shl rax, cl
or r9d, r8d
sub rax, rcx
mov r10, qword [rbp + 0x50]
mov ecx, r10d
xor ecx, 0xd7
mov edx, edi
xor edx, 0x28
add edx, ecx
lea ecx, [r9 + rdx]
inc ecx
imul ecx, r9d
movabs rdx, 0xee2c3dd5925c69eb
mov r9, qword [rbp + 0x48]
xor rdx, r9
movabs r8, 0x45c238f3d1becba4
xor r8, rdi
add r8, rdx
movabs rdx, 0xda4c1ce42e41345b
xor rdx, r9
movabs r9, 0x1fc8a96eeda39614
xor r9, rbx
add r9, r8
mov r8, rax
add rdx, rax
add rdx, r9
movabs r9, 0x5673a20e969fb83c
mov rsi, qword [rbp + 0x40]
xor rsi, r9
movabs r9, 0x13b5264d069fb83c
xor r9, r10
sub rsi, r9
movabs r9, 0x554ae21eb1f6fc60
xor r9, r10
and r9, rsi
lea r9, [rax + r9*2]
shl rax, cl
mov ecx, eax
shl r8, cl
neg rdx
lea rax, [r8 + rdx]
add rax, 0xfffffffffffffffe
imul rax, r8
movabs rcx, 0xf16b48816c2a5227
mov rdx, qword [rbp + 0x28]
xor rdx, rcx
movabs rcx, 0x927832ec59530a87
mov r11, qword [rbp + 0x30]
xor rcx, r11
add rcx, rdx
mov rdx, r14
shl rdx, 0x21
or rdx, r14
movabs r8, 0x2f57da1603d5add8
xor r8, r10
movabs r10, 0x81add3961b90e4bb
xor r10, rdx
add r10, r8
movabs r8, 0xd71e34b0de09039f
xor r8, rdi
xor r8, rsi
add r8, r10
movabs r10, 0x1f3e93696cee7780
xor r10, r11
movabs r11, 0xf9c016dc5311887f
xor r11, rbx
movabs rsi, 0x468b7be3a1f6fc60
xor rsi, rbx
add rsi, r11
movabs r11, 0x8e34532de46f1b44
xor r11, rdi
movabs rdi, 0xea8a78b1e6acf578
xor rdi, rdx
add r11, rdi
movabs rdi, 0xd7edc92de645355
xor rdi, rdx
add rdi, r10
add rdi, rcx
add rdi, r8
movabs rcx, 0x42b9ce99219bacaa
mov rdx, qword [rbp + 0x58]
xor rdx, rcx
add rdx, rsi
add rdx, r11
add rdx, rdi
sub rdx, r9
add rax, rdx
add rax, 6
jmp 0x1401f1472
sub r10, r9
sbb rdx, rsi
xor eax, eax
mov ecx, dword [rbp + 0xb0]
test dword [rbp + 0x68], ecx
cmovne r10, rax
cmovne rdx, rax
movabs rax, 0xd542bb6eef7d81a0
mov r8, qword [rbp + 0x58]
xor r8, rax
mov rax, r14
shl rax, 0x21
or rax, r14
movabs rcx, 0x9a85a96510827e5f
xor rcx, rax
add rcx, r8
sub rcx, qword [0x140790640]
or rdx, r10
inc rcx
mov rax, rdx
neg rax
xor rax, rcx
not rcx
dec rdx
and rdx, rcx
or rdx, rax
not rdx
add rdx, rdx
mov rcx, rdx
xor rcx, rax
and rdx, rax
lea rax, [rcx + rdx*2]
neg rax
nop
mov qword [0x140790640], rax
call fcn.1400954e0
int3