Function at 0x1400197e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x80
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], rcx
mov eax, dword [0x1401f1e68]
xor eax, 0x679040ee
mov edx, dword [0x1401f1e6c]
mov ecx, 0x899d8d8c
xor ecx, 0xe7e5ad30
xor edx, ecx
mov r8d, eax
xor r8d, edx
mov ecx, 0xd108e0c8
xor ecx, 0x2ef71f37
xor r8d, ecx
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
mov edx, 0x738b6f8b
xor edx, 0x5a86ed0b
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x290d8280
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x665c2865
xor ecx, 0xab6ab0a4
xor edx, edx
div ecx
mov r8d, 0xe07487a6
xor r8d, 0xbfd08e3c
mov ecx, 0x39523037
xor ecx, 0xc6adcfc8
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x194a6dc
xor r8d, 0xfe6b5923
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x5fa4099a
or eax, 0x5fa4099a
imul eax, edx
add eax, ecx
mov ecx, 0x57eaaf2e
xor ecx, 0x4cb6f8e2
cmp eax, ecx
ja 0x140019ce3
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
mov eax, dword [0x1401f1e70]
mov r8d, dword [0x1401f1e74]
xor r8d, 0x1964480
or eax, r8d
or eax, 0xcc698817
xor eax, 0x1d017859
mov dword [rbp - 0x2c], eax
mov eax, 0x20
mov qword [rbp - 0x40], rax
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov r8, rsp
mov qword [rbp - 0x38], r8
call fcn.1401f0aa0
sub rsp, rax
mov eax, dword [rbp - 0x2c]
mov r8, rsp
mov qword [rbp - 0x28], r8
mov rcx, qword [rcx]
mov qword [rbp - 0x20], rcx
cmp rcx, rdx
setg cl
mov byte [rbp - 0x11], cl
cmp eax, 0x3adfb7a4
je 0x1400198c3
mov al, byte [rbp - 0x11]
test al, 1
jne 0x140019948
jmp 0x140019962
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.140019570
add rsp, 0x20
jmp 0x140019cde
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x10]
cmp rax, rcx
jge 0x140019cde
mov ecx, dword [0x1401f1e78]
mov r8d, dword [0x1401f1e7c]
mov eax, ecx
xor eax, 0xffffffff
mov edx, r8d
and edx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xe00cbe13
mov edx, 0xffffffff
xor edx, 0xe00cbe13
and ecx, edx
or eax, ecx
mov edx, 0xdf83361b
xor edx, 0x79eb7c49
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, 0xa6684a52
add eax, ecx
mov r8d, 0xfe679d25
xor r8d, 0xb9fd8929
mov ecx, 0x1cf217e7
xor ecx, 0xe30de818
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xf0410daa
xor r8d, 0xfbef255
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x479a140c
or eax, 0x479a140c
imul eax, edx
add eax, ecx
cmp eax, 0x9cf6513b
jbe 0x140019cec
mov rcx, qword [rbp - 8]
mov eax, dword [0x1401f1e80]
mov edx, 0x721cf4fb
xor edx, 0x215a782b
xor eax, edx
sub eax, dword [0x1401f1e84]
mov edx, 0xbb57c0c6
xor edx, 0xbb57c0c6
sub edx, eax
xor eax, eax
sub eax, 0x3ef9f20
add edx, eax
xor eax, eax
sub eax, edx
sub eax, 0x98869f6f
xor edx, edx
sub edx, eax
mov eax, 0xea036f12
xor eax, 0xea036f12
mov r8d, 0x384708fe
xor r8d, 0x6b161fd5
sub eax, r8d
add edx, eax
xor eax, eax
sub eax, edx
mov rdx, rcx
add rdx, 8
mov qword [rbp - 0x58], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x50], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x41], cl
cmp eax, 0x4ba11890
jbe 0x140019cec
mov al, byte [rbp - 0x41]
test al, 1
jne 0x140019afd
jmp 0x140019ac5
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x50]
mov rax, qword [rax]
movabs r8, 0xbfffffffffffffff
mov rdx, rax
xor rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0xbfffffffffffffff
or rax, r8
and rax, rdx
cmp rax, rcx
jge 0x140019b8f
mov rdx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x10]
mov rcx, r8
sub rcx, rdx
mov qword [rbp - 0x60], rcx
mov rax, rcx
xor rax, r8
cmp rax, 0
setl al
xor rcx, rdx
movabs rdx, 0x78107b656a438272
movabs r8, 0x87ef849a95bc7d8d
xor rdx, r8
cmp rcx, rdx
setg cl
and al, cl
test al, 1
jne 0x140019b7d
mov r8, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x20]
mov r9d, 0x18
sub rsp, 0x30
mov qword [rsp + 0x20], 8
call fcn.140014320
add rsp, 0x30
mov rcx, rax
mov rax, qword [rbp - 0x58]
mov qword [rax], rcx
jmp 0x140019b8f
sub rsp, 0x20
call fcn.1400091c0
add rsp, 0x20
jmp 0x140019cde
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x10]
mov qword [rcx], rdx
mov qword [rbp - 0x68], rax
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x68]
mov qword [rbp - 0x70], rax
cmp rax, rcx
jge 0x140019ccc
mov rcx, qword [rbp - 0x38]
mov edx, 0x18
sub rsp, 0x20
call fcn.140009850
mov rcx, qword [rbp - 0x58]
mov rax, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x70]
add rsp, 0x20
mov rcx, qword [rcx]
add rcx, 8
imul r8, r8, 0x18
add rcx, r8
mov r8, qword [rax]
mov qword [rdx], r8
mov r8, qword [rax + 8]
mov qword [rdx + 8], r8
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x10], rax
sub rsp, 0x20
call fcn.1400510d0
mov rdx, qword [rbp - 0x70]
add rsp, 0x20
mov rax, rdx
add rax, 1
mov qword [rbp - 0x78], rax
mov rcx, rdx
and rcx, rcx
xor rcx, 0xffffffffffffffff
movabs r8, 0x1d0750368d04533d
movabs r9, 0xe2f8afc972fbacc2
xor r8, r9
and rcx, r8
movabs r8, 0x14e77ab279f24946
movabs r9, 0xeb18854d860db6b9
xor r8, r9
xor rcx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
and rdx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r8, 0xca8b55d29a2d1426
movabs r9, 0x3574aa2d65d2ebd9
xor r8, r9
xor rdx, r8
or rcx, rdx
and rax, rcx
movabs rcx, 0x96552b7edc2c3133
movabs rdx, 0x96552b7edc2c3133
xor rcx, rdx
cmp rax, rcx
jge 0x140019cd1
sub rsp, 0x20
call fcn.1400091c0
add rsp, 0x20
jmp 0x140019cde
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x68], rax
jmp 0x140019ba2
mov rsp, rbp
pop rbp
ret
lea esi, [rsi]
invalid
or cl, dh
mov r11b, 0xe9
cmp ch, bh
invalid