Function at 0x14019c050
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x48
mov qword [rsp + 0x38], rcx
xor eax, eax
cmp rcx, 0
mov byte [rsp + 0x47], al
je 0x14019c222
mov rax, qword [rsp + 0x38]
movabs rcx, 0xeec45e1eb937889b
add rax, rcx
add rax, 0xfffffffffffffff0
movabs rcx, 0xeec45e1eb937889b
sub rax, rcx
mov qword [rsp + 0x28], rax
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov al, 1
cmp rcx, 0x10
mov byte [rsp + 0x47], al
jb 0x14019c222
mov r8, qword [rsp + 0x30]
mov rax, r8
add rax, 0xfffffffffffffff0
mov qword [rsp + 0x20], rax
mov rdx, rax
xor rdx, 0xffffffffffffffff
mov rcx, r8
and rcx, rdx
movabs rdx, 0x98a183e54a55bd66
movabs r9, 0x675e7c1ab5aa4299
xor rdx, r9
xor r8, rdx
mov rdx, rax
and rdx, r8
or rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x14019c107
jmp 0x14019c117
call fcn.140008c92
xor eax, eax
mov byte [rsp + 0x47], al
jmp 0x14019c222
mov eax, dword [0x140256240]
mov edx, dword [0x140256244]
xor edx, 0xffffffff
mov ecx, eax
xor ecx, edx
and ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, 0x3384a4d9
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x3384a4d9
mov r8d, 0xffffffff
xor r8d, 0x3384a4d9
or edx, r8d
mov r8d, 0x14a080f0
xor r8d, 0xeb5f7f0f
xor ecx, r8d
mov r8d, 0x58103fa9
xor r8d, 0xa7efc056
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x1aeb7fb
xor edx, edx
div ecx
or eax, 0xa3b06189
cmp eax, 0x2d0d494c
jb 0x14019c230
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x20]
mov eax, dword [0x140256248]
xor eax, 0xb8f1bd3b
mov r9d, dword [0x14025624c]
mov r8d, eax
and r8d, r9d
shl r8d, 1
add eax, r9d
sub eax, r8d
xor eax, 0xb37b374e
mov r8d, eax
xor r8d, 0xca4b28d2
mov r9d, 0x7c9633f
xor r9d, 0xcd824bed
mov r10d, 0xd6fe0955
xor r10d, 0x2901f6aa
xor r9d, r10d
and eax, r9d
shl eax, 1
sub eax, r8d
sub eax, 0xc52498bd
add eax, 0xd350101c
add eax, 0xc52498bd
mov qword [rcx], rdx
cmp eax, 0x6612f593
jbe 0x14019c199
xor eax, eax
mov byte [rsp + 0x47], al
jmp 0x14019c222
mov al, byte [rsp + 0x47]
and al, 1
movzx eax, al
add rsp, 0x48
ret
movabs byte [0xffffff60e931299f], al
nop dword [rax]
sub rsp, 0x48
mov qword [rsp + 0x38], rcx
call fcn.14019c02a
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov rcx, qword [rcx]
call fcn.14019c050
test al, 1
jne 0x14019c26d
jmp 0x14019c29a
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax]
call fcn.1400874eb
mov rax, qword [rsp + 0x40]
cmp byte [rax], 0
jne 0x14019c374
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax]
mov edx, 8
call fcn.14000ef30
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x30], rax
cmp rax, 0
je 0x14019c374
mov eax, dword [0x140256250]
xor edx, edx
div dword [0x140256254]
mov ecx, 0xd548d4c4
xor ecx, 0x87cffa5c
and eax, ecx
mov ecx, 0x892b437c
xor ecx, 0x5392786d
or eax, ecx
add eax, 0x88e11357
mov ecx, 0x9cb55c4e
xor ecx, 0x94153e6
cmp eax, ecx
jae 0x14019c37a
mov rcx, qword [rsp + 0x30]
mov eax, dword [0x140256258]
imul eax, dword [0x14025625c]
mov edx, eax
add edx, 1
xor eax, 0xffffffff
or eax, 0xb47f161a
add eax, edx
mov edx, 0x9029eb0c
xor edx, 0x54dbc560
imul eax, edx
add eax, 0xd2bf72f8
mov rcx, qword [rcx]
movabs rdx, 0xa417ccab91faca4a
movabs r8, 0xe417ccab91faca4a
xor rdx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rsp + 0x2f], cl
cmp eax, 0xd85b806b
je 0x14019c2f2
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x14019c36a
jmp 0x14019c374
mov rcx, qword [rsp + 0x30]
call fcn.14000eec9
nop
add rsp, 0x48
ret
jg 0x14019c3e5
lahf
invalid
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rsp + 0x30], rdx
cmp rax, rcx
jge 0x14019c55e
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.14019c050
test al, 1
jne 0x14019c401
jmp 0x14019c54b
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
call 0x14019c240
mov rax, qword [rsp + 0x40]
cmp byte [rax], 0
jne 0x14019c5d3
mov edx, dword [0x140256260]
mov eax, 0xd07d1cb9
xor eax, 0x78488bea
xor edx, eax
mov eax, dword [0x140256264]
mov ecx, edx
xor ecx, eax
xor eax, 0xffffffff
and edx, eax
mov eax, 0x5cba4a24
xor eax, 0x5cba4a26
imul eax, edx
sub eax, ecx
or eax, 0xd82f45db
or eax, eax
mov ecx, 0x44018e09
xor ecx, 0xbbfe71f6
xor eax, ecx
mov ecx, 0xc118dc5d
xor ecx, 0x40c1c827
mov edx, 0xd2a0fe73
xor edx, 0x5379ea09
or ecx, edx
mov edx, 0xca241ec6
xor edx, 0x35dbe139
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xdd838157
xor edx, edx
div ecx
mov ecx, 0x228389e2
xor ecx, 0x368771f5
cmp eax, ecx
je 0x14019c5d9
mov rcx, qword [rsp + 0x28]
mov eax, dword [0x140256268]
xor edx, edx
div dword [0x14025626c]
mov r8d, eax
mov rax, qword [rsp + 0x48]
mov r9d, 0xd0bfbf
xor r9d, 0xef177738
mov edx, r8d
and edx, r9d
or r8d, 0xefc7c887
add edx, r8d
xor r8d, r8d
sub r8d, 0x9fd4891f
add edx, r8d
mov r9d, 0x3ef5d1b6
xor r9d, 0xadd55f51
mov r8d, edx
xor r8d, r9d
xor r8d, 0xffffffff
and r8d, 0x93208ee7
shl r8d, 1
sub r8d, 0x93208ee7
sub edx, r8d
mov dword [rsp + 0x24], edx
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
mov edx, 8
call fcn.14000ef30
mov eax, dword [rsp + 0x24]
cmp eax, 0xc06dabe0
jbe 0x14019c4b0
jmp 0x14019c54b
mov rax, qword [rsp + 0x28]
add rax, 1
mov qword [rsp + 0x50], rax
jmp 0x14019c3b8
mov rax, qword [rsp + 0x30]
cmp rax, 0
je 0x14019c5d3
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0xfd48abb4a0178ccf
movabs rdx, 0xfd48abb4a0178ccf
xor rcx, rdx
cmp rax, rcx
jne 0x14019c5d3
mov rcx, qword [rsp + 0x30]
movabs rdx, 0xa0f54f812b40b5b8
movabs rax, 0xa0f54f812b40b5b0
xor rdx, rax
call fcn.14000eece
nop
add rsp, 0x58
ret
jne 0x14019c621
pop rdi
and ecx, ebp
invalid
add esp, 0x20