Function at 0x14019c5f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov qword [rbp - 8], rcx
mov eax, 0x10
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
sub rsp, 0x20
call fcn.14019c02a
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov qword [rbp], rax
mov rcx, qword [rcx]
sub rsp, 0x20
call fcn.14019c050
add rsp, 0x20
test al, 1
jne 0x14019c645
jmp 0x14019c95a
mov eax, dword [0x140256270]
xor eax, 0x21a4c757
mov ecx, dword [0x140256274]
xor ecx, 0x8ee801c4
xor edx, edx
div ecx
mov r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0x53164816
xor r8d, 0x91f34e37
mov eax, 0xacccaa64
xor eax, 0x5333559b
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0xef2c4778
mov eax, ecx
and eax, 0xef2c4778
and r11d, edx
mov r9d, r8d
and r9d, 0xef2c4778
mov r10d, edx
and r10d, 0xc2e50621
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0x1c093653
xor r8d, 0xe3f6c9ac
xor ecx, r8d
or edx, 0xef2c4778
and ecx, edx
or eax, ecx
mov ecx, 0x945a66cd
xor ecx, 0xe4a05e0
xor eax, ecx
mov ecx, 0xab94c679
xor ecx, 0xc640b193
imul eax, ecx
cmp eax, 0x3c260627
je 0x14019d1ef
mov rax, qword [rbp - 8]
mov esi, dword [0x140256278]
mov ecx, dword [0x14025627c]
mov edx, 0x79cb3640
xor edx, 0x5e63a7a
xor ecx, edx
or esi, ecx
mov edx, esi
xor edx, 0xffffffff
and edx, 0x31953f8e
mov r8d, 0xffffffff
xor r8d, 0x31953f8e
mov ecx, esi
and ecx, r8d
imul ecx, edx
mov r8d, 0x48d9e458
xor r8d, 0x794cdbd6
mov edx, esi
and edx, r8d
or esi, 0x31953f8e
imul esi, edx
add esi, ecx
mov edx, esi
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x19055d69
mov r9d, 0xffffffff
xor r9d, 0xb2a9753d
mov r10d, 0x6d9f1205
xor r10d, 0xdf366738
mov ecx, edx
and ecx, r10d
and esi, r9d
mov r10d, r8d
and r10d, 0xb2a9753d
mov r11d, r9d
and r11d, 0x19055d69
or ecx, esi
or r10d, r11d
xor ecx, r10d
or edx, r8d
xor edx, 0xffffffff
mov r8d, 0x26955c82
xor r8d, 0x943c29bf
or r8d, r9d
and edx, r8d
or ecx, edx
or ecx, 0x9282d242
mov dword [rbp - 0x18], ecx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.1400874eb
mov rcx, qword [rbp]
mov eax, dword [rbp - 0x18]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x11], cl
cmp eax, 0xb1a141ac
je 0x14019d1ef
mov al, byte [rbp - 0x11]
test al, 1
jne 0x14019c803
jmp 0x14019d1e8
mov eax, dword [0x140256280]
mov edx, dword [0x140256284]
mov ecx, eax
and ecx, edx
xor ecx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0x6ce2f5c7
xor edx, 0x931d0a38
xor eax, edx
or ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x26ecb8ce
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0x26ecb8ce
or ecx, 0x26ecb8ce
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0xcc25255c
xor r8d, 0x33dadaa3
mov edx, ecx
xor edx, r8d
and eax, edx
mov edx, 0xffffffff
xor edx, 0x41a17e6f
mov r8d, 0xffffffff
xor r8d, 0x41a17e6f
and edx, r8d
or eax, edx
xor eax, 0xffffffff
or ecx, 0x41a17e6f
mov edx, 0x255a4af5
xor edx, 0xdaa5b50a
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
sub eax, 0xb9130eef
cmp eax, 0xb94df5eb
je 0x14019d1f8
mov eax, dword [0x140256288]
add eax, dword [0x14025628c]
mov edx, 0xb5cd75b7
xor edx, 0x4a328a48
mov ecx, eax
xor ecx, edx
mov edx, 0xc1e58a40
xor edx, 0xa173184a
and edx, ecx
mov r8d, 0xe0fb0e70
xor r8d, 0x806d9c7a
mov ecx, 0xbd2b707e
xor ecx, 0x42d48f81
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x6096920a
or eax, 0x6096920a
imul eax, edx
add eax, ecx
add eax, 0x26fe88c5
mov ecx, 0xbf04b011
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 8]
mov dword [rbp - 0x1c], ecx
mov rcx, qword [rax]
mov edx, 8
sub rsp, 0x20
call fcn.14000ef30
mov eax, dword [rbp - 0x1c]
add rsp, 0x20
cmp eax, 0x24a07281
ja 0x14019c8be
jmp 0x14019c95a
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 8]
mov rdx, qword [rax + 8]
mov qword [rcx], rdx
mov rax, qword [rax + 0x10]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14019bc60
mov rax, qword [rbp]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14019d1e8
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x20]
mov qword [rbp - 0x28], rax
cmp rax, 0
je 0x14019c9e0
mov rax, qword [rbp - 0x28]
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 0x14019c9e0
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x30]
mov qword [rbp - 0x30], rax
cmp rax, 0
je 0x14019cb89
mov eax, dword [0x140256290]
mov ecx, dword [0x140256294]
xor ecx, 0xcb176a6d
xor edx, edx
div ecx
mov ecx, 0xf461f75e
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0xe4287b45
xor eax, 0xe4287b45
sub eax, ecx
mov ecx, 0x78d72155
xor ecx, 0x78d72155
mov edx, 0xcc3ff6ad
xor edx, 0xc82230b2
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0x35937d7f
xor r8d, 0xca6c8280
mov edx, ecx
xor edx, r8d
or eax, edx
and eax, 0x842c8768
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x842c8768
mov r8d, 0xffffffff
xor r8d, 0x842c8768
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0x28713853
je 0x14019d201
mov rdx, qword [rbp - 0x30]
mov eax, dword [0x140256298]
imul eax, dword [0x14025629c]
mov ecx, 0xfe8f7a27
xor ecx, 0x307d73b3
xor eax, ecx
xor eax, 0x6080bf2c
mov ecx, 0xc24ce14
xor ecx, 0x28643a76
xor eax, ecx
mov ecx, 0xd5ab6038
xor ecx, 0x6ccb389d
mov r8, qword [rdx]
movabs r9, 0x4000000000000000
mov rdx, r8
and rdx, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0xa04a3b0ef74cbacd
movabs r10, 0x5fb5c4f108b34532
xor r9, r10
xor r8, r9
movabs r9, 0xc5d2bd6f70bdd8e0
movabs r10, 0x85d2bd6f70bdd8e0
xor r9, r10
movabs r10, 0x4ceccd19b823a83c
movabs r11, 0xb31332e647dc57c3
xor r10, r11
xor r9, r10
or r8, r9
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
movabs r8, 0x6ce0ca8697a2b6ee
movabs r9, 0x6ce0ca8697a2b6ee
xor r8, r9
cmp rdx, r8
sete dl
mov byte [rbp - 0x31], dl
cmp eax, ecx
ja 0x14019ca95
mov al, byte [rbp - 0x31]
test al, 1
jne 0x14019cb78
jmp 0x14019cb89
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov eax, dword [0x1402562a0]
mov r8d, dword [0x1402562a4]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov ecx, 0xd6e1fe5e
xor ecx, 0x291e01a1
mov r9d, r8d
xor r9d, ecx
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
and edx, 0x304aa5fd
mov r8d, 0xffffffff
xor r8d, 0x304aa5fd
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xbdc8b291
xor r8d, 0x8d82176c
mov edx, eax
and edx, r8d
mov r8d, 0xd531bb1
xor r8d, 0x3d19be4c
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xdee3876b
mov edx, 0x4c214e04
xor edx, 0xb3deb1fb
xor ecx, edx
or eax, 0xdee3876b
and eax, ecx
mov edx, 0xffffffff
xor edx, 0x619f1910
mov ecx, eax
and ecx, edx
mov r8d, 0x85901422
xor r8d, 0xe40f0d32
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
cmp eax, 0xd3df701a
je 0x14019d20a
mov rdx, qword [rbp - 8]
mov ecx, dword [0x1402562a8]
mov r9d, dword [0x1402562ac]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, r9d
and r8d, eax
mov r10d, r9d
xor r10d, 0xffffffff
mov eax, ecx
and eax, r10d
imul eax, r8d
mov r8d, ecx
and r8d, r9d
or ecx, r9d
imul ecx, r8d
add ecx, eax
add ecx, 0xf1b17942
mov eax, ecx
xor eax, 0xffffffff
mov r8d, ecx
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0x71d20616
or r8d, 0x71d20616
mov r9d, 0xd5b6e148
xor r9d, 0x2a491eb7
xor r8d, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0x51d62c55
xor r8d, 0xae29d3aa
xor ecx, r8d
mov r8d, 0xffffffff
xor r8d, 0x71d20616
and ecx, r8d
or eax, ecx
xor eax, 0xffffffff
add eax, 0x1728b4b8
mov ecx, 0xd6947c82
xor ecx, 0x39a491d
mov rdx, qword [rdx + 0x40]
mov qword [rbp - 0x40], rdx
cmp rdx, 0
sete dl
mov byte [rbp - 0x32], dl
cmp eax, ecx
ja 0x14019cc59
mov al, byte [rbp - 0x32]
test al, 1
jne 0x14019cf49
jmp 0x14019cd2f
mov r11d, dword [0x1402562b0]
xor r11d, 0x4e37bb4b
add r11d, dword [0x1402562b4]
mov ecx, r11d
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x4839a97d
mov r8d, 0x987ddd1e
xor r8d, 0xa68332b1
mov eax, 0x4fc0c6e6
xor eax, 0xb03f3919
xor r8d, eax
mov eax, ecx
and eax, 0x3efeefaf
and r11d, r8d
mov r9d, edx
and r9d, 0x3efeefaf
mov r10d, r8d
and r10d, 0x4839a97d
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
mov edx, 0xa599407
xor edx, 0xf5a66bf8
xor ecx, edx
mov edx, 0x251268b1
xor edx, 0x1bec871e
or edx, r8d
and ecx, edx
or eax, ecx
xor ecx, ecx
sub ecx, 0x1b2d07bf
sub eax, ecx
xor eax, 0x9d679bfa
cmp eax, 0xe2942672
ja 0x14019d213
mov rdx, qword [rbp - 0x40]
mov ecx, dword [0x1402562b8]
imul ecx, dword [0x1402562bc]
mov r8d, 0x87b95de2
xor r8d, 0x80b6fc71
mov eax, 0xbf5cc080
xor eax, 0x40a33f7f
xor r8d, eax
mov eax, ecx
xor eax, r8d
and eax, ecx
add eax, 0x1127356a
xor ecx, ecx
sub ecx, 0xc70359cf
sub eax, ecx
mov ecx, 0xd8e9fd50
xor ecx, 0x122904a5
mov r8, qword [rdx]
movabs r9, 0x4000000000000000
mov rdx, r8
and rdx, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0x4000000000000000
and r8, r9
movabs r9, 0xd65699314413a37e
movabs r10, 0x29a966cebbec5c81
xor r9, r10
xor r8, r9
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
cmp rdx, 0
sete dl
mov byte [rbp - 0x41], dl
cmp eax, ecx
jb 0x14019d213
mov al, byte [rbp - 0x41]
test al, 1
jne 0x14019ce88
jmp 0x14019cf49
mov eax, dword [0x1402562c0]
xor eax, dword [0x1402562c4]
mov ecx, 0xf2a2943d
xor ecx, 0x7b52d0a3
or eax, ecx
mov ecx, 0x7fe74991
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xc7a60bd2
mov edx, 0xffffffff
xor edx, 0xc7a60bd2
and eax, edx
sub eax, ecx
cmp eax, 0x8806851d
jae 0x14019d21c
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x1402562c8]
xor eax, 0xbe57a6ff
mov r9d, dword [0x1402562cc]
mov edx, eax
xor edx, 0xffffffff
mov r8d, r9d
and r8d, edx
mov r10d, r9d
xor r10d, 0xffffffff
mov edx, eax
and edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
sub eax, 0x37f3a732
and eax, 0xcaace959
mov edx, 0xb4af4159
xor edx, 0xbc76338
sub eax, edx
mov dword [rbp - 0x48], eax
sub rsp, 0x20
call fcn.14000eec9
mov eax, dword [rbp - 0x48]
add rsp, 0x20
cmp eax, 0xee1fd6e3
ja 0x14019cecf
jmp 0x14019cf49
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x50]
mov qword [rbp - 0x50], rax
cmp rax, 0
je 0x14019d045
mov ecx, dword [0x1402562d0]
mov r8d, dword [0x1402562d4]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
xor eax, eax
sub eax, 0xf2576edf
add ecx, eax
mov eax, ecx
and eax, 0x18a5f082
xor ecx, 0x18a5f082
or eax, ecx
mov ecx, 0xb9d645b0
xor ecx, 0xea89a91d
sub eax, ecx
mov ecx, 0x56c783ba
xor ecx, 0x72229903
cmp eax, ecx
je 0x14019d225
mov r8, qword [rbp - 0x50]
mov eax, dword [0x1402562d8]
xor eax, dword [0x1402562dc]
and eax, 0x93903b58
sub eax, 0x51190045
add eax, 0xecf6a1f9
mov ecx, 0xf57651eb
xor ecx, 0xa46f51ae
add eax, ecx
imul eax, eax, 0x85aaa064
mov ecx, 0x197d996f
xor ecx, 0x8235c46c
movabs rdx, 0x4000000000000000
and rdx, qword [r8]
cmp rdx, 0
sete dl
mov byte [rbp - 0x51], dl
cmp eax, ecx
jae 0x14019cfc8
mov al, byte [rbp - 0x51]
test al, 1
jne 0x14019d034
jmp 0x14019d045
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x60]
mov qword [rbp - 0x60], rax
cmp rax, 0
je 0x14019d112
mov rax, qword [rbp - 0x60]
mov rcx, qword [rax]
movabs rdx, 0x4000000000000000
mov rax, rcx
and rax, rdx
movabs rdx, 0x8554fd2479fb3277
movabs r8, 0x7aab02db8604cd88
xor rdx, r8
xor rax, rdx
movabs rdx, 0x1d2211107e51fed1
movabs r8, 0x5d2211107e51fed1
xor rdx, r8
and rcx, rdx
movabs rdx, 0xa3b8e0dacc29f56f
movabs r8, 0x5c471f2533d60a90
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x7736c8163b7734fb
movabs r8, 0x88c937e9c488cb04
xor rdx, r8
xor rax, rdx
movabs rdx, 0x81b8aa0d6ee0799e
movabs r8, 0x7e4755f2911f8661
xor rdx, r8
xor rcx, rdx
or rax, rcx
cmp rax, 0
jne 0x14019d112
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x70]
mov qword [rbp - 0x68], rax
cmp rax, 0
je 0x14019d18d
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax]
movabs rdx, 0xa6eecaa5ede7b11f
movabs rax, 0xe6eecaa5ede7b11f
xor rdx, rax
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jne 0x14019d18d
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x80]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x14019d1e8
mov rcx, qword [rbp - 0x70]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x52e33fd90956bd1d
movabs rdx, 0x52e33fd90956bd1d
xor rcx, rdx
cmp rax, rcx
jne 0x14019d1e8
mov rcx, qword [rbp - 0x70]
xchg r8, rax
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
lea rsp, [rbp + 8]
pop rsi
pop rbp
ret
mov ah, 0x84
and byte [rbp - 0xaff17], al
dec dword [rbx]
jbe 0x14019d1d1
or esi, dword [rsi - 0x2a]
jmp 0x14019c8be
jne 0x14019d1d9
or eax, 0xfff88be9
invalid
std
or dword [rsi - 0x5b917], r11d
call qword [rdx - 0xa]
fidivr dword [rdi - 0x17]
push rdx
neg dl
jg 0x14019d201
mov ch, 0xfb
invalid
mov ds, word [rax]
shl bh, 1
jmp 0x14019cecf
xor byte [rcx + rdx - 0x26516d2], cl
invalid