Function at 0x140019920
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rcx
mov eax, dword [0x140241d88]
mov ecx, dword [0x140241d8c]
xor ecx, 0x518cc0c3
sub eax, ecx
mov ecx, 0x5c1a72b4
xor ecx, 0xa3e58d4b
mov edx, eax
xor edx, ecx
and edx, 0x2246452c
mov r8d, 0xffffffff
xor r8d, 0x2246452c
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x322c9578
xor r8d, 0x106ad054
mov edx, eax
and edx, r8d
or eax, 0x2246452c
imul eax, edx
add eax, ecx
mov ecx, 0xbd842ab3
xor edx, edx
div ecx
mov ecx, 0xdb271446
xor ecx, 0xb5909146
mov edx, eax
and edx, ecx
mov ecx, 0x618e5335
xor ecx, 0x618e5337
imul ecx, edx
add eax, 0x6eb78500
sub eax, ecx
cmp eax, 0x2d3d6bd8
jb 0x140019c54
mov eax, dword [0x140241d90]
mov ecx, 0xced8d9a2
xor ecx, 0x401dcd09
xor eax, ecx
mov ecx, dword [0x140241d94]
mov edx, 0xf075d224
xor edx, 0xa3be1e7e
xor ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, 0xda58bc26
sub eax, ecx
mov ecx, 0x1b7ece70
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x40]
sub eax, 0x51e75911
mov ecx, 0x1175599e
xor ecx, 0x847ad7d3
cmp rdx, 1
setl dl
mov byte [rsp + 0x3f], dl
cmp eax, ecx
je 0x1400199c5
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x140019a39
jmp 0x140019a52
mov rax, qword [rsp + 0x48]
mov qword [rax], 0
mov qword [rax + 8], 0
jmp 0x140019c4a
mov rcx, qword [rsp + 0x40]
movabs rdx, 0xe04525a6cfce4fd9
mov rax, rcx
sub rax, rdx
add rax, 1
movabs rdx, 0xf846c3018cb8bf25
movabs r8, 0x1803e6a74376f0fc
xor rdx, r8
add rax, rdx
movabs rdx, 0x4373742e30a37c3a
movabs r8, 0xbc8c8bd1cf5c83c5
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140019ab6
call fcn.140008d37
jmp 0x140019c4a
mov rax, qword [rsp + 0x40]
movabs rdx, 0x9b7fd0a041c0636d
movabs rcx, 0x7442b1091767111d
xor rdx, rcx
mov rcx, rax
add rcx, rdx
add rcx, 9
movabs rdx, 0xef3d61a956a77270
sub rcx, rdx
mov qword [rsp + 0x30], rcx
mov rdx, 0xfffffffffffffffe
sub rdx, rax
movabs rax, 0x245db9f9d406506f
movabs r8, 0xdba246062bf9af90
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x140019c02
mov eax, dword [0x140241d98]
and eax, dword [0x140241d9c]
imul eax, eax, 0xd23500c2
mov ecx, 0x42d8bb5e
xor edx, edx
div ecx
sub eax, 0xbf037cf3
mov ecx, 0xaf2fc763
xor ecx, 0xf91d9121
cmp eax, ecx
ja 0x140019c5d
mov ecx, dword [0x140241da0]
xor ecx, 0x6587e8e5
mov edx, dword [0x140241da4]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xe60bf57c
mov edx, 0xffffffff
xor edx, 0xe60bf57c
and ecx, edx
mov edx, 0xd2e9c6fb
xor edx, 0x2d163904
xor eax, edx
mov edx, 0xbec85203
xor edx, 0x4137adfc
xor ecx, edx
and eax, ecx
mov ecx, 0xf0833643
xor edx, edx
div ecx
mov ecx, 0x3ba4a218
xor ecx, 0x5d81889
add eax, ecx
sub eax, 0x6f9d8065
mov ecx, 0xd9ba39bb
xor ecx, 0xe7c6832a
sub eax, ecx
mov dword [rsp + 0x2c], eax
mov eax, 0xb004d39a
xor eax, 0xcc61b4ac
mov dword [rsp + 0x28], eax
call fcn.140008d37
mov ecx, dword [rsp + 0x28]
mov eax, dword [rsp + 0x2c]
cmp eax, ecx
jb 0x140019b58
jmp 0x140019c4a
mov rax, qword [rsp + 0x30]
cmp rax, 0
jge 0x140019c21
mov rcx, r8
mov rdx, r8
call fcn.14000db87
jmp 0x140019c4a
mov rcx, qword [rsp + 0x30]
call fcn.14000bbdd
mov rdx, qword [rsp + 0x40]
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov qword [rcx], rdx
mov byte [rcx + 8], 0
mov qword [rax], 0
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x50]
add rsp, 0x58
ret
push rdi
push rcx
add cl, bl
jmp 0x1400199c5
adc al, byte ss:[rcx + 0x50]
jmp 0x140019b58