Function at 0x140044940
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rcx
mov eax, dword [0x1402a9dd8]
xor eax, 0x9e24e5cc
mov ecx, dword [0x1402a9ddc]
xor ecx, 0xffffffff
add eax, ecx
mov ecx, 0x67a37afb
xor ecx, 0x67a37afa
add eax, ecx
sub eax, 0xfbb230c8
mov ecx, 0xbc9da511
xor ecx, 0x2b9af1c4
xor eax, ecx
add eax, 0xc1120740
cmp eax, 0x567c65ab
jbe 0x140044cf5
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x1402a9de0]
mov r8d, dword [0x1402a9de4]
not r8d
mov edx, eax
or edx, r8d
and eax, r8d
not edx
or edx, eax
mov r8d, edx
not r8d
mov eax, edx
and eax, 0x157acbc4
and r8d, 0xea85343b
imul r8d, eax
mov eax, edx
and eax, 0xea85343b
or edx, 0xea85343b
imul edx, eax
mov eax, edx
mov edx, r8d
lea eax, [rax + rdx - 0x6c79ed7e]
mov edx, eax
not edx
mov r8d, eax
and r8d, 0x8d9bd81c
and edx, 0x726427e3
imul edx, r8d
mov r8d, eax
and r8d, 0x726427e3
or eax, 0x726427e3
imul eax, r8d
add eax, edx
mov r9, qword [rcx]
mov r8, r9
neg r8
mov rdx, r9
dec rdx
mov qword [rsp + 0x38], rdx
mov rcx, rdx
xor r8, rcx
and r8, r9
xor r8, rcx
test rdx, rdx
setns cl
or rdx, r8
sets dl
add cl, dl
inc cl
mov byte [rsp + 0x47], cl
cmp eax, 0xdce5e82a
jae 0x140044993
mov al, byte [rsp + 0x47]
test al, 1
jne 0x140044b08
jmp 0x140044a65
mov eax, dword [0x1402a9de8]
xor eax, 0xd2dd044c
or eax, dword [0x1402a9dec]
or eax, 0x1fafdabf
mov ecx, 0x46cf5c52
xor ecx, 0xf6eaa47f
or eax, ecx
sub eax, 0x17ccc6dc
mov ecx, 0x7b828976
xor ecx, 0x7ce0eb22
cmp eax, ecx
jb 0x140044cfe
mov rdx, qword [rsp + 0x50]
mov eax, dword [0x1402a9df0]
xor eax, 0xa7709170
mov ecx, dword [0x1402a9df4]
xor ecx, 0x7c773317
sub eax, ecx
sub eax, 0xd6035cf9
mov ecx, 0xe5309a0b
xor ecx, 0xfb136de
and eax, ecx
mov ecx, 0xe91e9464
xor ecx, 0xdd14cf83
and eax, ecx
mov ecx, 0x464de497
xor ecx, 0x3fc1aee5
add rdx, 8
mov qword [rsp + 0x30], rdx
cmp eax, ecx
jae 0x140044cfe
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
jmp 0x140044b12
call fcn.14000ee80
jmp 0x140044c2c
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x20], rax
cmp rax, rcx
jl 0x140044c1f
mov rax, qword [rsp + 0x20]
cmp rax, 0
jl 0x140044b4c
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
cmp rax, qword [rcx]
jl 0x140044b59
mov rcx, rdx
call fcn.140025e55
jmp 0x140044c2c
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
call fcn.140044580
mov rcx, qword [rsp + 0x20]
movabs rdx, 0x2cb4d4f7eb2afda7
mov rax, rcx
add rax, rdx
movabs rdx, 0xbc3dbb4bb1994942
movabs r8, 0x43c244b44e66b6bd
xor rdx, r8
add rax, rdx
movabs rdx, 0x32c62da04be30964
movabs r8, 0x1e72f957a0c9f4c3
xor rdx, r8
sub rax, rdx
movabs rdx, 0x339d38e4bff8d418
movabs r8, 0xcc62c71b40072be7
xor rdx, r8
mov r8, rax
xor r8, rdx
mov rdx, rcx
and rdx, r8
mov r9, rcx
xor r9, 0xffffffffffffffff
mov r8, rax
and r8, r9
or rdx, r8
cmp rdx, 0
setl dl
cmp rcx, 0
setne cl
and cl, dl
test cl, 1
mov qword [rsp + 0x28], rax
jne 0x140044c15
jmp 0x140044b12
call fcn.14000ee80
jmp 0x140044c2c
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov qword [rax], rcx
mov eax, dword [0x1402a9df8]
sub eax, dword [0x1402a9dfc]
mov ecx, 0x29720ad
xor edx, edx
div ecx
mov r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
and ecx, 0xddb8b9bb
mov r9d, 0xffffffff
xor r9d, 0xddb8b9bb
and r8d, r9d
mov eax, 0xffffffff
xor eax, 0x84245aae
mov edx, 0x1cec3ec7
xor edx, 0xc154877c
and eax, edx
mov edx, 0x403b6ef7
xor edx, 0xc41f3459
and edx, r9d
or ecx, r8d
or eax, edx
xor ecx, eax
mov eax, ecx
and eax, 0x9e0f7d7
mov edx, 0x3c551c65
xor edx, 0x35b5ebb2
or ecx, edx
add eax, ecx
cmp eax, 0x49a73553
je 0x140044d07
mov ecx, dword [0x1402a9e00]
mov edx, dword [0x1402a9e04]
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
add eax, 0x901e458a
mov ecx, 0xa26ae1e2
xor ecx, 0xd9ae9b48
xor edx, edx
div ecx
xor eax, 0x4554713b
cmp eax, 0x968ebd5
jb 0x140044cad
add rsp, 0x58
ret
in eax, dx
movabs al, byte ds:[0x5b8dfffffc95e9d9]
inc byte [rax - 0x17]
cdq
std
invalid
lea ebx, [rbx - 2]
jmp 0x140044aa0
loopne 0x140044d38
pop rsi
jmp 0x140044cad
mov qword [rsp + 0x68], rax
mov rax, qword [rcx]
mov qword [rsp + 0x70], rax
cmp rax, rdx
jle 0x140044d62
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call fcn.140044940
jmp 0x140045111
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
cmp rax, rcx
jge 0x140045111
mov rax, qword [rsp + 0x58]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x48], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x50], rax
cmp rax, 0
je 0x140044db9
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x140044eb8
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x60]
movabs r8, 0x2c6786bb4877b85
mov rcx, rax
add rcx, r8
sub rcx, rdx
movabs r8, 0x2c6786bb4877b85
sub rcx, r8
mov qword [rsp + 0x40], rcx
mov r9, rcx
xor r9, rax
movabs r8, 0x670dc500748bf9b7
movabs r10, 0x98f23aff8b740648
xor r8, r10
xor r9, r8
mov r8, rax
and r8, r9
shl r8, 1
sub r8, rax
mov rax, rcx
sub rax, r8
movabs r8, 0xe6cca093c53931af
movabs r9, 0xe6cca093c53931af
xor r8, r9
cmp rax, r8
setl al
xor rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
or al, al
xor al, 0xff
or cl, cl
xor cl, 0xff
or al, cl
xor al, 0xff
test al, 1
jne 0x140044eae
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
movabs r9, 0x87290832bcecdc18
movabs rax, 0x87290832bcecdc10
xor r9, rax
movabs rax, 0xff7bf512e0a0191
movabs r10, 0xff7bf512e0a0199
xor rax, r10
mov qword [rsp + 0x20], rax
call fcn.140023a90
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov qword [rax], rcx
jmp 0x140044eb8
call fcn.14000ee80
jmp 0x140045111
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov qword [rcx], rdx
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jge 0x140045111
mov eax, dword [str._t_9]
add eax, dword [0x1402a9e0c]
imul eax, eax, 0x3c7f7d88
imul eax, eax, 0xf9bcfea9
sub eax, 0xd461642e
mov ecx, 0xa0c51f3d
xor ecx, 0xcb8327e3
cmp eax, ecx
jb 0x140045117
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
mov edx, dword [0x1402a9e10]
mov r8d, 0xdfdf4d9c
xor r8d, 0x3b9a18f7
xor edx, r8d
mov r9d, dword [0x1402a9e14]
xor r9d, 0x13b1577e
mov r10d, 0xb013c636
xor r10d, 0x4fec39c9
mov r8d, edx
xor r8d, r10d
mov r10d, 0x98f2ac86
xor r10d, 0x670d5379
xor edx, r10d
or r8d, edx
mov edx, r9d
xor edx, 0xffffffff
xor r9d, 0xffffffff
or edx, r9d
xor r8d, 0xffffffff
xor edx, 0xffffffff
or r8d, edx
mov edx, r8d
and edx, 0x4269bc71
xor r8d, 0x4269bc71
or edx, r8d
mov r8d, edx
xor r8d, 0xdbc01349
xor r8d, 0xffffffff
and r8d, 0xdbc01349
shl r8d, 1
mov r9d, 0x501a72ce
xor r9d, 0x8bda6187
sub r8d, r9d
sub edx, r8d
mov r8d, edx
xor r8d, 0xffffffff
mov r9d, 0xd3e898
xor r9d, 0x9ff389bb
and r9d, r8d
mov r10d, 0xbc1ba548
xor r10d, 0x233bc46b
mov r8d, 0x481b69ff
xor r8d, 0xb7e49600
xor r10d, r8d
mov r8d, edx
and r8d, r10d
imul r8d, r9d
mov r10d, 0xc2cc8ac7
xor r10d, 0x5decebe4
mov r9d, edx
and r9d, r10d
or edx, 0x9f206123
imul edx, r9d
add edx, r8d
mov dword [rsp + 0x28], edx
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.1401d0c90
mov rcx, qword [rsp + 0x68]
mov eax, dword [rsp + 0x28]
mov cl, byte [rcx]
mov dl, 0xbd
xor dl, 0xbd
cmp cl, dl
sete cl
mov byte [rsp + 0x2f], cl
cmp eax, 0x6c5bed42
je 0x140045117
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x14004506f
jmp 0x140045111
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
and rdx, 1
shl rdx, 1
mov rax, rcx
xor rax, 1
add rax, rdx
mov r8, rcx
xor r8, 0xffffffffffffffff
movabs rdx, 0x59048446dff935ae
movabs r9, 0xa6fb7bb92006ca51
xor rdx, r9
and rdx, r8
movabs r8, 0x8d309af64cf1438c
movabs r9, 0x72cf6509b30ebc73
xor r8, r9
movabs r9, 0xf574c4e1548266e2
movabs r10, 0xa8b3b1eab7d991d
xor r9, r10
xor r8, r9
and rcx, r8
or rdx, rcx
mov rcx, rax
and rcx, rdx
movabs rdx, 0x30689f9d0228787
movabs r8, 0x30689f9d0228787
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x38], rax
jge 0x140044ecf
call fcn.14000ee80
nop
add rsp, 0x78
ret
adc byte [rsi - 0x27], cl
jmp 0x140044f17