Function at 0x140199820
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xa8
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], rcx
mov ecx, dword [0x1401d2a38]
xor ecx, 0x237d65ab
mov r8d, dword [0x1401d2a3c]
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 edx, 0x2410165f
xor edx, 0xdbefe9a0
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x22120561
and eax, edx
or ecx, 0x22120561
mov edx, 0x131800d9
xor edx, 0xece7ff26
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
and eax, 0x634b5332
mov r8d, 0xffffffff
xor r8d, 0x88053073
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x88053073
or eax, 0x88053073
imul eax, edx
add eax, ecx
cmp eax, 0x414fb6b6
jae 0x140199dd2
mov r10, qword [rsp + 0x98]
mov ecx, dword [0x1401d2a40]
or ecx, dword [0x1401d2a44]
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0x57a98d8
mov r8d, 0x942d02e0
xor r8d, 0x91579a38
mov r9d, 0x241d34a6
xor r9d, 0xdbe2cb59
xor r8d, r9d
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, 0xdd4d101c
xor edx, 0x22b2efe3
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x57a98d8
and ecx, edx
mov edx, 0x48b7e944
xor edx, 0xb74816bb
xor eax, edx
mov edx, 0xf7f25bc7
xor edx, 0x80da438
xor ecx, edx
and eax, ecx
mov edx, 0xb3c50e7d
xor edx, 0x4c3af182
mov ecx, eax
xor ecx, edx
mov edx, 0x9359eade
xor edx, 0x67f14acb
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xf4a8a015
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xf4a8a015
or eax, 0xf4a8a015
imul eax, edx
add eax, ecx
mov ecx, 0x2c03e260
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x90]
mov ecx, 0xd11c751d
xor ecx, 0x213435a3
mov r8, qword [rdx]
mov qword [rsp + 0x68], r8
mov rdx, qword [rdx + 8]
xor r9d, r9d
test r10, r10
cmovg r9, r10
mov qword [rsp + 0x70], r9
add rdx, 8
mov qword [rsp + 0x78], rdx
cmp r8, 0
sete dl
mov byte [rsp + 0x87], dl
xor edx, edx
test r8, r8
cmovg rdx, r8
mov qword [rsp + 0x88], rdx
cmp eax, ecx
ja 0x140199dd2
xor eax, eax
mov qword [rsp + 0x60], rax
jmp 0x140199a2a
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x50], rcx
mov rax, 0xffffffffffffffff
cmp rcx, rdx
mov qword [rsp + 0x58], rax
je 0x140199cc4
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x50]
shl rax, 4
add rdx, rax
mov rax, qword [rdx]
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x48], rdx
cmp rax, rcx
jne 0x140199c04
mov eax, dword [0x1401d2a48]
xor eax, 0xcc7b0f53
mov r8d, dword [0x1401d2a4c]
mov ecx, 0x53eed18c
xor ecx, 0xe046591c
xor r8d, ecx
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0x904f6b83
xor ecx, 0x8a123cea
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xc8debaec
mov r8d, 0xffffffff
xor r8d, 0xc8debaec
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xc8debaec
mov r8d, 0x641aa6c5
xor r8d, 0xacc41c29
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0xdab8c68f
xor ecx, 0xffffffff
mov edx, 0x8fcb1d40
xor edx, 0x5573dbcf
add eax, edx
add eax, 1
add eax, ecx
cmp eax, 0x7930b98d
jb 0x140199ddb
mov eax, dword [0x1401d2a50]
mov ecx, dword [0x1401d2a54]
xor ecx, 0xad274c77
xor edx, edx
div ecx
mov ecx, 0x15b90e77
xor ecx, 0xe496e9d5
add eax, ecx
mov ecx, 0x3b0ebd25
xor ecx, 0x19bb6d1c
xor edx, edx
div ecx
mov ecx, 0x9ce96a96
xor ecx, 0xef0ec512
or eax, ecx
mov ecx, 0x42e7978b
xor ecx, 0x69ae2fe0
cmp eax, ecx
jbe 0x140199b23
mov rax, qword [rsp + 0x50]
mov cl, byte [rsp + 0x87]
test cl, 1
mov qword [rsp + 0x58], rax
jne 0x140199cc4
jmp 0x140199b94
mov rax, qword [rsp + 0x48]
add rax, 8
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x30], rcx
cmp rcx, rdx
mov qword [rsp + 0x58], rax
je 0x140199cc4
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x38]
mov cl, byte [rcx + rax]
mov dl, byte [rdx + rax]
xor r8d, r8d
sub r8, rax
xor eax, eax
sub rax, 1
add r8, rax
xor eax, eax
sub rax, r8
cmp cl, dl
mov qword [rsp + 0x40], rax
je 0x140199ba9
mov r8, qword [rsp + 0x50]
movabs rcx, 0x93e0a9df33554404
mov rax, r8
add rax, rcx
add rax, 1
movabs rcx, 0x93e0a9df33554404
sub rax, rcx
xor r8, 0xffffffffffffffff
movabs rdx, 0x168d7697ddcdb216
movabs rcx, 0xe972896822324de9
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
xor r8, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r9, 0x91c76524e7fd633
xor rdx, r9
or rcx, r8
movabs r8, 0x91c76524e7fd633
or rdx, r8
movabs r8, 0x83b34a395a7a044e
movabs r9, 0x7c4cb5c6a585fbb1
xor r8, r9
xor rcx, r8
and rcx, rdx
movabs rdx, 0x9884814c9f8a128b
movabs r8, 0x9884814c9f8a128b
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x60], rax
jge 0x140199a2a
call fcn.140008024
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov eax, dword [0x1401d2a58]
mov ecx, dword [0x1401d2a5c]
xor ecx, 0x1331afa8
add eax, ecx
mov ecx, 0xdb68d99f
xor ecx, 0x2cc5b490
xor edx, edx
div ecx
mov ecx, 0xdbabc2d2
xor ecx, 0xdbabc2d2
sub ecx, eax
xor eax, eax
sub eax, 0xbf974646
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x56fc97eb
xor edx, edx
div ecx
cmp eax, 0x23addebd
ja 0x140199de4
mov rcx, qword [rsp + 0x28]
mov edx, dword [0x1401d2a60]
mov r9d, dword [0x1401d2a64]
mov r10d, r9d
xor r10d, 0xffffffff
mov r8d, edx
and r8d, r10d
mov eax, edx
or eax, r10d
xor eax, 0xffffffff
imul eax, r8d
mov r8d, edx
and r8d, r9d
or edx, r9d
imul edx, r8d
add edx, eax
mov eax, 0xa78c7f
xor eax, 0xed09e519
and edx, eax
mov eax, edx
and eax, eax
xor eax, 0xffffffff
and eax, 0x1de31c8
xor eax, 0xffffffff
mov r8d, 0x1de31c8
and r8d, 0x1de31c8
xor r8d, 0xffffffff
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
and eax, edx
mov edx, 0xf8d62c18
xor edx, 0x729d3e7
xor eax, edx
mov edx, 0x567f571f
xor edx, 0x4cb88422
xor eax, edx
cmp rcx, 0xffffffffffffffff
setg cl
mov byte [rsp + 0x27], cl
cmp eax, 0xdec86684
ja 0x140199de4
mov al, byte [rsp + 0x27]
and al, 1
movzx eax, al
add rsp, 0xa8
ret
sbb bh, dh
mov ecx, 0xfb10e94b
invalid
cmp al, 0x9f
mov cl, 0xd5
jmp 0x140199b23
test al, 0xdd
movabs byte [0x1f0fffffff32e95f], al
add byte [rax - 0x7d], cl
sub rsp, 0x78
invalid
mov dword [rsp + 0x60], edx
mov qword [rsp + 0x68], rcx
mov rax, qword [rdx]
mov qword [rsp + 0x70], rax
cmp rax, 0
jle 0x14019a156
mov rdx, qword [rsp + 0x70]
movabs rcx, 0x535dc5e86d0500c2
movabs rax, 0x535dc5e86d0500c3
xor rcx, rax
mov rax, rdx
and rax, rcx
mov rcx, rdx
or rcx, 1
add rax, rcx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x58], eax
mov rcx, rdx
and rcx, rcx
xor rcx, 0xffffffffffffffff
and rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
and rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x639d50695e1a8422
movabs r9, 0x9c62af96a1e57bdd
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
and rax, rcx
movabs rcx, 0x875bafe32fc10eb6
movabs rdx, 0x875bafe32fc10eb6
xor rcx, rdx
cmp rax, rcx
jge 0x140199ec1
call fcn.140008024
jmp 0x14019a156
mov rax, qword [rsp + 0x58]
movabs rcx, 0x51f3167528a857d7
movabs rdx, 0x51f3167528a857d7
xor rcx, rdx
cmp rax, rcx
jge 0x140199fff
mov eax, dword [0x1401d2a68]
mov ecx, 0xae557617
xor ecx, 0x55b74c51
xor eax, ecx
mov edx, dword [0x1401d2a6c]
mov ecx, eax
and ecx, edx
xor eax, edx
or ecx, eax
mov eax, 0x155fd75e
xor eax, 0x155fd75e
mov edx, 0x75092f4f
xor edx, 0xa9555bc6
sub eax, edx
add ecx, eax
mov edx, 0x84d8e925
xor edx, 0x7b2716da
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xf395c29
and ecx, 0xf395c29
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
or eax, 0x29d3e0c4
mov ecx, 0x9afb584f
xor ecx, 0xfb4ac84b
cmp eax, ecx
ja 0x14019a15b
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x1401d2a70]
mov edx, 0xca4620f
xor edx, 0xec857a3
xor eax, edx
imul eax, dword [0x1401d2a74]
mov r8d, eax
xor r8d, 0xf57d00cf
xor r8d, 0xffffffff
and r8d, 0xf57d00cf
mov edx, 0x14aee7ae
xor edx, 0x14aee7ac
imul edx, r8d
sub edx, 0xf57d00cf
sub eax, edx
mov edx, 0xabae314a
xor edx, 0xabae314a
mov r8d, 0x4bf87e11
xor r8d, 0xd5a31da2
sub edx, r8d
sub eax, edx
mov edx, 0xd48952eb
xor edx, 0xf3535a2d
add eax, edx
mov dword [rsp + 0x54], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000c8ac
mov eax, dword [rsp + 0x54]
cmp eax, 0x3ba7ba28
je 0x140199f5f
jmp 0x14019a156
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rdx + 8]
add rcx, 8
add rcx, qword [rdx]
mov qword [rsp + 0x38], rcx
mov rax, qword [rax + 8]
add rax, 8
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rax
cmp rax, rcx
je 0x14019a08f
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov dl, byte [rdx + rax]
mov byte [rcx + rax], dl
movabs rcx, 0x42564407f6b29e8f
movabs rdx, 0x4f7d1e9512ff2f6c
xor rcx, rdx
add rax, rcx
add rax, 1
movabs rcx, 0xd2b5a92e44db1e3
sub rax, rcx
mov qword [rsp + 0x48], rax
jmp 0x14019a02d
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov r8, qword [rcx]
mov rdx, r8
and rdx, rax
movabs rcx, 0x4534a2e1a4cf75a7
movabs r9, 0x4534a2e1a4cf75a5
xor rcx, r9
imul rdx, rcx
mov rcx, r8
xor rcx, rax
add rcx, rdx
mov qword [rsp + 0x28], rcx
mov r9, rcx
xor r9, rax
xor r9, 0xffffffffffffffff
mov rdx, rax
and rdx, r9
shl rdx, 1
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov rdx, rcx
xor rdx, r8
xor rdx, 0xffffffffffffffff
mov r9, r8
and r9, rdx
movabs rdx, 0x3dbeb7dfb6e9d194
movabs r10, 0x3dbeb7dfb6e9d196
xor rdx, r10
imul rdx, r9
sub rdx, r8
sub rcx, rdx
and rax, rcx
movabs rcx, 0xb8243c8fe59d23e
movabs rdx, 0xb8243c8fe59d23e
xor rcx, rdx
cmp rax, rcx
jge 0x14019a149
call fcn.140008024
jmp 0x14019a156
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
add rsp, 0x78
ret
or dword [rbx + 0x46], ecx
imul ecx
sti
std
invalid