Function at 0x140244000
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov qword [rbp], 0xfffffffffffffffe
mov rdi, rdx
movsxd r12, dword [0x14040ba70]
mov eax, 0x3dcfb544
add eax, dword [0x1404f6ac8]
mov r13, rcx
lea rcx, [fcn.140244000]
add ecx, ecx
add ecx, 0x3a20
test ecx, eax
nop word cs:[rax + rax]
cmp dword [0x1404f6ac8], 0xc2304abd
jne 0x140244050
mov eax, dword [0x14040baa0]
test rdi, rdi
je 0x14024412d
mov dword [rbp - 4], eax
mov qword [rbp - 0x38], r13
lea rax, [0x14040ba70]
mov r13, r12
xor r13, rax
and r12, rax
lea rbx, [rbp - 0x28]
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x10], 0xf
mov byte [rbp - 0x28], 0
mov rcx, rdi
mov edx, 0x1b6d6dd0
mov r8d, 0x3d4b765c
call fcn.1400a9690
mov r14, rax
movabs rax, 0xd9e931dd6d3a8bb2
add rax, qword [0x1404f6ac0]
cmp r14, rax
jbe 0x14024413a
mov esi, 0x3dcfb54d
mov r15d, 0x3dcfb545
nop word cs:[rax + rax]
mov rcx, rbx
mov rdx, r14
mov r9, rdi
call fcn.140087e80
mov eax, dword [0x14053283c]
mov ecx, dword [0x1404f6ac8]
add ecx, esi
cmp eax, ecx
jl 0x140244152
mov rcx, rbx
mov rdx, r14
mov r9, rdi
call fcn.140087e80
mov ecx, dword [0x140532838]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x1404f6ac8]
add ecx, r15d
xor edx, edx
div ecx
test edx, edx
jne 0x140244100
jmp 0x1402440e0
cmp qword [r13 + 0x20], 8
jb 0x1402441b0
mov rax, qword [r13 + 8]
jmp 0x1402441b4
mov qword [rbp - 0x18], r14
mov rcx, rbx
mov rdx, rdi
mov r8, r14
call fcn.1403e3a10
mov byte [rbp + r14 - 0x28], 0
lea rax, [r12*2]
add rax, r13
mov ecx, dword [0x140532838]
nop word cs:[rax + rax]
mov ecx, dword [0x1404f6ac8]
mov edx, ecx
xor edx, 0x3dcfb543
and ecx, 0x3dcfb543
add ecx, ecx
add ecx, edx
jne 0x140244170
mov edi, dword [0x1404f6554]
lea ebx, [rdi + 1]
mov dword [0x1404f6554], ebx
mov ecx, dword [0x140532838]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
mov r13, qword [rbp - 0x38]
jne 0x1402441e0
jmp 0x1402441c6
lea rax, [r13 + 8]
mov qword [r13 + 0x18], 0
mov word [rax], 0
jmp 0x1402444bd
mov ecx, dword [0x140532838]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x140244200
nop word [rax + rax]
mov ecx, dword [0x140532838]
mov edx, dword [0x1404f6ac8]
add edx, ecx
add edx, 0xc2304abc
imul edx, ecx
test dl, 1
jne 0x1402441e0
jmp 0x1402441c6
mov ecx, dword [0x14053283c]
cmp ecx, 0x4b
jg 0x140244200
mov ecx, 0x3dcfb543
mov edx, dword [0x140532838]
lea r8d, [rdx - 1]
imul r8d, edx
and r8d, 1
mov edx, dword [0x1404f6ac8]
add edx, ecx
cmp r8d, edx
jne 0x140244210
xor r14d, r14d
test edi, ebx
jne 0x1402442e7
mov ecx, dword [0x140532838]
lea rcx, [fcn.140244000]
add ecx, ecx
add ecx, 0x1fa0
jmp 0x14024427e
mov edx, dword [0x1404f6ac8]
mov r8d, edx
xor r8d, 0x3dcfb544
and edx, 0x3dcfb544
lea edx, [r8 + rdx*2]
test ecx, edx
je 0x1402442bd
mov edx, dword [0x14053283c]
cmp edx, 0x46
jg 0x1402442b0
nop dword [rax]
mov edx, dword [0x140532838]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x140244260
nop word cs:[rax + rax]
mov edx, dword [0x14053283c]
cmp edx, 0x20
jge 0x1402442b0
jmp 0x140244290
mov r8d, dword [rbp - 4]
test r8d, r8d
jle 0x1402442e7
xor ecx, ecx
xor r14d, r14d
nop dword [rax + rax]
movsxd rcx, ecx
xor r14d, dword [rax + rcx]
mov edx, ecx
xor edx, 4
and ecx, 4
lea ecx, [rdx + rcx*2]
cmp ecx, r8d
jl 0x1402442d0
mov eax, dword [0x14053283c]
mov ecx, 0x3dcfb54f
add ecx, dword [0x1404f6ac8]
cmp eax, ecx
nop word [rax + rax]
mov eax, dword [0x14053283c]
cmp eax, 0x4d
jge 0x140244300
lea rax, [0x1403fe9c8]
mov qword [rbp - 0x30], rax
lea rdx, [rbp - 0x30]
mov rcx, r13
call fcn.140243470
mov eax, dword [0x14053283c]
cmp eax, 0x40
nop dword [rax + rax]
mov r15, qword [rbp - 0x10]
mov eax, dword [0x14053283c]
cmp eax, 0x4b
jge 0x140244330
cmp r15, 0x10
jb 0x1402444bd
mov rdx, qword [rbp - 0x28]
mov rax, r15
xor rax, 1
mov ecx, r15d
movabs r8, 0xd9e931dd6d3a8ba5
add r8, qword [0x1404f6ac0]
and ecx, 1
imul r8, rcx
add r8, rax
mov eax, dword [0x140532838]
mov ecx, dword [0x1404f6ac8]
mov r9d, eax
sub r9d, ecx
add r9d, 0xbaae6248
imul r9d, eax
and r9d, 1
add ecx, 0x3dcfb543
cmp r9d, ecx
je 0x1402443b1
nop
mov eax, dword [0x14040ba74]
mov eax, dword [0x14053283c]
cmp eax, 0x35
jge 0x1402443a0
and edi, ebx
mov eax, dword [0x14040ba74]
xor ecx, ecx
cmp edi, 1
sbb ecx, ecx
sub eax, r14d
xor ecx, eax
not ecx
mov r9d, dword [0x140532854]
add r9d, dword [0x1404f6ac8]
and ecx, eax
lea eax, [rcx + r9]
add eax, 0x3dcfb543
mov dword [0x140532854], eax
cmp r8, 0xfff
jbe 0x1402444a3
mov rbx, qword [rdx - 8]
mov rax, qword [0x1404f6ac0]
movabs rcx, 0xd9e931dd6d3a8ba3
xor rcx, rax
movabs r8, 0x59e931dd6d3a8ba3
and r8, rax
lea rcx, [rcx + r8*2]
sub rcx, rax
add rcx, rbx
sub rdx, rcx
movabs rax, 0xd9e931dd6d3a8b9b
add rax, rdx
cmp rax, 0x20
jae 0x140244440
xor eax, eax
test al, al
je 0x140244445
jmp 0x140244450
call fcn.14039c09c
mov eax, dword [0x14053283c]
cmp eax, 0xd
jl 0x140244499
mov esi, 0x3dcfb59a
lea rdi, [0x140245b60]
nop dword [rax]
mov ecx, dword [0x1404f6ac8]
add ecx, esi
call fcn.14039c114
mov qword [0x140532830], rax
mov rcx, rdi
call fcn.1403bbdc0
mov eax, dword [0x140532838]
lea ecx, [rax - 1]
imul ecx, eax
mov dword [0x140532838], 1
test cl, 1
jne 0x140244460
jmp 0x140244445
add r15, 0x28
mov r8, r15
mov rdx, rbx
mov dword [rsp + 0x28], 0x4b2a6436
mov dword [rsp + 0x20], 0xaf7ddd4b
xor ecx, ecx
xor r9d, r9d
call fcn.140245c70
mov eax, dword [0x140532838]
mov rax, r13
add rsp, 0x78
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret