Function at 0x140053e90
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov r10, rdx
mov eax, dword [0x141dc80f0]
sub eax, dword [0x141dc80f4]
mov rsi, rcx
imul eax, eax, 0x6a2872b8
xor eax, 0x13c56b14
cmp eax, 0x270ac1ff
jae 0x140053ef0
mov eax, 0x40
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov eax, dword [0x141dc80f8]
xor edx, edx
div dword [0x141dc80fc]
mov ecx, eax
and ecx, 0xaa6004c
mov eax, 0x40
call fcn.1400ef3b0
sub rsp, rax
mov rbx, rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov r13, rsp
cmp ecx, 0x9597e486
je 0x140053ef0
nop
mov eax, dword [0x141dc8100]
or eax, dword [0x141dc8104]
imul rax, rax, 0x784fa0c9
shr rax, 0x3e
add eax, 0x7548ae83
xor eax, 0x33455c90
cmp eax, 0x2011ace3
jb 0x140053f40
mov r14b, 1
cmp byte [rsi + 8], 0
je 0x140053fc0
mov eax, dword [0x141dc81c0]
imul eax, dword [0x141dc81c4]
and eax, 0xd8a14d08
add eax, 0x7c2b467a
cmp eax, 0xb12d5c23
jbe 0x140053f97
mov byte [rsi + 8], r14b
mov byte [rsi + 9], 1
xor eax, eax
nop dword [rax]
mov byte [rsi + 8], r14b
mov byte [rsi + 9], 1
test al, al
jne 0x140053fa0
mov rax, rsi
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov qword [rbp - 0x10], r9
mov r12, qword [rsi]
mov ecx, dword [r12 + 0x34]
movzx r11d, byte [rsi + 9]
mov eax, 0xaf9bb8c9
nop word cs:[rax + rax]
mov edx, dword [0x141dc8108]
sub edx, dword [0x141dc810c]
or edx, 0x417ce043
imul rdx, rax
shr rdx, 0x3f
or edx, 0x91254770
cmp edx, 0x61781366
je 0x140053fe0
mov r9d, 0xacaec4eb
nop
mov eax, dword [0x141dc8110]
xor edx, edx
div dword [0x141dc8114]
or eax, 0xeb53cd49
imul rax, r9
shr rax, 0x3e
imul eax, eax, 0xc0251853
cmp eax, 0x16e993de
jb 0x140054010
test cl, 4
jne 0x1400540f0
mov qword [rbp], r10
mov qword [rbp - 8], r8
mov eax, 0xfa29a0f7
lea rcx, [0x141db5d74]
lea rdx, [0x141db5d77]
nop dword [rax]
mov r9d, dword [0x141dc8118]
imul r9d, dword [0x141dc811c]
imul r9, rax
shr r9, 0x3e
imul r10d, r9d, 0xf8f108a2
add r10d, 0x2bad321a
xor ebx, ebx
test r11b, r11b
sete r9b
mov r14, rdx
cmove r14, rcx
cmp r10d, 0x9a753020
ja 0x140054060
mov bl, r9b
or rbx, 2
mov r13, qword [r12 + 0x20]
mov rax, qword [r12 + 0x28]
mov r15, qword [rax + 0x18]
mov eax, dword [0x141dc8120]
and eax, dword [0x141dc8124]
or eax, 0xc1419d6a
imul rcx, rax, 0x13cebf83
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1c
cmp eax, 0x1a43d429
jne 0x140054170
jmp 0x1400541a4
mov eax, dword [0x141dc8130]
and eax, dword [0x141dc8134]
cmp eax, 0x65533a9b
je 0x1400540f0
test r11b, r11b
jne 0x14005438f
mov qword [rbp], r10
mov qword [rbp - 8], r8
mov r14, qword [r12 + 0x20]
mov eax, dword [0x141dc8158]
xor edx, edx
div dword [0x141dc815c]
nop word [rax + rax]
mov eax, dword [0x141dc8160]
sub eax, dword [0x141dc8164]
cmp eax, 0x611961e
je 0x140054130
mov eax, dword [0x141dc8168]
xor edx, edx
div dword [0x141dc816c]
and eax, 0x7222c36f
add eax, 0xe6644340
xor eax, 0x5ce4f054
cmp eax, 0xca8ea7a9
jbe 0x1400542c2
jmp 0x140054310
mov edi, dword [0x141dc8128]
sub edi, dword [0x141dc812c]
or edi, 0x5ecfdfda
add edi, 0x38cd0cfe
sub rsp, 0x20
mov rcx, r13
mov rdx, r14
mov r8, rbx
call r15
add rsp, 0x20
cmp edi, 0x7ab646b3
jae 0x1400541ba
sub rsp, 0x20
mov rcx, r13
mov rdx, r14
mov r8, rbx
call r15
add rsp, 0x20
jmp 0x140054170
mov r14b, 1
test al, al
jne 0x140053f71
nop word cs:[rax + rax]
mov eax, dword [0x141dc8138]
and eax, dword [0x141dc813c]
xor eax, 0x840c6
and eax, 0x10c48c6
cmp eax, 0x8809dde
ja 0x1400541d0
mov rcx, qword [r12 + 0x20]
mov rax, qword [r12 + 0x28]
sub rsp, 0x20
mov rdx, qword [rbp]
mov r8, qword [rbp - 8]
call qword [rax + 0x18]
add rsp, 0x20
test al, al
jne 0x140053f71
nop word cs:[rax + rax]
mov eax, dword [0x141dc8140]
imul eax, dword [0x141dc8144]
and eax, 0xe3fccf9c
cmp eax, 0x74bbf3c6
je 0x140054220
mov rcx, qword [r12 + 0x20]
mov rax, qword [r12 + 0x28]
sub rsp, 0x20
lea rdx, [0x141db5d79]
mov r8d, 2
call qword [rax + 0x18]
add rsp, 0x20
mov ecx, 0xf184f125
mov edx, dword [0x141dc8148]
add edx, dword [0x141dc814c]
imul rdx, rcx
shr rdx, 0x3d
or edx, 0xdefa19d9
cmp edx, 0x97808877
je 0x140054260
test al, al
jne 0x140053f71
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov rdx, r12
call qword [rbp + 0x70]
add rsp, 0x20
mov r14d, eax
nop
mov eax, dword [0x141dc8150]
xor eax, dword [0x141dc8154]
or eax, 0xdd873fae
add eax, 0x98b41ef8
cmp eax, 0x50aa8bb2
jbe 0x1400542a0
jmp 0x140053f71
mov eax, dword [0x141dc8170]
xor edx, edx
div dword [0x141dc8174]
or eax, 0x455076f6
mov edi, 0xb857bc95
imul rdi, rax
shr rdi, 0x3e
xor edi, 0x7b7aa46a
mov rax, qword [r12 + 0x28]
sub rsp, 0x20
lea rdx, [0x141db5d7b]
mov r8d, 3
mov rcx, r14
call qword [rax + 0x18]
add rsp, 0x20
cmp edi, 0x6fa21728
jae 0x140054332
mov rax, qword [r12 + 0x28]
sub rsp, 0x20
lea rdx, [0x141db5d7b]
mov r8d, 3
mov rcx, r14
call qword [rax + 0x18]
add rsp, 0x20
jmp 0x1400542c2
mov r14b, 1
test al, al
jne 0x140053f71
nop dword [rax]
mov eax, dword [0x141dc8178]
or eax, dword [0x141dc817c]
or eax, 0x328e148
and eax, 0x9328f148
cmp eax, 0x9d8f1f80
ja 0x140054340
mov ecx, dword [r12 + 0x34]
mov r8, qword [rbp - 8]
mov r10, qword [rbp]
nop word [rax + rax]
mov eax, dword [0x141dc8180]
mov edx, dword [0x141dc8184]
add eax, edx
add eax, 0x7e042557
and eax, 0xa2431002
cmp eax, 0x98dd60a2
je 0x140054370
mov byte [r15], 1
movups xmm0, xmmword [r12 + 0x20]
movaps xmmword [r13], xmm0
mov qword [r13 + 0x10], r15
mov eax, dword [r12 + 0x30]
movzx edx, byte [r12 + 0x38]
mov dword [rbx + 0x34], ecx
mov dword [rbx + 0x30], eax
mov byte [rbx + 0x38], dl
movups xmm0, xmmword [r12]
movaps xmmword [rbx], xmm0
movups xmm0, xmmword [r12 + 0x10]
movaps xmmword [rbx + 0x10], xmm0
mov qword [rbx + 0x20], r13
lea rax, [0x141db5d40]
mov qword [rbx + 0x28], rax
sub rsp, 0x20
mov rcx, r13
mov rdx, r10
call fcn.1400545e0
add rsp, 0x20
test al, al
mov r14, qword [rbp - 0x10]
mov r15, qword [rbp + 0x70]
jne 0x140054500
mov eax, dword [0x141dc8188]
imul eax, dword [0x141dc818c]
imul rax, rax, 0x93117b1
shr rax, 0x3a
imul eax, eax, 0xd3c1dd39
add eax, 0xde9c4e3
cmp eax, 0x9df7e2b
jb 0x14005446c
mov eax, dword [0x141dc8190]
add eax, dword [0x141dc8194]
imul rdi, rax, 0x4b7b3c8d
shr rdi, 0x3e
xor edi, 0x53239563
add edi, 0xb62bf2d8
sub rsp, 0x20
lea rdx, [0x141db5d79]
mov r8d, 2
mov rcx, r13
call fcn.1400545e0
add rsp, 0x20
cmp edi, 0x972e768
jbe 0x14005448b
sub rsp, 0x20
lea rdx, [0x141db5d79]
mov r8d, 2
mov rcx, r13
call fcn.1400545e0
add rsp, 0x20
jmp 0x140054424
test al, al
jne 0x140054500
mov eax, dword [0x141dc8198]
xor edx, edx
div dword [0x141dc819c]
and eax, 0x7792a74a
imul rax, rax, 0x45356c8f
shr rax, 0x3c
or eax, 0x4020999c
cmp eax, 0xe39af677
jbe 0x1400544d0
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
call r15
add rsp, 0x20
nop word [rax + rax]
mov edi, dword [0x141dc81a0]
sub edi, dword [0x141dc81a4]
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
call r15
add rsp, 0x20
cmp edi, 0x56be1653
je 0x1400544d0
test al, al
je 0x14005452b
nop dword [rax]
mov eax, dword [0x141dc81b8]
add eax, dword [0x141dc81bc]
imul eax, eax, 0x44cefafb
or eax, 0xb0276083
add eax, 0x12c05205
cmp eax, 0x85d54c79
jb 0x140054500
mov r14b, 1
jmp 0x140053f71
mov eax, dword [0x141dc81a8]
imul eax, dword [0x141dc81ac]
imul eax, eax, 0xca92fbd1
xor eax, 0x4d9f7833
add eax, 0x9a45fb56
cmp eax, 0x9cd0f945
jbe 0x14005456f
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbx + 0x28]
sub rsp, 0x20
lea rdx, [0x141db5d7e]
mov r8d, 2
call qword [rax + 0x18]
add rsp, 0x20
lea rdi, [0x141db5d7e]
nop word cs:[rax + rax]
mov r15d, dword [0x141dc81b0]
imul r15d, dword [0x141dc81b4]
and r15d, 0x1173c144
add r15d, 0x7d174c90
or r15d, 0x8d8bc3db
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbx + 0x28]
sub rsp, 0x20
mov r8d, 2
mov rdx, rdi
call qword [rax + 0x18]
add rsp, 0x20
cmp r15d, 0x70167083
jb 0x140054580
mov r14d, eax
xor eax, eax
nop
test al, al
jne 0x1400545d0
jmp 0x140053f71