Function at 0x140332120
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
mov ebx, edx
mov rsi, rcx
lea rax, [0x14044a900]
movsxd r15, dword [0x14044a900]
add r15, rax
mov eax, dword [0x140566c54]
cmp eax, 0x29
jge 0x14033216b
mov ebp, dword [0x14044a908]
mov eax, dword [0x140566c50]
mov ecx, 0x336be449
sub ecx, eax
imul ecx, eax
test cl, 1
je 0x140332173
mov eax, dword [0x14044a908]
jmp 0x140332150
mov rdi, qword [0x140566be8]
mov r14, qword [rdi + 0x30]
test r14, r14
je 0x140332232
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x2c], 0
call fcn.1401082f0
lea rcx, [rsp + 0x2c]
mov qword [rsp + 0x20], rcx
lea r8, [rsp + 0x30]
mov rcx, rax
mov edx, 7
mov r9d, 8
mov rax, r14
call qword [0x1404ee420]
test eax, eax
jne 0x140332232
cmp qword [rsp + 0x30], 0
je 0x140332232
cmp qword [0x140566c18], 0
jne 0x140332220
mov ecx, 0x30
mov edx, 0xe620b864
mov r8d, 0x6442e4f2
mov r9d, 0xf21041ca
call fcn.1400aaef0
mov qword [rax + 0x28], 0xf
lea rcx, [0x140426b18]
mov qword [rax + 8], rcx
mov dword [rax], 0
mov qword [rax + 0x20], 0
mov byte [rax + 0x10], 0
mov qword [0x140566c18], rax
mov rax, qword [0x140566c18]
mov dword [rax], 7
jmp 0x14033274f
cmp byte [0x140564750], 0
jne 0x1403322bf
mov rax, qword [rdi + 0x2f0]
test rax, rax
je 0x1403322bf
call qword [0x1404ee420]
test eax, eax
je 0x1403322bf
cmp qword [0x140566c18], 0
jne 0x1403322ad
mov ecx, 0x30
mov edx, 0xe620b864
mov r8d, 0x6442e4f2
mov r9d, 0xf21041ca
call fcn.1400aaef0
mov qword [rax + 0x28], 0xf
lea rcx, [0x140426b18]
mov qword [rax + 8], rcx
mov ecx, 0x7fde2feb
add ecx, dword [0x140546380]
mov dword [rax], ecx
mov qword [rax + 0x20], 0
mov byte [rax + 0x10], 0
mov qword [0x140566c18], rax
mov rax, qword [0x140566c18]
mov dword [rax], 8
jmp 0x14033274f
mov r14, qword [rdi + 0x2f8]
test r14, r14
je 0x140332375
mov dword [rsp + 0x30], 0
call fcn.1401082f0
lea rdx, [rsp + 0x30]
mov rcx, rax
mov rax, r14
call qword [0x1404ee420]
test eax, eax
je 0x140332375
cmp dword [rsp + 0x30], 0
je 0x140332375
cmp qword [0x140566c18], 0
jne 0x140332363
mov ecx, 0x30
mov edx, 0xe620b864
mov r8d, 0x6442e4f2
mov r9d, 0xf21041ca
call fcn.1400aaef0
movabs rcx, 0x72cbf5d41d2c7dea
add rcx, qword [0x140546388]
mov qword [rax + 0x28], rcx
lea rcx, [0x140426b18]
mov qword [rax + 8], rcx
mov dword [rax], 0
mov qword [rax + 0x20], 0
movzx ecx, byte [0x140546390]
add cl, 0xf9
mov byte [rax + 0x10], cl
mov qword [0x140566c18], rax
mov rax, qword [0x140566c18]
mov dword [rax], 9
jmp 0x14033274f
test bl, bl
je 0x140332407
movaps xmm0, xmmword [0x14044a8f0]
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0x100], xmm0
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0x120], xmm0
mov rax, qword [rdi + 0x300]
lea rcx, [rsp + 0x30]
call qword [0x1404ee420]
mov rcx, rdi
call fcn.140332770
mov ecx, eax
mov al, 1
test cl, cl
jne 0x140332751
nop dword [rax + rax]
mov ecx, dword [0x1405452e0]
mov eax, dword [0x140566c54]
cmp eax, 0xc
jg 0x140332420
lea edx, [rcx + 1]
mov eax, edx
and eax, ecx
not ecx
mov r8d, edx
not r8d
and r8d, ecx
mov ecx, r8d
or ecx, eax
nop dword [rax + rax]
mov dword [0x1405452e0], edx
cmp dword [0x140546380], 0x8021d015
je 0x14033248d
nop word cs:[rax + rax]
mov dword [0x1405452e0], edx
mov r9d, dword [0x140566c50]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
jne 0x140332470
jmp 0x140332450
not ecx
mov edi, edx
xor edi, ecx
and ecx, edx
or ecx, r8d
not edi
or edi, eax
not edi
or edi, ecx
xor edi, 0xffffffff
je 0x1403324a9
xor ebx, ebx
jmp 0x1403324b4
xor eax, eax
mov ebx, 0
test ebp, ebp
jg 0x140332506
cmp byte [rsi + 0x1d8], 0
je 0x1403326d4
mov ecx, 0x2e0fc
mov edx, 0x4ab3b926
mov r8d, 0x37e654f9
mov r9d, 0x3e10b3e6
call fcn.1403333d0
mov esi, eax
mov eax, dword [0x140566c50]
mov ecx, eax
not ecx
imul ecx, eax
and ecx, 1
mov eax, 0x7fde2feb
add eax, dword [0x140546380]
cmp ecx, eax
jne 0x14033265d
jmp 0x140332649
mov ecx, 0xfffffffe
mov dl, 1
xor ebx, ebx
nop
movsxd r9, eax
nop word cs:[rax + rax]
mov r8d, dword [0x140566c50]
mov r10d, dword [0x140546380]
neg r10d
add r10d, r8d
add r10d, 0x8021d014
imul r10d, r8d
test r10b, 1
je 0x140332551
cmp dword [0x140546380], 0x8021d015
jne 0x140332520
add r9, r15
mov r8d, dword [0x140566c54]
cmp r8d, 0x5d
jg 0x140332640
nop word cs:[rax + rax]
movzx r8d, word [r9]
mov r10d, dword [0x140566c54]
cmp r10d, 0x44
jge 0x140332640
nop word cs:[rax + rax]
mov r9d, dword [0x140566c50]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
je 0x1403325b2
mov r9d, dword [0x140566c54]
cmp r9d, 0x43
jge 0x140332590
mov r9d, dword [0x140566c50]
mov r10d, r9d
sub r10d, dword [0x140546380]
imul r10d, r9d
test r10b, 1
jne 0x1403325a5
mov r9d, r8d
xor r9d, r8d
not r9d
and r9d, ebx
xor r9d, r8d
mov ebx, r9d
nop
mov r8d, dword [0x140566c50]
mov r9d, dword [0x140546380]
add r9d, r8d
imul r9d, r8d
test r9b, 1
je 0x1403325ff
test dl, dl
je 0x1403325e0
mov r8d, dword [0x140566c50]
mov r9d, r8d
sub r9d, dword [0x140546380]
add r9d, 0x7fde2fec
imul r9d, r8d
test r9b, 1
mov r8d, dword [0x140566c54]
cmp r8d, 0x4d
jge 0x14033261f
sub eax, ecx
cmp eax, ebp
jl 0x140332510
jmp 0x1403324b4
movzx r8d, word [r9]
jmp 0x140332570
movzx eax, word [0x14044a910]
xor ecx, ecx
cmp edi, 1
sbb ecx, ecx
mov dl, 1
test dl, dl
jne 0x14033269a
lea rax, [fcn.140332120]
add eax, eax
add eax, 0x27a0
nop dword [rax + rax]
movzx ecx, word [0x14044a910]
mov ecx, dword [0x140546380]
mov edx, ecx
xor edx, 0x7fde2fec
and ecx, 0x7fde2fec
lea ecx, [rdx + rcx*2]
mov edx, eax
xor edx, ecx
not edx
test edx, ecx
jne 0x140332670
jmp 0x140332649
sub eax, ebx
movsx ecx, cx
mov edx, ecx
not edx
mov r8d, ecx
xor r8d, edx
and r8d, eax
xor edx, edx
xor edx, r8d
test dx, cx
setne al
or al, byte [0x140566c58]
and al, 1
mov byte [0x140566c58], al
mov eax, 0x7fde2fed
add eax, dword [0x140546380]
cmp esi, eax
jae 0x1403326d8
xor eax, eax
jmp 0x140332751
cmp qword [0x140566c18], 0
sete al
movzx ecx, byte [0x140566c58]
test cl, al
jne 0x1403326f2
xor cl, al
je 0x140332740
mov ecx, 0x30
mov edx, 0xe620b864
mov r8d, 0x6442e4f2
mov r9d, 0xf21041ca
call fcn.1400aaef0
mov qword [rax + 0x28], 0xf
lea rcx, [0x140426b18]
mov qword [rax + 8], rcx
mov ecx, 0x7fde2feb
add ecx, dword [0x140546380]
mov dword [rax], ecx
mov qword [rax + 0x20], 0
mov byte [rax + 0x10], 0
mov qword [0x140566c18], rax
mov rax, qword [0x140566c18]
or esi, 0x80000000
mov dword [rax], esi
mov al, 1
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret