Function at 0x14000dfd0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x138
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x110], rcx
call fcn.14000a534
mov qword [rsp + 0x118], rax
call fcn.14000a534
mov rcx, rax
mov rax, qword [rsp + 0x118]
add rcx, 0x60
mov qword [rsp + 0x120], rcx
mov rcx, rax
add rcx, 0x20
mov qword [rsp + 0x128], rcx
mov r8, qword [rax + 0x20]
movabs rcx, 0xce8ecaba51581917
mov rax, r8
sub rax, rcx
movabs rcx, 0x3616c9abe4b06e8b
movabs rdx, 0xc9e936541b4f9174
xor rcx, rdx
add rax, rcx
movabs rcx, 0xce8ecaba51581917
add rax, rcx
mov qword [rsp + 0x130], rax
mov rdx, rax
xor rdx, 0xffffffffffffffff
mov rcx, r8
and rcx, rdx
xor r8, 0xffffffffffffffff
mov rdx, rax
and rdx, r8
or rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg al
mov cl, al
xor cl, dl
xor cl, 0xff
or al, dl
and al, cl
test al, 1
jne 0x14000e0c8
mov rax, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x118]
add rcx, 0x30
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], rax
jmp 0x14000e0d2
call fcn.140007bb8
jmp 0x14000ecde
mov rcx, qword [rsp + 0x108]
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0xf0], rax
cmp rax, rcx
jl 0x14000e18d
mov r8, qword [rsp + 0x110]
mov rdx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
mov r9, rdx
shl r9, 4
mov rcx, rax
add rcx, r9
mov rcx, qword [rcx]
shl rdx, 4
add rax, rdx
add rax, 8
mov rdx, qword [rax]
call fcn.14000c8f0
mov rax, qword [rsp + 0x120]
mov al, byte [rax]
mov cl, 0x35
xor cl, 0x35
cmp al, cl
jne 0x14000ecde
mov rdx, qword [rsp + 0xf0]
mov rax, rdx
add rax, 0xffffffffffffffff
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg cl
and cl, dl
test cl, 1
mov qword [rsp + 0x100], rax
jne 0x14000e183
jmp 0x14000e0d2
call fcn.140007bb8
jmp 0x14000ecde
mov ecx, dword [0x1401d8678]
mov edx, dword [0x1401d867c]
mov eax, ecx
xor eax, 0xffffffff
and eax, edx
xor edx, 0xffffffff
and ecx, edx
sub ecx, eax
mov edx, 0x64d11e2d
xor edx, 0x3719130e
mov eax, ecx
and eax, edx
shl eax, 1
mov edx, 0xb47cc9be
xor edx, 0xe7b4c49d
xor ecx, edx
add ecx, eax
mov edx, 0xd1624d74
xor edx, 0x2e4b4d19
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xff29006d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
sub eax, 0xd2cb761d
mov ecx, 0x5d98b0d9
xor ecx, 0xdf1f8c9e
cmp eax, ecx
ja 0x14000ece9
mov r8, qword [rsp + 0x110]
mov eax, dword [0x1401d8680]
xor edx, edx
div dword [0x1401d8684]
xor eax, 0x6787009e
mov ecx, 0x3f50356c
xor edx, edx
div ecx
imul eax, eax, 0xda248eaa
mov ecx, 0xb77265e3
xor ecx, 0x8b8a9f72
mov rdx, qword [r8 + 0x48]
cmp rdx, qword [r8 + 0x40]
sete dl
mov byte [rsp + 0xef], dl
cmp eax, ecx
je 0x14000e207
mov rax, qword [rsp + 0x130]
mov cl, byte [rsp + 0xef]
test cl, 1
mov qword [rsp + 0xe0], rax
jne 0x14000e27b
jmp 0x14000e299
mov rax, qword [rsp + 0x110]
mov byte [rax + 0x50], 1
mov eax, 1
mov qword [rsp + 0xd8], rax
jmp 0x14000e47e
mov rdx, qword [rsp + 0x108]
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0xd0], rcx
mov eax, 2
cmp rcx, rdx
mov qword [rsp + 0xd8], rax
jl 0x14000e47e
mov r8, qword [rsp + 0x110]
mov rdx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
mov r9, rdx
shl r9, 4
mov rcx, rax
add rcx, r9
mov rcx, qword [rcx]
shl rdx, 4
add rax, rdx
add rax, 8
mov rdx, qword [rax]
call fcn.14000d7a7
mov rax, qword [rsp + 0x120]
cmp byte [rax], 0
jne 0x14000ecde
mov eax, dword [0x1401d8688]
and eax, dword [0x1401d868c]
imul eax, eax, 0xcab46242
mov r8d, 0xffffffff
xor r8d, 0x669c3285
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x669c3285
or eax, 0x669c3285
imul eax, edx
add eax, ecx
mov ecx, 0x91607a0f
xor ecx, 0x77f9cde3
imul eax, ecx
cmp eax, 0xa3aae7d7
jae 0x14000ecf2
mov r8, qword [rsp + 0xd0]
mov eax, dword [0x1401d8690]
mov ecx, dword [0x1401d8694]
add eax, 0xc34ce07e
sub eax, ecx
sub eax, 0xc34ce07e
mov ecx, 0x226ed84b
xor ecx, 0x2daeb221
sub eax, ecx
add eax, 0xff1964c6
add eax, 0xfc06a6a
add eax, 0xc4a2a11
sub eax, 0xba2f42fb
sub eax, 0xc4a2a11
add eax, 0x613c302e
add eax, 0xea673c14
sub eax, 0x613c302e
movabs rdx, 0x3b975b2e8362f6c0
mov rcx, r8
sub rcx, rdx
movabs rdx, 0xfee15dc899ab7d85
movabs r9, 0x11ea2376654827a
xor rdx, r9
add rcx, rdx
movabs rdx, 0xfbf225e62373f6c9
movabs r9, 0xc0657ec8a0110009
xor rdx, r9
add rcx, rdx
mov qword [rsp + 0xc0], rcx
mov rdx, rcx
xor rdx, r8
cmp rdx, 0
setl dl
movabs r8, 0x6966db9441cda3ea
movabs r9, 0x9699246bbe325c15
xor r8, r9
cmp rcx, r8
setg cl
and cl, dl
mov byte [rsp + 0xcf], cl
cmp eax, 0x5f7abcae
je 0x14000ecf2
mov rax, qword [rsp + 0xc0]
mov cl, byte [rsp + 0xcf]
test cl, 1
mov qword [rsp + 0xe0], rax
jne 0x14000e474
jmp 0x14000e299
call fcn.140007bb8
jmp 0x14000ecde
mov rcx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xa8], rax
add rcx, 0x18
mov qword [rsp + 0xb0], rcx
mov edx, 0x400
call fcn.14000aa47
xor eax, eax
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0xa0], rax
mov eax, dword [0x1401d8698]
mov ecx, dword [0x1401d869c]
xor ecx, 0x282d8d2c
add eax, ecx
or eax, eax
mov ecx, 0x5c023feb
xor ecx, 0xa3fdc014
xor eax, ecx
mov ecx, 0x3b815201
or ecx, 0x3b815201
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x8481c184
xor edx, edx
div ecx
xor eax, 0x14789346
cmp eax, 0x28df0a20
ja 0x14000ecfb
mov rcx, qword [rsp + 0xa0]
mov edx, dword [0x1401d86a0]
xor edx, 0xff38d2f8
mov r9d, dword [0x1401d86a4]
mov eax, edx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and eax, r9d
mov r8d, 0x9ef9b9e3
xor r8d, 0x6106461c
xor eax, r8d
mov r8d, r9d
xor r8d, 0xffffffff
xor r9d, 0xffffffff
or r8d, r9d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
xor eax, 0xffffffff
mov r8d, 0x6254e753
xor r8d, 0x9dab18ac
xor edx, r8d
or eax, edx
mov r8d, 0xbcafd23e
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x128]
mov r8d, eax
mov r9d, 0xffffffff
xor r9d, 0xbbc35e77
mov eax, r8d
xor eax, r9d
and eax, r8d
sub eax, 0xdcfe7beb
cmp rcx, qword [rdx]
setl cl
mov byte [rsp + 0x9f], cl
cmp eax, 0xcba0a41a
je 0x14000ecfb
mov al, byte [rsp + 0x9f]
test al, 1
jne 0x14000e5ff
jmp 0x14000e5dc
mov rax, qword [rsp + 0x110]
add rax, 0x28
mov qword [rsp + 0x88], rax
xor eax, eax
mov qword [rsp + 0x90], rax
jmp 0x14000e6a4
mov rdx, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x110]
mov r8, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
mov r10, rdx
shl r10, 4
mov rcx, rax
add rcx, r10
mov rcx, qword [rcx]
mov qword [rcx + 8], 0
shl rdx, 4
add rax, rdx
add rax, 8
mov rdx, qword [rax]
call fcn.14000d9c5
mov rcx, qword [rsp + 0x120]
mov rax, qword [rsp + 0xa0]
mov cl, byte [rcx]
mov dl, 0x31
xor dl, 0x31
movabs r8, 0xb8af59e7783e35e8
add rax, r8
add rax, 1
movabs r8, 0x5b227ebf1113be4f
movabs r9, 0xe38d2758692d8ba7
xor r8, r9
sub rax, r8
cmp cl, dl
mov qword [rsp + 0xb8], rax
je 0x14000e4b6
jmp 0x14000ecde
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x80], rax
mov eax, dword [0x1401d86a8]
add eax, dword [0x1401d86ac]
xor eax, 0xffffffff
mov ecx, 0x9934f7f0
xor ecx, 0x4c7e7bb6
mov edx, 0xba2a6a22
xor edx, 0x45d595dd
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x648e227d
or eax, ecx
mov ecx, 0xbf376859
xor ecx, 0xdbb94a24
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x20d865cc
xor ecx, 0xf9deb6f4
or eax, ecx
mov ecx, 0x7bf93718
xor ecx, 0xb04f4e55
or eax, ecx
mov ecx, 0x7448c138
xor ecx, 0xc41d2d5c
cmp eax, ecx
jbe 0x14000ed04
mov rcx, qword [rsp + 0x80]
mov eax, dword [0x1401d86b0]
xor eax, 0xae0a7236
mov r8d, dword [0x1401d86b4]
mov edx, eax
xor edx, r8d
xor r8d, 0xffffffff
and eax, r8d
shl eax, 1
sub eax, edx
mov r8d, 0x71d68962
xor edx, edx
div r8d
mov edx, 0xfffcbb5a
xor edx, 0x55e66c30
imul eax, edx
mov r8d, 0x6deea415
xor edx, edx
div r8d
mov rdx, qword [rsp + 0xb0]
mov rdx, qword [rdx]
mov qword [rsp + 0x70], rdx
cmp rcx, rdx
setl cl
mov byte [rsp + 0x7f], cl
cmp eax, 0x7f767c95
jae 0x14000ed04
mov al, byte [rsp + 0x7f]
test al, 1
jne 0x14000e7ac
jmp 0x14000eaf3
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov r8, rcx
shl r8, 4
mov rdx, rax
add rdx, r8
mov rdx, qword [rdx]
mov qword [rsp + 0x48], rdx
shl rcx, 4
add rax, rcx
add rax, 8
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
call fcn.14000a534
mov rcx, qword [rsp + 0x48]
mov rdx, rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x58], rdx
add rcx, 0x10
mov qword [rsp + 0x60], rcx
mov rax, qword [rax]
mov qword [rsp + 0x68], rax
cmp rax, 0
je 0x14000e834
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
call rax
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x60], 0
jne 0x14000e96e
mov eax, dword [0x1401d86b8]
mov ecx, dword [0x1401d86bc]
mov edx, 0x976b5a00
xor edx, 0x8056f8ac
sub eax, edx
sub eax, ecx
add eax, 0x173da2ac
mov ecx, 0x8cce9f86
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0x9eea6f64
add eax, ecx
mov ecx, 0x83da800b
xor ecx, 0x83da800a
add eax, ecx
sub eax, 0x6f4795cf
cmp eax, 0xf9b0f8a9
je 0x14000ed0d
mov rcx, qword [rsp + 0x60]
mov eax, dword [0x1401d86c0]
xor edx, edx
div dword [0x1401d86c4]
mov r8d, eax
mov rax, qword [rsp + 0x50]
mov edx, 0xa64cae75
xor edx, 0x1ebed811
xor r8d, edx
sub r8d, 0x711baeef
add r8d, 0xe7dbcefe
add r8d, 0x711baeef
mov r9d, 0xc8a3434b
xor r9d, 0x375cbcb4
mov edx, r8d
xor edx, r9d
mov r9d, r8d
xor r9d, 0xffffffff
or edx, r9d
mov r9d, 0x767558cf
xor r9d, 0x22e82a4f
and edx, r9d
mov r9d, 0xb3f3a632
xor r9d, 0x4c0c59cd
xor edx, r9d
mov r9d, 0xffffffff
xor r9d, 0x549d7280
mov r10d, 0xc4b09b35
xor r10d, 0x902de9b5
mov r11d, 0xbf8e5a6f
xor r11d, 0x4071a590
xor r10d, r11d
or r9d, r10d
and r8d, r9d
mov r9d, 0xeab25cd9
xor r9d, 0x154da326
xor r8d, r9d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
mov dword [rsp + 0x44], edx
movsx rdx, word [rax + 0x10]
call fcn.14000de70
mov eax, dword [rsp + 0x44]
cmp eax, 0x1fac9964
je 0x14000ed0d
jmp 0x14000e96e
mov eax, dword [0x1401d86c8]
xor eax, 0x41f097a1
mov edx, dword [0x1401d86cc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov ecx, 0x4874ca3b
xor ecx, 0xff799010
xor edx, edx
div ecx
sub eax, 0x88c3b1da
sub eax, 0x1990f96a
add eax, 0x88c3b1da
and eax, 0xe8b46365
mov ecx, 0xa9689645
xor ecx, 0xe5554e78
cmp eax, ecx
je 0x14000ed16
mov rcx, qword [rsp + 0x80]
mov r9d, dword [0x1401d86d0]
mov r8d, dword [0x1401d86d4]
mov edx, 0x7a95ef4d
xor edx, 0x856a10b2
mov eax, r9d
xor eax, edx
mov edx, r8d
and edx, eax
mov eax, 0xee3a6c4a
xor eax, 0x11c593b5
mov r10d, r8d
xor r10d, eax
mov eax, r9d
and eax, r10d
imul eax, edx
mov edx, r9d
and edx, r8d
or r9d, r8d
imul r9d, edx
add r9d, eax
xor eax, eax
sub eax, 0x1ce657d2
add r9d, eax
mov edx, 0x410036df
xor edx, 0xe37e32f7
mov eax, r9d
xor eax, edx
xor eax, 0xffffffff
and eax, 0xa27e0428
shl eax, 1
sub eax, 0xa27e0428
sub r9d, eax
mov edx, r9d
xor edx, 0xffffffff
mov eax, 0x21b2bb9d
xor eax, 0x9261b28b
and eax, edx
mov r8d, 0xffffffff
xor r8d, 0xb3d30916
and r9d, r8d
mov edx, 0xffffffff
xor edx, 0x37fda24a
and edx, 0xb3d30916
and r8d, 0x37fda24a
or eax, r9d
or edx, r8d
xor eax, edx
movabs rdx, 0x704653a3c52da923
movabs r8, 0x704653a3c52da923
xor rdx, r8
sub rdx, rcx
movabs rcx, 0x297fc50925436338
movabs r8, 0x297fc50925436338
xor rcx, r8
movabs r8, 0xcdf9710f95a644a9
movabs r9, 0xcdf9710f95a644a8
xor r8, r9
sub rcx, r8
add rdx, rcx
xor ecx, ecx
sub rcx, rdx
mov qword [rsp + 0x38], rcx
cmp eax, 0xb169e00
jb 0x14000ed16
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x90], rax
jmp 0x14000e6a4
mov eax, dword [0x1401d86d8]
xor edx, edx
div dword [0x1401d86dc]
mov ecx, 0x54d1f7df
xor ecx, 0xab2e0820
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xbc9c232f
mov edx, 0xffffffff
xor edx, 0x5c96758a
or eax, ecx
mov ecx, 0x417ebe7c
xor ecx, 0x1de8cbf6
or ecx, edx
mov edx, 0xca028b42
xor edx, 0x35fd74bd
xor eax, edx
and eax, ecx
mov edx, 0xffffffff
xor edx, 0x5542c3ec
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x5542c3ec
add eax, edx
sub eax, ecx
imul eax, eax, 0x556cb656
cmp eax, 0xd72668d
je 0x14000ed1f
mov r9, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x110]
mov eax, dword [0x1401d86e0]
or eax, dword [0x1401d86e4]
sub eax, 0x1f0743dc
sub eax, 0xafe9ae6a
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x304443a
mov r10d, 0xffffffff
xor r10d, 0x304443a
mov edx, eax
and edx, r10d
imul edx, r8d
mov r10d, 0x4c80959
xor r10d, 0x7cc4d63
mov r8d, eax
and r8d, r10d
or eax, 0x304443a
imul eax, r8d
add eax, edx
mov rdx, rcx
add rdx, 0x30
mov qword [rsp + 0x20], rdx
mov rdx, qword [rcx + 0x30]
xor ecx, ecx
sub rcx, rdx
xor r8d, r8d
sub r8, r9
add rcx, r8
xor r8d, r8d
mov r10d, r8d
sub r10, rcx
mov qword [rsp + 0x28], r10
mov rcx, r10
xor rcx, rdx
mov rdx, r10
xor rdx, 0xffffffffffffffff
movabs r8, 0x311a3f2be00feeb9
and rdx, r8
movabs r11, 0x5c60984feb653f79
movabs r8, 0x6d7aa7640b6ad1c0
xor r11, r8
movabs r8, 0x5a06825052386fdf
movabs rsi, 0xa5f97dafadc79020
xor r8, rsi
xor r11, r8
and r10, r11
mov r8, r9
xor r8, 0xffffffffffffffff
movabs rsi, 0x9f829f4a2dc8a91b
movabs rdi, 0xae98a061cdc747a2
xor rsi, rdi
and r8, rsi
and r9, r11
or rdx, r10
or r8, r9
xor rdx, r8
and rcx, rdx
movabs rdx, 0x536da37e5c45fe1c
movabs r8, 0x536da37e5c45fe1c
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0xd73a9588
je 0x14000ed1f
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14000ecba
jmp 0x14000ecc4
call fcn.140007bb8
jmp 0x14000ecde
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
mov qword [rax], rdx
call fcn.14000dea0
nop
add rsp, 0x138
add esp, 0x138
pop rdi
pop rsi
ret
pop rsp
rol dword [rcx + 0x34], 0xe9
adc eax, 0xc0fffff5
invalid
cmc
invalid
rcr byte [rdi], 0xc8
loop 0x14000ece0
jne 0x14000ecef
invalid
scasb al, byte [rdi]
cwde
mov eax, 0xf811e9af
invalid
ret 0xf999
xor al, 0x2d
mov dl, 0x17
jmp 0x14000e887
pop rdx
adc eax, 0x9ce9576e
cld
invalid
invalid