Function at 0x140069020
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x40], rcx
call fcn.140067645
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x50], rax
cmp rdx, 0xffffffffffffffe0
jge 0x1400694a4
mov rax, qword [rsp + 0x48]
cmp rax, 0xffffffff80000000
jae 0x14006908f
mov rcx, qword [rsp + 0x40]
mov edx, 0xd3
call fcn.1400322e0
mov rax, qword [rsp + 0x50]
mov al, byte [rax]
mov cl, 0x92
xor cl, 0x92
cmp al, cl
jne 0x1400698c5
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
call fcn.140068db0
jmp 0x1400698c5
mov eax, dword [0x1401f6168]
xor eax, 0x25e6766c
xor edx, edx
div dword [0x1401f616c]
mov ecx, eax
add ecx, 0xfd079bfe
sub ecx, 0x62cd00f9
add ecx, 0x7cc1de03
mov eax, 0x4bbc4bc6
xor eax, 0x29714b3f
add ecx, eax
mov eax, ecx
and eax, 0xc4727fe9
xor eax, 0xffffffff
mov edx, 0x67e7eac8
xor edx, 0x98181537
xor ecx, edx
mov edx, 0xf725c7c1
xor edx, 0x3357b828
mov r8d, 0x3c5b113c
xor r8d, 0xc3a4eec3
xor edx, r8d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x52cb0f0f
xor ecx, 0xbd4bf9ea
cmp eax, ecx
ja 0x1400698cb
mov rdx, qword [rsp + 0x48]
mov eax, dword [0x1401f6170]
imul eax, dword [0x1401f6174]
add eax, 0x1836399a
xor eax, 0x47875ca4
add eax, 0x13b8585
mov ecx, 0x7d6042eb
xor ecx, 0x571b7c02
add eax, ecx
sub eax, 0x13b8585
mov ecx, 0x11d6efef
xor ecx, 0x5c5bec8c
cmp rdx, 0xffffffffffff8000
setb dl
mov byte [rsp + 0x3f], dl
cmp eax, ecx
jae 0x14006910e
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x140069173
jmp 0x1400691a6
mov rcx, qword [rsp + 0x40]
mov edx, 0xd2
call fcn.1400322e0
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
jne 0x1400698c5
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov edx, eax
call fcn.140067b30
jmp 0x1400698c5
mov rax, qword [rsp + 0x48]
cmp rax, 0xffffffffffffff80
jae 0x140069305
mov rcx, qword [rsp + 0x40]
mov edx, 0xd1
call fcn.1400322e0
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
jne 0x1400698c5
mov eax, dword [0x1401f6178]
mov edx, dword [0x1401f617c]
xor edx, 0x636fda89
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
imul edx, eax, 0x15a85cd8
mov ecx, edx
xor ecx, 0xd74f7b11
mov eax, 0xffffffff
xor eax, 0xd74f7b11
and edx, eax
mov eax, 0x3c0cfe81
xor eax, 0x3c0cfe83
imul eax, edx
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xf78635a8
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xd5d66ab5
xor r8d, 0x2a29954a
xor ecx, r8d
imul ecx, edx
mov r8d, 0x328571a
xor r8d, 0xf4ae62b2
mov edx, eax
and edx, r8d
or eax, 0xf78635a8
imul eax, edx
add eax, ecx
cmp eax, 0xf3282d07
ja 0x1400698d4
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x1401f6180]
mov r9d, dword [0x1401f6184]
mov edx, 0x4c8bfcb8
xor edx, 0xb3740347
mov r10d, r9d
xor r10d, edx
mov r8d, eax
and r8d, r10d
mov edx, eax
or edx, r10d
mov r10d, 0x121b7174
xor r10d, 0xede48e8b
xor edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, 0x227f3cf1
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rsp + 0x48]
xor edx, 0xd2a5f3ac
mov r8d, 0x91ced52a
xor r8d, 0x528e95be
sub edx, r8d
mov dword [rsp + 0x38], edx
mov dx, ax
call fcn.140067a5d
mov eax, dword [rsp + 0x38]
cmp eax, 0x80193767
jae 0x1400698d4
jmp 0x1400698c5
mov eax, dword [0x1401f6188]
mov ecx, 0x672ae276
xor ecx, 0xe2bb51f9
xor eax, ecx
mov ecx, dword [0x1401f618c]
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xce2323db
or eax, ecx
mov ecx, 0x4a085e27
xor ecx, 0x842b7dfc
or ecx, edx
mov edx, 0x6f6f14f4
xor edx, 0x9090eb0b
xor eax, edx
and eax, ecx
mov ecx, 0x3e454ece
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xd8ed8105
xor edx, 0x26f53def
mov r8d, 0x49ae80f2
xor r8d, 0xb7b63c18
or edx, r8d
xor edx, 0xffffffff
mov r8d, 0x92da7b50
xor r8d, 0x6d2584af
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xfe18bcea
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xfa22671b
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xfa22671b
or eax, 0xfa22671b
imul eax, edx
add eax, ecx
mov ecx, 0x4595c6fd
xor ecx, 0x210677a4
cmp eax, ecx
ja 0x1400698dd
mov rcx, qword [rsp + 0x40]
mov edx, dword [0x1401f6190]
mov r9d, dword [0x1401f6194]
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 r8d, 0xffffffff
xor r8d, 0xe231a729
mov eax, edx
xor eax, r8d
and eax, edx
mov edx, 0xffffffff
xor edx, 0x44c26274
add eax, edx
add eax, 1
xor eax, 0x7bab2b73
mov dword [rsp + 0x30], eax
mov edx, 0xd0
call fcn.1400322e0
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x30]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x37], cl
cmp eax, 0x1900c172
je 0x1400698dd
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14006948e
jmp 0x1400698c5
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov dl, al
call fcn.1400322e0
jmp 0x1400698c5
mov ecx, dword [0x1401f6198]
mov edx, dword [0x1401f619c]
xor eax, eax
sub eax, edx
sub ecx, eax
mov edx, 0xffffffff
xor edx, 0xbd462191
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x75bf1779
xor ecx, 0x61fdcb26
mov edx, 0x5c1a41e5
xor edx, 0xa3e5be1a
xor ecx, edx
add eax, ecx
add eax, 1
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xcfa5a88e
add eax, ecx
cmp eax, 0xe356f2d8
ja 0x1400698e6
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x1401f61a0]
or eax, dword [0x1401f61a4]
mov r8d, 0x829b88b7
xor edx, edx
div r8d
mov edx, eax
mov r8d, 0xd34e5883
xor r8d, 0x2cb1a77c
mov eax, edx
xor eax, r8d
and eax, 0x2f8f01d0
mov r8d, 0x8425b067
xor r8d, 0xabaab1b7
mov r9d, 0xc76fa4ad
xor r9d, 0x38905b52
xor r8d, r9d
and edx, r8d
or eax, edx
mov edx, 0xdcef0ea5
xor edx, 0xf564c7a4
xor eax, edx
cmp rcx, 0x80
setl cl
mov byte [rsp + 0x2f], cl
cmp eax, 0x63979c80
ja 0x1400694fe
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x14006958c
jmp 0x1400696b2
mov ecx, dword [0x1401f61a8]
mov eax, 0x2e2f11f3
xor eax, 0x36088d11
xor ecx, eax
mov r8d, dword [0x1401f61ac]
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, r8d
xor eax, 0xffffffff
mov edx, r8d
xor edx, 0xffffffff
mov r9d, 0x53b33292
xor r9d, 0xac4ccd6d
xor r8d, r9d
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
mov edx, 0x3f3259a2
xor edx, 0xc0cda65d
xor eax, edx
mov edx, 0x582da246
xor edx, 0xa7d25db9
xor ecx, edx
or eax, ecx
sub eax, 0xe0a699c2
add eax, 0xa824e67c
add eax, 0xe0a699c2
mov ecx, 0x6b824991
xor ecx, 0xb7618d8e
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0xd05d5dbe
xor ecx, 0xd05d5dbe
or eax, ecx
cmp eax, 0xdb9bb4f6
ja 0x1400698ef
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x1401f61b0]
mov r8d, dword [0x1401f61b4]
mov edx, 0xba582951
xor edx, 0xc5ec9651
xor r8d, edx
xor edx, edx
div r8d
imul eax, eax, 0xb02df83b
mov r8d, 0xa8b02bdf
xor r8d, 0x2a99de76
xor edx, edx
div r8d
mov r8d, 0xaa04ce90
xor edx, edx
div r8d
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x2e], cl
cmp eax, 0xda1ac2e
jae 0x1400698ef
mov al, byte [rsp + 0x2e]
test al, 1
jne 0x14006969c
jmp 0x1400698c5
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov dl, al
call fcn.1400322e0
jmp 0x1400698c5
mov rax, qword [rsp + 0x48]
movabs rcx, 0x386b5ca41e8b9b9
movabs rdx, 0x386b5ca41e8b8b9
xor rcx, rdx
cmp rax, rcx
jae 0x1400697e2
mov rcx, qword [rsp + 0x40]
mov dl, 0x7c
xor dl, 0xb0
call fcn.1400322e0
mov rax, qword [rsp + 0x50]
mov al, byte [rax]
mov cl, 0x1b
xor cl, 0x1b
cmp al, cl
jne 0x1400698c5
mov ecx, dword [0x1401f61b8]
mov edx, dword [0x1401f61bc]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
add eax, 0x5b2a2303
mov ecx, 0xffffffff
xor ecx, 0x3c411ada
add eax, ecx
add eax, 1
mov ecx, 0x214c0215
xor ecx, 0xf6ad53aa
or eax, ecx
cmp eax, 0xf3d3aec8
ja 0x1400698f8
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov edx, dword [0x1401f61c0]
and edx, dword [0x1401f61c4]
mov r8d, 0xd37ba6d
xor r8d, 0xc10320e4
sub edx, r8d
mov r9d, edx
xor r9d, 0xffffffff
and r9d, 0x39b946e1
mov r10d, 0x51713183
xor r10d, 0x68c87762
mov r8d, 0xec2664b6
xor r8d, 0x13d99b49
xor r10d, r8d
mov r8d, edx
and r8d, r10d
imul r8d, r9d
mov r9d, edx
and r9d, 0x39b946e1
or edx, 0x39b946e1
imul edx, r9d
add edx, r8d
or edx, 0x4183a8b4
mov dword [rsp + 0x28], edx
mov edx, 0x42d139b5
xor edx, 0x188f18ce
mov dword [rsp + 0x24], edx
mov dl, al
call fcn.140032470
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x28]
cmp eax, ecx
jb 0x1400698f8
jmp 0x1400698c5
mov rax, qword [rsp + 0x48]
movabs rcx, 0xf9ad59f88db5b5e9
movabs rdx, 0xf9ad59f88db4b5e9
xor rcx, rdx
cmp rax, rcx
jae 0x140069841
mov rcx, qword [rsp + 0x40]
mov edx, 0xcd
call fcn.1400322e0
mov rax, qword [rsp + 0x50]
mov al, byte [rax]
mov cl, 0x6d
xor cl, 0x6d
cmp al, cl
jne 0x1400698c5
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov dx, ax
call fcn.140067a5d
jmp 0x1400698c5
mov rax, qword [rsp + 0x48]
movabs rcx, 0xd1c07b3073240743
movabs rdx, 0xd1c07b3173240743
xor rcx, rdx
cmp rax, rcx
jae 0x140069899
mov rcx, qword [rsp + 0x40]
mov edx, 0xce
call fcn.1400322e0
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
jne 0x1400698c5
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov edx, eax
call fcn.140067b30
jmp 0x1400698c5
mov rcx, qword [rsp + 0x40]
mov dl, 0x51
xor dl, 0x9e
call fcn.1400322e0
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
jne 0x1400698c5
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
call fcn.140068db0
nop
add rsp, 0x58
ret
mov bh, 0x12
invalid
or bl, 0xad
xchg edx, eax
jmp 0x14006926c
push rsp
mov word [rdx - 0x4f71668], es
invalid
invalid
adc dl, byte [rax + 0x51]
mov dh, 0xe9
std
invalid
ret