Function at 0x14009de00
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x100
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x28], r9
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], rdx
mov qword [rbp + 0x48], rcx
mov eax, 0x10
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x40], rax
sub rsp, 0x20
call fcn.14009d3cb
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov qword [rbp + 0x58], rax
add rax, 0x60
mov qword [rbp + 0x50], rax
mov rax, qword [rcx]
mov qword [rbp + 0x68], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x70], rax
lea rcx, [rbp + 0x68]
sub rsp, 0x20
call fcn.14009ea80
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x60], rcx
mov al, byte [rax + 0x60]
mov cl, 0x10
xor cl, 0x10
cmp al, cl
jne 0x14009ea33
mov eax, dword [0x1401dc788]
mov edx, dword [0x1401dc78c]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
and eax, 0x7705bc88
xor eax, 0x158dd8f
mov ecx, 0xe0aa4884
xor ecx, 0xe0c1cd32
xor eax, ecx
cmp eax, 0x59d0d84f
je 0x14009ea3c
mov r9, qword [rbp + 0x28]
mov r8, qword [rbp + 0x60]
mov eax, dword [0x1401dc790]
xor eax, 0xb98ee741
or eax, dword [0x1401dc794]
mov ecx, 0x131bc254
xor ecx, 0xece43dab
mov edx, eax
xor edx, ecx
and edx, 0x88f420fd
mov r10d, 0xffffffff
xor r10d, 0x88f420fd
mov ecx, eax
and ecx, r10d
imul ecx, edx
mov edx, eax
and edx, 0x88f420fd
or eax, 0x88f420fd
imul eax, edx
add eax, ecx
mov ecx, eax
add ecx, 1
mov edx, 0x8ffca45c
xor edx, 0x70035ba3
xor eax, edx
or eax, 0xfc76d0f2
add eax, ecx
mov ecx, 0xd9ec4d92
xor ecx, 0xd68c3753
mov edx, 0x9a88f1ae
xor edx, 0x65770e51
xor ecx, edx
add eax, ecx
mov ecx, 0x9c29df5c
xor ecx, 0x9c29df5d
add eax, ecx
movabs rcx, 0x7b200880c9318694
movabs rdx, 0x7b200880c9318694
xor rcx, rdx
sub rcx, r9
mov rdx, r8
add rdx, rcx
mov qword [rbp + 0x18], rdx
mov rcx, rdx
xor rcx, r8
cmp rcx, 0
setl cl
mov r10, rdx
xor r10, r9
xor r10, 0xffffffffffffffff
mov r8, r9
and r8, r10
shl r8, 1
sub r8, r9
sub rdx, r8
movabs r8, 0x1b7879642308ff36
movabs r9, 0xe487869bdcf700c9
xor r8, r9
cmp rdx, r8
setg dl
and cl, dl
mov byte [rbp + 0x27], cl
cmp eax, 0xce99501d
jae 0x14009dec5
mov al, byte [rbp + 0x27]
test al, 1
jne 0x14009dfe2
jmp 0x14009e0e8
mov eax, dword [0x1401dc798]
mov edx, dword [0x1401dc79c]
mov ecx, eax
and ecx, edx
or eax, edx
add ecx, eax
add ecx, 0x24626192
sub ecx, 0x53de35cd
mov eax, 0x70d1c640
xor eax, 0x54b3a7d2
sub ecx, eax
mov eax, 0xb9769aeb
xor eax, 0x46896514
mov edx, ecx
xor edx, eax
and edx, 0x5fe57f49
mov r8d, 0x96f8ca9b
xor r8d, 0xc91db5d2
mov eax, 0xdd0ed5fb
xor eax, 0x22f12a04
xor r8d, eax
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x5fe57f49
or ecx, 0x5fe57f49
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x2c3ddd84
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x2c3ddd84
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0x75a1edbb
je 0x14009ea45
mov eax, dword [0x1401dc7a0]
mov edx, dword [0x1401dc7a4]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov ecx, 0xdaa8f4ed
xor ecx, 0x2e164032
add eax, ecx
imul eax, eax, 0x41fa86d
sub eax, 0x42801cfc
mov ecx, 0xf9119172
xor ecx, 0x13630ad6
sub eax, ecx
add eax, 0x42801cfc
mov dword [rbp + 0x14], eax
sub rsp, 0x20
call fcn.140007bb8
mov eax, dword [rbp + 0x14]
add rsp, 0x20
cmp eax, 0xccd650ae
ja 0x14009e089
jmp 0x14009ea33
mov r8, qword [rbp + 0x18]
movabs rcx, 0xb8046e5f28189c1f
movabs rax, 0x47fb91a0d7e763e0
xor rcx, rax
mov rax, r8
add rax, rcx
mov qword [rbp + 8], rax
movabs rcx, 0xa4980ba5cd5aedd1
movabs rdx, 0x5b67f45a32a5122e
xor rcx, rdx
mov rdx, rax
xor rdx, rcx
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 cl
xor dl, 0xff
mov al, cl
xor al, dl
and al, cl
test al, 1
jne 0x14009e161
jmp 0x14009e173
sub rsp, 0x20
call fcn.140007bb8
add rsp, 0x20
jmp 0x14009ea33
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x48]
mov r8, qword [rbp + 0x28]
mov rdx, qword [rbp + 8]
mov r10, 0xffffffffffffffff
xor r10, 0xffffffffffffffff
xor r9d, r9d
sub r9, 1
sub r10, r9
mov r9, rcx
sub r9, r10
mov qword [rbp - 0x28], r9
mov r10, r9
sub r10, rdx
cmovl rdx, r9
mov qword [rbp - 0x20], rdx
mov rdx, r8
or rdx, rdx
movabs r9, 0x2a0146c39601fb95
movabs r10, 0xd5feb93c69fe046a
xor r9, r10
xor rdx, r9
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
mov r10, 0xffffffffffffffff
xor r10, 0xffffffffffffffff
and r9, r10
or rdx, r9
xor rdx, 0xffffffffffffffff
or r8, 0xffffffffffffffff
movabs r9, 0xd5dc707687ed3ef9
movabs r10, 0x2a238f897812c106
xor r9, r10
xor r8, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0x17834c04f359b0a8
movabs r10, 0xe87cb3fb0ca64f57
xor r9, r10
xor r8, r9
and rdx, r8
mov qword [rbp - 0x18], rdx
add rax, 8
mov qword [rbp - 0x10], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 8], rax
xor eax, eax
mov qword [rbp], rax
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp]
mov qword [rbp - 0x30], rax
cmp rax, rcx
jg 0x14009ea33
mov ecx, dword [0x1401dc7a8]
mov eax, 0xd529341
xor eax, 0xb1c0e96f
xor ecx, eax
add ecx, dword [0x1401dc7ac]
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0x9b9072aa
or edx, 0x9b9072aa
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor ecx, 0xffffffff
mov edx, 0x18901219
xor edx, 0x830060b3
mov r8d, 0x72ca19f2
xor r8d, 0x8d35e60d
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xe7a4cdf0
xor ecx, 0x843244c9
imul eax, ecx
mov edx, 0x10de3ccd
xor edx, 0xa9b0f8b1
mov ecx, 0x4b12c25a
xor ecx, 0xb4ed3da5
xor edx, ecx
mov ecx, eax
and ecx, edx
mov r8d, 0x6c601380
xor r8d, 0xd50ed7fc
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
cmp eax, 0xd68d8af8
jbe 0x14009ea4e
mov r8, qword [rbp - 0x18]
mov r10, qword [rbp + 0x28]
mov r9, qword [rbp - 0x30]
mov ecx, dword [0x1401dc7b0]
sub ecx, dword [0x1401dc7b4]
mov eax, 0x1d3257fb
xor eax, 0x29817a3d
add ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xeeff215f
xor edx, 0x7056b48c
mov r11d, 0x4d89a87f
xor r11d, 0xb2765780
xor edx, r11d
or eax, edx
mov edx, 0xffffffff
xor edx, 0x9ea995d3
mov r11d, 0xffffffff
xor r11d, 0x9ea995d3
or edx, r11d
and ecx, edx
mov edx, 0x52b3fe5e
xor edx, 0xad4c01a1
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
and eax, 0xf9d97936
mov ecx, 0x49150cca
xor ecx, 0x5d5cefa3
mov rdx, r9
and rdx, r10
or r9, r10
add rdx, r9
mov qword [rbp - 0x40], rdx
and rdx, r8
cmp rdx, 0
setl dl
mov byte [rbp - 0x31], dl
cmp eax, ecx
jb 0x14009e310
mov al, byte [rbp - 0x31]
test al, 1
jne 0x14009e3d2
jmp 0x14009e4dc
mov eax, dword [0x1401dc7b8]
xor eax, 0x2bb5ce0c
mov ecx, dword [0x1401dc7bc]
xor ecx, 0xb912607d
sub eax, 0x5ecef96b
sub eax, ecx
add eax, 0x5ecef96b
mov ecx, 0x537428da
xor ecx, 0x328a573a
xor edx, edx
div ecx
mov r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x61aa3694
mov r8d, 0xffffffff
xor r8d, 0x76e76537
mov eax, ecx
and eax, 0x76e76537
and r11d, r8d
mov r10d, 0x755fe7a5
xor r10d, 0x3b88292
mov r9d, edx
and r9d, r10d
mov r10d, r8d
and r10d, 0x61aa3694
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x326a6065
xor edx, 0x448d0552
or edx, r8d
and ecx, edx
or eax, ecx
and eax, 0x41f543c1
mov ecx, 0x577fc7d7
xor ecx, 0x31d21170
cmp eax, ecx
jae 0x14009ea57
mov ecx, dword [0x1401dc7c0]
mov eax, dword [0x1401dc7c4]
xor eax, 0x42f2cd62
or ecx, eax
or ecx, 0xa7492b57
add ecx, 0x96d05235
mov eax, ecx
and eax, 0x6333d13b
mov edx, 0xb7cb0c0b
xor edx, 0xd4f8dd30
xor ecx, edx
or eax, ecx
mov dword [rbp - 0x44], eax
sub rsp, 0x20
call fcn.140007bb8
mov eax, dword [rbp - 0x44]
add rsp, 0x20
cmp eax, 0x2de15cc0
je 0x14009ea57
jmp 0x14009ea33
mov eax, dword [str.p_e7]
mov ecx, dword [0x1401dc7cc]
xor ecx, 0xdad0215
xor edx, edx
div ecx
mov r11d, eax
mov eax, r11d
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x4bac4e9c
mov ecx, 0xffffffff
xor ecx, 0xf49b1281
mov r9d, 0xc99e8faa
xor r9d, 0x3d059d2b
mov r8d, eax
and r8d, r9d
and r11d, ecx
mov r9d, edx
and r9d, 0xf49b1281
mov r10d, 0xddd1db50
xor r10d, 0x967d95cc
and r10d, ecx
or r8d, r11d
or r9d, r10d
xor r8d, r9d
or eax, edx
xor eax, 0xffffffff
or ecx, 0xf49b1281
and eax, ecx
or r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x2f164b36
mov edx, 0x4320c782
xor edx, 0x6c368cb4
mov ecx, 0x28bb1a11
xor ecx, 0xd744e5ee
xor edx, ecx
and r8d, edx
mov ecx, 0xbe0d75c2
xor ecx, 0x85c506b6
mov r9d, 0x2516eb28
xor r9d, 0xdae914d7
xor ecx, r9d
and ecx, 0x2f164b36
and edx, 0x3bc87374
or eax, r8d
or ecx, edx
xor eax, ecx
sub eax, 0xc5c67723
mov ecx, 0x57b85689
xor ecx, 0x6fa6f086
cmp eax, ecx
jb 0x14009ea60
mov rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 8]
mov eax, dword [0x1401dc7d0]
mov r10d, dword [0x1401dc7d4]
mov r11d, r10d
xor r11d, 0xffffffff
mov r9d, eax
and r9d, r11d
mov ecx, eax
or ecx, r11d
xor ecx, 0xffffffff
imul ecx, r9d
mov r9d, eax
and r9d, r10d
or eax, r10d
imul eax, r9d
add eax, ecx
sub eax, 0x16fce5e3
mov ecx, 0x57dd0ab
xor ecx, 0xda63d707
sub eax, ecx
mov ecx, 0xef412890
xor ecx, 0xef412890
mov r9d, 0x9fa6f2af
xor r9d, 0x65ced272
sub ecx, r9d
add eax, ecx
mov ecx, 0x64e65ba1
xor ecx, 0xf97e9f7f
cmp rdx, r8
sete dl
mov byte [rbp - 0x45], dl
cmp eax, ecx
ja 0x14009ea60
mov al, byte [rbp - 0x45]
test al, 1
jne 0x14009e65e
jmp 0x14009e678
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.140012270
add rsp, 0x20
jmp 0x14009ea33
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp - 0x30]
mov ax, word [rax + rcx*2]
mov word [rbp - 0x5a], ax
sub rsp, 0x20
call fcn.14009d3cb
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x48]
mov qword [rbp - 0x58], rdx
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14009ea80
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x50], rcx
cmp byte [rax + 0x60], 0
jne 0x14009ea0e
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x40]
cmp rax, rcx
jg 0x14009e88d
mov eax, dword [0x1401dc7d8]
mov r8d, dword [0x1401dc7dc]
mov ecx, 0x91cdd170
xor ecx, 0x6e322e8f
mov r9d, r8d
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0xfcab1438
xor r9d, 0x354ebc7
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x91498521
xor ecx, 0x350b63e4
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x41048190
mov r8d, 0xffffffff
xor r8d, 0x41048190
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x41048190
mov r8d, 0xe145f263
xor r8d, 0xa04173f3
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x75cc3cb7
xor edx, edx
div ecx
cmp eax, 0x62ad88af
je 0x14009ea69
mov eax, dword [0x1401dc7e0]
mov ecx, dword [0x1401dc7e4]
xor ecx, 0xc74947fa
imul eax, ecx
or eax, 0xe15e0711
mov ecx, 0x84c019d5
xor ecx, 0x84c019d5
sub ecx, eax
xor eax, eax
sub eax, 0xfcb83091
add ecx, eax
mov eax, 0x4baf03c1
xor eax, 0x4baf03c1
sub eax, ecx
sub eax, 0x52c10996
mov dword [rbp - 0x60], eax
mov eax, 0x35c6264a
xor eax, 0x33b0668f
mov dword [rbp - 0x64], eax
movabs rcx, 0xf785a290c385d176
movabs rax, 0xf785a290c385d136
xor rcx, rax
movabs rdx, 0x181844478fd07c73
movabs rax, 0x181844478fd07c7b
xor rdx, rax
sub rsp, 0x20
call fcn.140012010
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401ee760]
mov qword [rcx], rax
lea rax, [0x1401ecbf9]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401ecc28]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401ecc30]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1401ecbf9]
lea r8, [0x1401ecc38]
lea r9, [0x1401ecc3c]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffff95b466a7
call fcn.140011f4f
mov ecx, dword [rbp - 0x64]
mov eax, dword [rbp - 0x60]
add rsp, 0x30
cmp eax, ecx
jbe 0x14009e78d
jmp 0x14009ea0e
mov rcx, qword [rbp - 0x40]
mov edx, 2
lea r8, [rbp + 0x78]
sub rsp, 0x20
call fcn.14009ba10
add rsp, 0x20
test al, 1
jne 0x14009e8b4
jmp 0x14009e8c6
sub rsp, 0x20
call fcn.140007bb8
add rsp, 0x20
jmp 0x14009ea0e
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x78]
mov qword [rbp - 0x78], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x70], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14009e934
mov rcx, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x70]
movabs rax, 0xefe2c1e8c2dbee8c
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xd1b626020f4be264
movabs r8, 0x3e54e7eacd900ce8
xor rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140012270
add rsp, 0x20
jmp 0x14009ea0e
mov eax, dword [0x1401dc7e8]
xor edx, edx
div dword [0x1401dc7ec]
or eax, 0x21cff4d
and eax, 0xb5363a47
mov ecx, 0x7db34695
xor ecx, 0x9a7a5e32
mov edx, 0x229cbc36
xor edx, 0xdd6343c9
xor ecx, edx
add eax, ecx
mov ecx, 0xc0bd2573
xor ecx, 0xc0bd2572
add eax, ecx
cmp eax, 0xe1244ce4
ja 0x14009ea72
mov r8w, word [rbp - 0x5a]
mov rcx, qword [rbp - 0x10]
mov eax, dword [0x1401dc7f0]
mov r10d, dword [0x1401dc7f4]
mov r11d, r10d
xor r11d, 0xffffffff
mov r9d, eax
and r9d, r11d
mov edx, eax
or edx, r11d
xor edx, 0xffffffff
imul edx, r9d
mov r9d, eax
and r9d, r10d
or eax, r10d
imul eax, r9d
add eax, edx
mov r9d, 0xc13aa937
xor edx, edx
div r9d
mov rdx, qword [rbp - 0x78]
mov r9d, 0xe4c9481
xor r9d, 0xe42cfb27
sub eax, r9d
mov r9d, 0xffffffff
xor r9d, 0xab042623
xor r10d, r10d
sub r10d, 1
sub r9d, r10d
sub eax, r9d
mov rcx, qword [rcx]
mov word [rcx + rdx + 8], r8w
cmp eax, 0xa15f8abc
je 0x14009e97e
jmp 0x14009ea0e
mov rdx, qword [rbp - 0x30]
mov rax, qword [rbp + 0x50]
mov cl, byte [rax]
mov rax, rdx
and rax, 1
or rdx, 1
add rax, rdx
cmp cl, 0
mov qword [rbp], rax
je 0x14009e24e
lea rsp, [rbp + 0x80]
pop rbp
ret
invalid
and ebx, dword [rdi + rbp*2 - 0x48]
jmp 0x14009e089
add bh, byte [riz*8 - 0x7461690]
invalid
xor ch, byte [rbx + 0x24e99077]
cli
invalid
or ebx, dword [rbx + rcx*8 - 0x4a216cf]
invalid
scasb al, byte [rdi]
test eax, 0xfd1be917
invalid
out 0xbf, eax
mov edi, 0xff03e9e9
invalid