Function at 0x140139590
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x190
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x18], rcx
mov eax, 0x20
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x20], rax
sub rsp, 0x20
call fcn.14016c2bc
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov qword [rbp + 0x38], rax
add rax, 0x50
mov qword [rbp + 0x30], rax
movabs rax, 0x1dcf3d224a60608a
movabs rdx, 0x1dcf3d224a60608a
xor rax, rdx
mov qword [rcx], rax
mov qword [rcx + 8], 0
mov word [rbp + 0x10e], 0xc
lea rcx, [rbp + 0x10e]
sub rsp, 0x20
call fcn.1400613a0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x40], rcx
cmp byte [rax + 0x50], 0
jne 0x140139f48
movabs rdx, 0xccd6bf713dafdcbe
movabs rax, 0xccd6bf713dafdcae
xor rdx, rax
lea rcx, [rbp + 0xf8]
sub rsp, 0x20
call fcn.140139340
mov rax, qword [rbp + 0x40]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0xa0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xa8], rax
movabs rdx, 0x596a4f8e88b7064d
movabs rax, 0xa695b07108b7064f
xor rdx, rax
mov r9d, 0xf3f7724b
xor r9d, 0xf3f57252
lea rcx, [rbp + 0xf8]
lea r8, [rbp + 0xa0]
sub rsp, 0x20
call fcn.1400d0500
mov rax, qword [rbp + 0x30]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x11
xor cl, 0x11
cmp al, cl
jne 0x140139f48
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x10], rax
mov al, byte [rbp + 0x100]
mov cl, 0x71
xor cl, 0x71
cmp al, cl
jne 0x1401397a5
mov eax, dword [0x1401fba48]
add eax, dword [0x1401fba4c]
or eax, 0x3020df7
xor eax, 0x8b3f6498
imul eax, eax, 0xee636427
cmp eax, 0x1fa365ce
je 0x14013a139
mov eax, dword [0x1401fba50]
mov edx, dword [0x1401fba54]
xor edx, 0xd347d014
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov ecx, 0x578e3f5f
xor ecx, 0x3fecc290
sub eax, ecx
mov ecx, 0x99234dd7
xor edx, edx
div ecx
mov ecx, 0x5fac07ff
xor edx, edx
div ecx
mov dword [rbp + 8], eax
mov eax, 0x195b5b02
xor eax, 0x6eb8f5b4
mov dword [rbp + 4], eax
sub rsp, 0x20
call fcn.140080580
mov rdx, qword [rbp + 0x30]
mov ecx, dword [rbp + 4]
add rsp, 0x20
mov eax, dword [rbp + 8]
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0xf], dl
cmp eax, ecx
ja 0x14013a139
mov al, byte [rbp + 0xf]
test al, 1
jne 0x140139787
jmp 0x140139f48
mov rax, qword [rbp + 0x28]
mov rcx, qword [0x1402087f8]
mov qword [rax], rcx
mov rcx, qword [0x140208800]
mov qword [rax + 8], rcx
jmp 0x14013a06f
lea rcx, [rbp + 0xe0]
mov edx, 0x18
sub rsp, 0x20
call fcn.140139340
add rsp, 0x20
lea rcx, [rbp + 0xc0]
mov edx, 0x18
sub rsp, 0x20
call fcn.140139340
add rsp, 0x20
mov qword [rbp + 0xb0], 0
lea rax, [rbp + 0xb0]
add rax, 8
mov qword [rbp - 0x10], rax
mov qword [rbp + 0xb8], 0
mov word [rbp + 0x9e], 0x5b1
lea rcx, [rbp + 0x9e]
sub rsp, 0x20
call fcn.1400613a0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x30]
mov qword [rbp - 8], rcx
cmp byte [rax], 0
jne 0x140139c1d
mov rax, qword [rbp - 8]
mov rcx, qword [rax]
mov qword [rbp + 0x78], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x80], rax
lea rcx, [rbp + 0x88]
lea rdx, [rbp + 0x78]
sub rsp, 0x20
call fcn.14001c672
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov rax, qword [rbp + 0x88]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 0x90]
mov qword [rbp - 0x18], rax
mov edx, 0x18
sub rsp, 0x20
call fcn.140139340
mov r8, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x10]
add rsp, 0x20
mov qword [rbp + 0x68], r8
mov qword [rbp + 0x70], rax
lea r8, [rbp + 0x68]
sub rsp, 0x20
call fcn.1400d1b90
mov rax, qword [rbp + 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140139c1d
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0xf0], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0xe0], xmm0
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0xd0], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0xc0], xmm0
sub rsp, 0x20
lea rcx, [rbp + 0xe0]
call fcn.14005e351
mov rax, qword [rbp + 0x30]
add rsp, 0x20
mov cl, byte [rbp + 0xd0]
test cl, cl
sete cl
mov byte [rbp - 0x22], cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 0x21], al
or al, cl
test al, 1
jne 0x140139965
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x58], rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0x60], rax
lea rcx, [rbp + 0xb0]
lea rdx, [rbp + 0x58]
sub rsp, 0x20
call fcn.1400191eb
mov rax, qword [rbp + 0x30]
add rsp, 0x20
cmp byte [rax], 0
setne al
mov byte [rbp - 0x23], al
jmp 0x1401399c4
mov al, byte [rbp - 0x21]
test al, 1
jne 0x140139c1d
jmp 0x140139975
lea rcx, [rbp + 0x48]
sub rsp, 0x20
call fcn.140080790
mov rax, qword [rbp + 0x30]
add rsp, 0x20
mov rcx, qword [rbp + 0x48]
mov qword [rbp - 0x38], rcx
mov rcx, qword [rbp + 0x50]
mov qword [rbp - 0x30], rcx
mov al, byte [rax]
mov cl, 0x78
xor cl, 0x78
cmp al, cl
jne 0x140139c1d
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x38]
mov qword [rbp + 0xb0], rdx
mov qword [rax], rcx
xor eax, eax
mov byte [rbp - 0x23], al
mov cl, byte [rbp - 0x22]
mov al, byte [rbp - 0x23]
mov byte [rbp - 0x39], al
or al, cl
test al, 1
jne 0x140139c2e
mov eax, dword [0x1401fba58]
xor edx, edx
div dword [0x1401fba5c]
mov ecx, eax
mov eax, ecx
and eax, 0xcea0c0a
mov edx, 0xb66804d1
xor edx, 0x4997fb2e
xor eax, edx
and ecx, 0xcea0c0a
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov edx, 0x5b82dc17
xor edx, 0x89f84585
mov ecx, 0x284d1029
xor ecx, 0xd7b2efd6
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xd27a9992
add eax, edx
sub eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x8c7af0c4
add eax, ecx
cmp eax, 0xa7065049
jae 0x14013a142
mov rax, qword [rbp + 0x28]
mov r8d, dword [0x1401fba60]
mov ecx, dword [0x1401fba64]
mov edx, r8d
xor edx, ecx
mov r9d, 0xeed4e275
xor r9d, 0x112b1d8a
xor ecx, r9d
and r8d, ecx
mov ecx, 0x9b0bdc0d
xor ecx, 0x9b0bdc0f
imul ecx, r8d
sub ecx, edx
sub ecx, 0x62b02ee8
and ecx, 0x3a926ac7
xor ecx, 0x4825f2c3
mov dword [rbp - 0x4c], ecx
mov rcx, qword [rbp + 0xb0]
mov qword [rax], rcx
mov rcx, qword [rbp + 0xb8]
mov qword [rax + 8], rcx
lea rcx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.140011315
mov rcx, qword [rbp - 0x10]
mov eax, dword [rbp - 0x4c]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x3a], cl
cmp eax, 0x2d94b08c
je 0x140139a4b
mov al, byte [rbp - 0x3a]
test al, 1
jne 0x140139bb1
jmp 0x140139af6
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
movabs rcx, 0xff7266b62c2918fb
movabs rdx, 0xbf7266b62c2918fb
xor rcx, rdx
movabs rdx, 0x1760d1a8f1bf74a0
movabs r8, 0xe89f2e570e408b5f
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x1f0da3c573201ac3
xor rdx, r8
or rax, rcx
movabs rcx, 0x6cd3f11381067257
movabs r8, 0x73de52d6f2266894
xor rcx, r8
or rcx, rdx
movabs rdx, 0x88339c11730cc9d4
movabs r8, 0x77cc63ee8cf3362b
xor rdx, r8
xor rax, rdx
and rax, rcx
movabs rcx, 0x42c58f3e63452073
movabs rdx, 0x42c58f3e63452073
xor rcx, rdx
cmp rax, rcx
jne 0x140139bb1
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
lea rcx, [rbp + 0xc0]
sub rsp, 0x20
call fcn.14005e380
mov rax, qword [rbp + 0x30]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x39
xor cl, 0x39
cmp al, cl
jne 0x140139c29
lea rcx, [rbp + 0xe0]
sub rsp, 0x20
call fcn.14005e380
mov rax, qword [rbp + 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140139c29
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.1400d144e
mov rax, qword [rbp + 0x30]
add rsp, 0x20
mov al, byte [rax]
cmp al, 0
je 0x14013a06f
jmp 0x140139f48
mov rax, qword [rbp + 0x30]
mov byte [rax], 0
jmp 0x140139ee1
jmp 0x140139f1c
mov al, byte [rbp - 0x39]
test al, 1
jne 0x140139e82
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp + 0x28]
mov rdx, qword [0x1402087f8]
mov qword [rcx], rdx
mov rdx, qword [0x140208800]
mov qword [rcx + 8], rdx
mov rax, qword [rax]
mov qword [rbp - 0x58], rax
cmp rax, 0
je 0x140139d24
mov eax, dword [0x1401fba68]
or eax, dword [0x1401fba6c]
sub eax, 0xc7684261
add eax, 0x110b7086
add eax, 0xc7684261
mov edx, eax
xor edx, 0x56be3b67
xor edx, 0xffffffff
and edx, 0x56be3b67
mov ecx, 0xcc574a97
xor ecx, 0xcc574a95
imul ecx, edx
sub ecx, 0x56be3b67
sub eax, ecx
imul eax, eax, 0xc3e9bf56
cmp eax, 0xb2349a1f
je 0x14013a14b
mov rdx, qword [rbp - 0x58]
mov eax, dword [0x1401fba70]
xor eax, dword [0x1401fba74]
or eax, 0xe68bf815
xor eax, 0x1971c9f2
mov ecx, 0x8c6e4ed7
xor ecx, 0xaaf23f37
xor eax, ecx
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
sete cl
mov byte [rbp - 0x59], cl
cmp eax, 0x5be6da59
je 0x140139cba
mov al, byte [rbp - 0x59]
test al, 1
jne 0x140139d13
jmp 0x140139d24
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
mov edx, dword [0x1401fba78]
mov ecx, dword [0x1401fba7c]
xor ecx, 0x3cb39284
mov eax, edx
and eax, ecx
shl eax, 1
xor edx, ecx
add edx, eax
add edx, 0x7842c114
mov eax, edx
xor eax, 0x19aad38b
mov ecx, 0x189eb703
xor ecx, 0xe76148fc
xor eax, ecx
and eax, 0x19aad38b
shl eax, 1
sub eax, 0x19aad38b
sub edx, eax
mov ecx, edx
xor ecx, 0x3f64d02d
mov eax, 0xffffffff
xor eax, 0x3f64d02d
and edx, eax
mov eax, 0xf2e2309a
xor eax, 0xf2e23098
imul eax, edx
sub eax, ecx
cmp eax, 0x78239f6f
jae 0x14013a154
mov eax, dword [0x1401fba80]
mov edx, dword [0x1401fba84]
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
imul ecx, eax, 0xd0085920
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x4868fc0a
or eax, edx
and ecx, 0x4868fc0a
mov edx, 0xf5466a9b
xor edx, 0xab99564
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x2a0b3005
mov edx, 0xffffffff
xor edx, 0x2a0b3005
and eax, edx
sub eax, ecx
mov dword [rbp - 0x60], eax
lea rcx, [rbp + 0xc0]
sub rsp, 0x20
call fcn.14005e380
mov rcx, qword [rbp + 0x30]
mov eax, dword [rbp - 0x60]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x5a], cl
cmp eax, 0xb2935bd0
jb 0x14013a154
mov al, byte [rbp - 0x5a]
test al, 1
jne 0x140139e3e
jmp 0x140139f1c
lea rcx, [rbp + 0xe0]
sub rsp, 0x20
call fcn.14005e380
mov rax, qword [rbp + 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140139f1c
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.1400d144e
mov rax, qword [rbp + 0x30]
add rsp, 0x20
cmp byte [rax], 0
je 0x14013a06f
jmp 0x140139f48
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
mov dl, 0x65
xor dl, 0x65
mov byte [rcx], dl
cmp rax, 0
je 0x140139ee1
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x140139ee1
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
lea rcx, [rbp + 0xc0]
sub rsp, 0x20
call fcn.14005e380
mov rax, qword [rbp + 0x30]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x79
xor cl, 0x79
cmp al, cl
jne 0x140139f1c
lea rcx, [rbp + 0xe0]
sub rsp, 0x20
call fcn.14005e380
add rsp, 0x20
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x10]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1400d144e
mov rax, qword [rbp + 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140139f48
mov rax, qword [rbp + 0x30]
mov byte [rax], 1
sub rsp, 0x20
call fcn.140139522
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp word [rax + 0x12], 1
jle 0x14013a06f
mov rax, qword [rbp - 0x70]
mov rax, qword [rax + 0x18]
mov eax, dword [rax + 8]
mov ecx, 0x45274f71
xor ecx, 0x80556d10
cmp eax, ecx
jne 0x14013a06f
mov eax, dword [0x1401fba88]
xor eax, 0xcc648fc7
xor edx, edx
div dword [0x1401fba8c]
mov ecx, 0xc42c5830
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0x8a3fabed
sub eax, ecx
xor ecx, ecx
sub ecx, 0xaea9fae
sub eax, ecx
cmp eax, 0xd83eddae
je 0x14013a15d
mov eax, dword [0x1401fba90]
xor edx, edx
div dword [0x1401fba94]
mov ecx, eax
mov rax, qword [rbp + 0x30]
sub ecx, 0xa6d6eb14
mov r8d, 0xbdb29c87
xor r8d, 0x9e321418
mov edx, ecx
and edx, r8d
shl edx, 1
xor ecx, 0x2380889f
add ecx, edx
xor ecx, 0x61c33b2b
mov dword [rbp - 0x78], ecx
mov ecx, 0x2e1645b3
xor ecx, 0xae2f7a85
mov dword [rbp - 0x7c], ecx
mov byte [rax], 0
sub rsp, 0x20
call fcn.140139534
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.140093060
mov rdx, qword [rbp + 0x30]
mov ecx, dword [rbp - 0x7c]
mov eax, dword [rbp - 0x78]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0xf3
xor r8b, 0xf3
cmp dl, r8b
sete dl
mov byte [rbp - 0x71], dl
cmp eax, ecx
je 0x14013a15d
mov al, byte [rbp - 0x71]
test al, 1
jne 0x14013a062
jmp 0x14013a06f
sub rsp, 0x20
call fcn.140139561
add rsp, 0x20
mov eax, dword [0x1401fba98]
mov r8d, dword [0x1401fba9c]
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 ecx, 0x32273fcc
xor ecx, 0x3c3af5d
sub eax, ecx
mov ecx, 0x206d9a60
xor edx, edx
div ecx
mov ecx, 0xc1229168
xor ecx, 0xa87248f5
or eax, ecx
cmp eax, 0xc05d4de0
je 0x14013a166
mov eax, dword [0x1401fbaa0]
xor eax, 0xa7a91825
mov r8d, dword [0x1401fbaa4]
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, 0xedf6fc6a
xor edx, edx
div ecx
add eax, 0xf99bef1b
or eax, 0x76224c9c
mov ecx, 0x512ebc7f
xor ecx, 0x5b964428
cmp eax, ecx
jbe 0x14013a0d0
mov rax, qword [rbp + 0x18]
lea rsp, [rbp + 0x110]
pop rbp
ret
cmp ch, bh
clc
adc al, 0xe9
invalid
test eax, 0xe963951e
add cl, bh
invalid
or dl, byte [rbx - 0x69]
stc
jmp 0x140139cba
mov dh, 0x87
jbe 0x14013a18d
jmp 0x140139d98
invalid
xchg ecx, eax
xor eax, 0x61e9f28a
invalid