Function at 0x1400667a0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov dword [rsp + 0x4c], edx
mov qword [rsp + 0x50], rcx
mov eax, dword [0x1401d7f68]
mov r8d, dword [0x1401d7f6c]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
mov ecx, 0x373d13c3
xor ecx, 0x44cec88f
and ecx, edx
mov edx, 0xffffffff
xor edx, 0x73f3db4c
and eax, edx
or ecx, eax
mov edx, 0x3f118138
xor edx, 0xc0ee7ec7
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xf289901a
and ecx, 0xf289901a
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, eax
xor ecx, 0x95721ec
mov edx, 0xd0409c40
xor edx, 0x2fbf63bf
xor ecx, edx
and ecx, 0x95721ec
shl ecx, 1
sub ecx, 0x95721ec
sub eax, ecx
cmp eax, 0xb92775dc
jbe 0x140066ea2
mov eax, dword [0x1401d7f70]
xor eax, 0xbd73ae82
and eax, dword [0x1401d7f74]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xa446d06
xor edx, 0xea54aa29
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xe010c72f
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xe010c72f
or eax, 0xe010c72f
imul eax, edx
add eax, ecx
mov ecx, 0xa40b24bb
xor ecx, 0x59f9907c
add eax, ecx
xor eax, 0xcebfaee2
mov dword [rsp + 0x3c], eax
call fcn.14006624b
mov ecx, dword [rsp + 0x4c]
mov rdx, rax
mov eax, dword [rsp + 0x3c]
mov qword [rsp + 0x40], rdx
cmp ecx, 0xffffffe0
setl cl
mov byte [rsp + 0x4b], cl
cmp eax, 0x184a0162
jbe 0x140066ea2
mov al, byte [rsp + 0x4b]
test al, 1
jne 0x1400668f7
jmp 0x1400669ae
mov eax, dword [rsp + 0x4c]
cmp eax, 0xffff8000
jae 0x140066936
mov rcx, qword [rsp + 0x50]
mov edx, 0xd2
call fcn.140034e18
mov rax, qword [rsp + 0x40]
cmp byte [rax], 0
jne 0x140066e9d
mov edx, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x50]
call fcn.14006662d
jmp 0x140066e9d
mov eax, dword [rsp + 0x4c]
cmp eax, 0xffffff80
jae 0x14006697c
mov rcx, qword [rsp + 0x50]
mov edx, 0xd1
call fcn.140034e18
mov rax, qword [rsp + 0x40]
mov al, byte [rax]
mov cl, 0xc6
xor cl, 0xc6
cmp al, cl
jne 0x140066e9d
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x4c]
mov dx, ax
call fcn.140066420
jmp 0x140066e9d
mov rcx, qword [rsp + 0x50]
mov edx, 0xd0
call fcn.140034e18
mov rax, qword [rsp + 0x40]
cmp byte [rax], 0
jne 0x140066e9d
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x4c]
mov dl, al
call fcn.140034e18
jmp 0x140066e9d
mov eax, dword [rsp + 0x4c]
cmp eax, 0x80
jge 0x140066a8d
mov rax, qword [rsp + 0x40]
mov al, byte [rax]
mov cl, 0x8f
xor cl, 0x8f
cmp al, cl
jne 0x140066e9d
mov eax, dword [0x1401d7f78]
and eax, dword [0x1401d7f7c]
mov ecx, 0xe8c68ef
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xfcd67633
xor edx, 0xffffffff
and edx, 0xfcd67633
mov ecx, 0x593d9866
xor ecx, 0x593d9864
imul ecx, edx
sub ecx, 0xfcd67633
sub eax, ecx
mov edx, 0xc4d0a00e
xor edx, 0xd08dec75
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x145d4c7b
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0xfc7cea15
ja 0x140066eab
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x1401d7f80]
xor edx, edx
div dword [0x1401d7f84]
mov edx, eax
mov eax, dword [rsp + 0x4c]
imul edx, edx, 0x29052c14
mov r8d, 0xc4fc4486
xor r8d, 0x8e229a5d
or edx, r8d
sub edx, 0xc9369081
mov dword [rsp + 0x38], edx
mov dl, al
call fcn.140034e18
mov eax, dword [rsp + 0x38]
cmp eax, 0x505e2d40
jb 0x140066a39
jmp 0x140066e9d
mov eax, dword [rsp + 0x4c]
cmp eax, 0x100
jae 0x140066ace
mov rcx, qword [rsp + 0x50]
mov edx, 0xcc
call fcn.140034e18
mov rax, qword [rsp + 0x40]
cmp byte [rax], 0
jne 0x140066e9d
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x4c]
mov dl, al
call fcn.140034eb1
jmp 0x140066e9d
mov eax, dword [rsp + 0x4c]
cmp eax, 0x10000
jae 0x140066c0b
mov ecx, dword [0x1401d7f88]
mov eax, 0xc9ba88e4
xor eax, 0x19a249ac
xor ecx, eax
mov eax, dword [0x1401d7f8c]
xor eax, 0xe7e1d744
imul ecx, eax
sub ecx, 0xe71daf3e
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0x6560f96b
xor eax, 0xffffffff
mov edx, 0x6560f96b
and edx, 0x6560f96b
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x35dc386c
xor edx, edx
div ecx
cmp eax, 0xc24f6240
jae 0x140066eb4
mov rcx, qword [rsp + 0x50]
mov edx, dword [0x1401d7f90]
mov r8d, dword [0x1401d7f94]
xor r8d, 0xdd70c809
mov eax, edx
xor eax, r8d
xor eax, 0xffffffff
or edx, r8d
and edx, eax
mov r8d, 0xdee218d9
xor r8d, 0x5f5b76e5
mov eax, edx
and eax, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x81b96e3c
or edx, r8d
and eax, edx
xor eax, 0xffffffff
mov edx, 0x53a1f89d
xor edx, 0xa3a49b58
xor eax, edx
mov edx, eax
and edx, 0x315cd214
shl edx, 1
add eax, 0x315cd214
sub eax, edx
mov dword [rsp + 0x30], eax
mov dl, 0x6a
xor dl, 0xa7
call fcn.140034e18
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0x30]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x37], cl
cmp eax, 0xeb3df8b1
jae 0x140066b46
mov al, byte [rsp + 0x37]
test al, 1
jne 0x140066bf5
jmp 0x140066e9d
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x4c]
mov dx, ax
call fcn.140066420
jmp 0x140066e9d
mov eax, dword [0x1401d7f98]
mov ecx, 0x23d289fd
xor ecx, 0x5cd29af9
xor eax, ecx
mov r8d, dword [0x1401d7f9c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xa27d6e61
mov edx, 0xffffffff
xor edx, 0xa27d6e61
and eax, edx
sub eax, ecx
mov r8d, 0xa945e502
xor r8d, 0x8f25d6c9
mov ecx, 0x63e99c79
xor ecx, 0x9c166386
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x266033cb
or eax, 0x266033cb
imul eax, edx
add eax, ecx
mov ecx, 0xd1d1fc5c
xor edx, edx
div ecx
mov ecx, 0x672ad557
xor ecx, 0x47f6ab27
cmp eax, ecx
ja 0x140066ebd
mov rcx, qword [rsp + 0x50]
mov edx, dword [0x1401d7fa0]
mov r8d, dword [0x1401d7fa4]
mov r9d, 0x6be8fe2c
xor r9d, 0x941701d3
mov eax, edx
xor eax, r9d
mov r9d, r8d
xor r9d, 0xffffffff
and eax, r9d
or edx, r8d
mov r8d, 0x47130084
xor r8d, 0xb8ecff7b
xor edx, r8d
or eax, edx
xor eax, 0xffffffff
imul eax, eax, 0x87aa202a
mov r9d, 0xffffffff
xor r9d, 0xd2d8958a
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0xd2d8958a
or eax, 0xd2d8958a
imul eax, r8d
add eax, edx
mov r8d, 0xf8403da
xor edx, edx
div r8d
mov dword [rsp + 0x28], eax
mov eax, 0x213cf865
xor eax, 0x6fdfebbe
mov dword [rsp + 0x24], eax
mov edx, 0xce
call fcn.140034e18
mov rdx, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x28]
cmp byte [rdx], 0
sete dl
mov byte [rsp + 0x2f], dl
cmp eax, ecx
je 0x140066ebd
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x140066d93
jmp 0x140066e9d
mov eax, dword [0x1401d7fa8]
xor edx, edx
div dword [0x1401d7fac]
mov r8d, 0xffffffff
xor r8d, 0x60f7774e
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xcec16e90
xor r8d, 0x313e916f
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x60f7774e
or eax, 0x60f7774e
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xe792bbfc
xor ecx, 0xffffffff
mov edx, 0x2b90c1a3
xor edx, 0xcc027a5f
or eax, edx
and eax, ecx
mov edx, 0x23b12ac9
xor edx, 0x9e79a51d
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xbdc88fd4
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0x6f96b909
je 0x140066ec6
mov edx, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x50]
mov r8d, dword [0x1401d7fb0]
add r8d, dword [0x1401d7fb4]
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x33daebc5
mov r9d, 0xffffffff
xor r9d, 0x33daebc5
and r8d, r9d
sub r8d, eax
mov eax, 0xa52cbe44
xor eax, 0x459f3bea
or r8d, eax
mov eax, r8d
and eax, 0xf66a58e2
mov r9d, 0x2a7d1a27
xor r9d, 0xdc1742c5
or r8d, r9d
add eax, r8d
mov dword [rsp + 0x20], eax
call fcn.14006662d
mov eax, dword [rsp + 0x20]
cmp eax, 0x3645a58f
je 0x140066e23
jmp 0x140066e9d
add rsp, 0x58
ret
add esi, dword [rbx + 0x4f]
jmp 0x14006685c
invalid
cmp eax, eax
adc byte [rcx], bl
jmp 0x140066b46
sub eax, 0xe9c6aaed
idiv ch
invalid
xor al, 0xe6
mov al, 0x74
jmp 0x140066e23