Function at 0x140199530
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov qword [rbp], 0xfffffffffffffffe
mov eax, dword [0x140477d70]
mov ecx, dword [0x14047b000]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x26838]
jg 0x1401995b6
call fcn.14009a5f0
mov rsi, rax
movzx eax, byte [0x140477d90]
mov ecx, eax
not cl
xor al, 1
and cl, 0xfe
or cl, al
cmp cl, 0xff
je 0x14019959d
call fcn.14009a5f0
mov rcx, rax
mov rax, qword [0x140477d78]
sub rax, rcx
jmp 0x14019959f
xor eax, eax
add rax, rsi
sub rax, qword [0x140477d88]
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
lea rdx, [0x140477d70]
xor ecx, ecx
mov r8d, 0x6d73e134
call fcn.140199ca0
cmp byte [0x140477da0], 0
jne 0x1401995dc
cmp dword [0x140477d70], 0xffffffff
jne 0x14019956a
lea rcx, [0x140477d40]
call fcn.1401e04a0
xorps xmm0, xmm0
movups xmmword [0x140477d58], xmm0
mov qword [0x140477d68], 0
call fcn.14009a5f0
mov qword [0x140477d78], rax
mov qword [rbp - 8], 0xf
mov qword [rbp - 0x10], 0xc
xor ecx, ecx
mov edx, 1
mov r8d, 1
mov r9d, 0x25a9339e
call fcn.140199cd0
mov rcx, qword [rax]
mov qword [rbp - 0x20], rcx
mov eax, dword [rax + 8]
mov dword [rbp - 0x18], eax
mov byte [rbp - 0x14], 0
lea rcx, [rbp - 0x38]
lea rdx, [rbp - 0x20]
call fcn.1401e16d0
lea rcx, [0x140477d40]
lea rsi, [rbp - 0x38]
mov rdx, rsi
mov r8d, 0x24614861
call fcn.140199cc0
mov rcx, rsi
call fcn.1400a2300
mov rax, qword [rbp - 8]
cmp rax, 0x10
jb 0x1401996bd
mov rcx, qword [rbp - 0x20]
mov rdx, rax
xor rdx, 1
mov r8d, eax
and r8d, 1
lea rdx, [rdx + r8*2]
cmp rdx, 0x1000
jb 0x1401996b8
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140199959
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a22e0
lea rcx, [0x140477d40]
call fcn.1401e0650
mov rbx, qword [0x140436658]
movsxd rsi, dword [rbx]
mov edi, dword [0x1403580c8]
test al, al
je 0x140199895
lea rcx, [0x140477d40]
call fcn.1401e0640
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
mov dword [rsp + 0x20], 0xbf2e81c3
xor ecx, ecx
xor edx, edx
xor r8d, r8d
mov r9d, 1
call fcn.140199f90
lea rcx, [rbp - 0x20]
mov edx, 0x26
mov r9, rax
call fcn.14008fff0
lea rcx, [0x140477d40]
lea rdx, [rbp - 0x20]
call fcn.1401e1580
mov qword [0x140477d58], rax
mov rax, qword [rbp - 8]
cmp rax, 0x10
jb 0x140199782
mov rcx, qword [rbp - 0x20]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14019977d
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x14019995e
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a22e0
add rsi, rbx
mov ebx, dword [0x140477d80]
lea r14d, [rbx + 1]
mov dword [0x140477d80], r14d
test ebx, r14d
je 0x1401997a0
xor r15d, r15d
jmp 0x1401997b6
xor eax, eax
xor r15d, r15d
test edi, edi
jle 0x1401997b6
cdqe
xor r15, qword [rsi + rax]
add eax, 8
cmp eax, edi
jl 0x1401997a9
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
mov dword [rsp + 0x20], 0xbf2e81c3
xor ecx, ecx
xor edx, edx
mov r8d, 1
xor r9d, r9d
call fcn.140199f90
lea rcx, [rbp - 0x20]
mov edx, 0x28
mov r9, rax
call fcn.14008fff0
lea rcx, [0x140477d40]
lea rdx, [rbp - 0x20]
call fcn.1401e1580
mov qword [0x140477d60], rax
and ebx, r14d
mov rax, qword [0x1403580c0]
xor ecx, ecx
neg ebx
sbb rcx, rcx
sub rax, r15
not rax
mov rdx, rax
xor rdx, rcx
and rax, rcx
or rdx, rax
not rdx
test rdx, rdx
setne al
or al, byte [0x140477da0]
and al, 1
mov byte [0x140477da0], al
mov rax, qword [rbp - 8]
cmp rax, 0xf
jbe 0x140199885
mov rcx, qword [rbp - 0x20]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140199880
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140199963
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a22e0
lea rax, [0x140335000]
cmp qword [0x140477d58], rax
je 0x140199910
mov rax, qword [0x140477d58]
test rax, rax
je 0x1401998e3
cmp qword [0x140477d60], 0
je 0x1401998e3
lea rcx, [0x140199c30]
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], 0
lea r8, [0x140477d68]
lea rdx, [rbp - 0x20]
mov ecx, 2
call qword [case.0x1401085ed.0]
test eax, eax
je 0x1401998e3
mov qword [0x140477d60], 0
lea rcx, [0x140199bc0]
mov edx, 0x50bf7c38
call fcn.1400f8f30
lea rdx, [0x140477d70]
mov ecx, 1
mov r8d, 0x6d73e134
call fcn.140199ca0
jmp 0x14019956a
lea rax, [0x140350048]
mov qword [rbp - 0x20], rax
lea rdx, [rbp - 0x18]
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
lea rax, [0x140350718]
mov qword [rbp - 0x38], rax
mov byte [rbp - 0x30], 1
lea rcx, [rbp - 0x38]
call fcn.14033690c
lea rax, [0x1403506e8]
mov qword [rbp - 0x20], rax
lea rdx, [0x1403b1770]
lea rcx, [rbp - 0x20]
call fcn.14033686c
call fcn.1402ee57c
call fcn.1402ee57c
call fcn.1402ee57c
int3