Function at 0x1400fdfb0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x130
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xf8], rcx
call fcn.1400fcd9c
mov rdx, qword [rsp + 0x100]
mov qword [rsp + 0x108], rax
mov rax, qword [rdx]
mov qword [rsp + 0x110], rax
movabs rcx, 0xb9979e63c1b9451d
movabs rdx, 0xb9979e63c1b9451d
xor rcx, rdx
cmp rax, rcx
jge 0x1400fe030
mov rcx, qword [rsp + 0x110]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000d792
jmp 0x1400fed88
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0xf0]
call fcn.140019380
mov ecx, 0x4b5
call fcn.1400623e7
mov rcx, rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xe8], rcx
mov al, byte [rax]
mov cl, 0x83
xor cl, 0x83
cmp al, cl
jne 0x1400fed88
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x100]
add rcx, 8
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], rax
mov rcx, qword [rsp + 0x100]
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xc8], rax
mov rcx, qword [rcx]
mov qword [rsp + 0xd0], rcx
cmp rax, rcx
jge 0x1400fed88
mov rax, qword [rsp + 0xc8]
cmp rax, 0
jge 0x1400fe118
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xd0]
movabs rax, 0xb33135038d3fd81
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x8fa70156e5ecbc2
movabs r8, 0x3c96345568d3643
xor rax, r8
add rdx, rax
call fcn.14001284c
jmp 0x1400fec8b
mov eax, dword [0x140251c70]
imul eax, dword [0x140251c74]
xor ecx, ecx
sub ecx, eax
mov eax, 0xfdae4d61
xor eax, 0xfdae4d61
mov edx, 0xd973401e
xor edx, 0xf882e5de
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x8e2bc42b
xor ecx, 0x9482af29
and eax, ecx
xor eax, 0x8aadfe07
mov ecx, 0x21eb0a
xor ecx, 0xfb89a3b3
cmp eax, ecx
je 0x1400fed99
mov eax, dword [0x140251c78]
mov ecx, 0x2d4cfa11
xor ecx, 0xe02c0c84
xor eax, ecx
mov ecx, dword [0x140251c7c]
mov edx, 0x44984609
xor edx, 0xfb0e2292
xor ecx, edx
and eax, ecx
imul ecx, eax, 0x31a97ca8
mov eax, 0x315f3db
xor eax, 0x5cfb41ca
and eax, ecx
mov edx, 0xe46da177
xor edx, 0x1b925e88
xor eax, edx
add ecx, 0x5feeb211
mov edx, 0x98d6f72f
xor edx, 0x98d6f72e
add ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0x5894d952
xor ecx, 0x5894d952
or eax, ecx
mov dword [rsp + 0xc0], eax
mov cx, 0xce59
xor cx, 0x374
mov dx, 0x1779
xor dx, 0x8ac
call fcn.140065320
mov rcx, qword [rsp + 0x108]
mov dx, ax
mov eax, dword [rsp + 0xc0]
mov word [rsp + 0xc4], dx
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0xc7], cl
cmp eax, 0xa1dc8fd9
je 0x1400fe16b
mov al, byte [rsp + 0xc7]
test al, 1
jne 0x1400fe23a
jmp 0x1400fec90
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xd8]
mov dx, word [rsp + 0xc4]
mov rax, qword [rax]
mov r8, rax
add r8, 8
add r8, rcx
mov qword [rsp + 0xb8], r8
cmp byte [rax + rcx + 8], dl
je 0x1400fe29a
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x100]
mov rcx, qword [rcx]
mov qword [rsp + 0xb0], rcx
cmp rax, rcx
jl 0x1400fecda
jmp 0x1400fec95
mov eax, dword [0x140251c80]
mov edx, dword [0x140251c84]
mov r8d, 0x6f91560f
xor r8d, 0x906ea9f0
mov ecx, eax
xor ecx, r8d
and ecx, edx
xor edx, 0xffffffff
and eax, edx
sub eax, ecx
xor eax, 0x60366a08
xor eax, 0x9f58aae6
add eax, 0xac7d93cb
mov ecx, 0xf869eeb3
xor ecx, 0x6174dd1f
cmp eax, ecx
jbe 0x1400feda2
mov eax, dword [0x140251c88]
xor eax, 0x75846690
mov ecx, dword [0x140251c8c]
mov r8d, eax
and r8d, r8d
xor r8d, 0xffffffff
xor r8d, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or r8d, edx
and ecx, ecx
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xddbf0f9
xor edx, 0xf2240f06
xor ecx, edx
or eax, ecx
and r8d, eax
mov eax, 0x31ef6683
xor eax, 0xce10997c
xor r8d, eax
mov eax, 0x2a484518
xor eax, 0x88658e19
and r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x7b109144
mov r9d, 0xffffffff
xor r9d, 0x7b109144
and r8d, r9d
mov ecx, 0x20fc5221
xor ecx, 0x3b310335
mov edx, 0x75e87249
xor edx, 0x8a178db6
xor ecx, edx
and ecx, 0x7b109144
mov edx, 0xcd7251d
xor edx, 0x171a7409
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
and eax, 0x177c6396
mov dword [rsp + 0x9c], eax
mov eax, 0x760d0385
xor eax, 0xe97accb2
mov dword [rsp + 0x98], eax
mov ecx, 0x728
call fcn.1400623e7
mov rdx, qword [rsp + 0x108]
mov ecx, dword [rsp + 0x98]
mov r8, rax
mov eax, dword [rsp + 0x9c]
mov qword [rsp + 0xa0], r8
cmp byte [rdx], 0
sete dl
mov byte [rsp + 0xaf], dl
cmp eax, ecx
je 0x1400feda2
mov al, byte [rsp + 0xaf]
test al, 1
jne 0x1400fe3fd
jmp 0x1400fec8b
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0xc8]
mov rdx, r8
add rdx, r9
mov qword [rsp + 0x90], rdx
mov rax, rdx
xor rax, 0xffffffffffffffff
movabs rcx, 0x576297dbdb698e10
and rax, rcx
mov r11, 0xffffffffffffffff
movabs rcx, 0x576297dbdb698e10
xor r11, rcx
mov r10, rdx
and r10, r11
mov rcx, r9
xor rcx, 0xffffffffffffffff
movabs rsi, 0x576297dbdb698e10
and rcx, rsi
and r9, r11
or rax, r10
or rcx, r9
xor rax, rcx
mov rcx, rdx
and rcx, r8
shl rcx, 1
add rdx, r8
sub rdx, rcx
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
cmp rax, 0
jge 0x1400fe49e
call fcn.140008c92
jmp 0x1400fec8b
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x90]
cmp qword [rax], rcx
jg 0x1400fe548
movabs rcx, 0x17dd02581a01918c
movabs rax, 0x17dd02581a0191cc
xor rcx, rax
movabs rdx, 0x5d47dc6089946b65
movabs rax, 0x5d47dc6089946b6d
xor rdx, rax
call fcn.140012610
mov rcx, rax
mov rax, qword [0x140264728]
mov qword [rcx], rax
lea rax, [0x140263138]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140263168]
mov qword [rcx + 0x18], rax
mov rax, qword [str.x1_]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140263138]
lea r8, [0x140263147]
lea r9, [0x14026315a]
mov qword [rsp + 0x20], 0xffffffffe104fd22
call fcn.14001203f
jmp 0x1400fec8b
mov byte [rsp + 0x12f], 0
mov ecx, 0x9e5
call fcn.1400623e7
mov rcx, rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x88], rcx
cmp byte [rax], 0
jne 0x1400fec8b
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0xc8]
mov rcx, rdx
and rcx, r8
mov rax, rdx
or rax, r8
add rcx, rax
mov qword [rsp + 0x80], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1400fe6a4
mov eax, dword [0x140251c90]
mov r8d, dword [0x140251c94]
xor r8d, 0xd019d6b4
mov ecx, 0x57126d5f
xor ecx, 0xa8ed92a0
mov edx, r8d
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
xor eax, 0xa1bd087f
mov ecx, 0x45796c00
xor ecx, 0xe1bddfe
xor edx, edx
div ecx
mov ecx, 0xa947d403
xor ecx, 0xdfa2c716
xor edx, edx
div ecx
cmp eax, 0xc1c9f75a
ja 0x1400fedab
mov eax, dword [0x140251c98]
xor eax, 0xf7cf48e5
mov edx, dword [0x140251c9c]
mov ecx, 0x1addfd05
xor ecx, 0xae1ea397
xor edx, ecx
mov ecx, 0x6a6a443c
xor ecx, 0x6a6a443c
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x67f1042c
add eax, ecx
mov ecx, 0x9504b097
xor ecx, 0x9504b096
add eax, ecx
mov ecx, eax
add ecx, 1
mov edx, 0x4a194294
xor edx, 0xb5e6bd6b
xor eax, edx
mov edx, 0x4a414a9a
xor edx, 0xebd0078a
or eax, edx
add eax, ecx
xor eax, 0x7819fddb
mov dword [rsp + 0x7c], eax
call fcn.140008c92
mov eax, dword [rsp + 0x7c]
cmp eax, 0xe387c899
je 0x1400fe612
jmp 0x1400fec8b
mov ecx, 0xb13
call fcn.1400623e7
mov rcx, rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x70], rcx
cmp byte [rax], 0
jne 0x1400fec8b
mov r9, qword [rsp + 0x70]
mov r8, qword [rsp + 0x80]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rax]
mov qword [rsp + 0x118], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x120], rax
lea rcx, [rsp + 0x118]
lea rdx, [rsp + 0x12f]
call fcn.14003678c
mov rcx, rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x68], rcx
cmp byte [rax], 0
jne 0x1400fec8b
mov ecx, dword [0x140251ca0]
mov edx, dword [0x140251ca4]
mov eax, ecx
or eax, edx
mov r8d, 0xe16bc22b
xor r8d, 0x1e943dd4
xor eax, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x13153819
add eax, ecx
mov r8d, 0x76928a37
xor r8d, 0xc8a6da95
mov ecx, 0x66d6a8e8
xor ecx, 0x99295717
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x57d67507
xor r8d, 0xa8298af8
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xbe3450a2
or eax, 0xbe3450a2
imul eax, edx
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x3b2c8bea
add eax, ecx
add eax, 1
cmp eax, 0x2190f7b1
jbe 0x1400fedb4
mov eax, dword [0x140251ca8]
and eax, dword [0x140251cac]
mov ecx, 0xac4b8f1e
xor ecx, 0x9522387f
or eax, ecx
add eax, 0xac5cfbd0
imul eax, eax, 0xd1343252
mov dword [rsp + 0x54], eax
mov cx, 0x47c8
xor cx, 0x4768
call fcn.1400623e7
mov rcx, qword [rsp + 0x108]
mov rdx, rax
mov eax, dword [rsp + 0x54]
mov qword [rsp + 0x58], rdx
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x67], cl
cmp eax, 0xc8961777
je 0x1400fedb4
mov al, byte [rsp + 0x67]
test al, 1
jne 0x1400fe835
jmp 0x1400fec8b
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
cmp rax, rcx
jne 0x1400fe8b5
mov ecx, 0x40
mov edx, 8
call fcn.140012610
mov rcx, rax
mov rax, qword [0x140264728]
mov qword [rcx], rax
lea rax, [0x140263138]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140263168]
mov qword [rcx + 0x18], rax
mov rax, qword [str.x1_]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140263138]
lea r8, [0x140263147]
lea r9, [0x14026315a]
mov qword [rsp + 0x20], 0x37560a09
call fcn.14001203f
jmp 0x1400fec8b
mov r11d, dword [0x140251cb0]
xor r11d, 0x86470240
mov eax, dword [0x140251cb4]
xor eax, 0x83242f71
sub r11d, eax
mov eax, r11d
xor eax, 0xffffffff
mov edx, 0x42453bc7
xor edx, 0xe95abf35
mov ecx, 0x3ad44de8
xor ecx, 0xc52bb217
xor edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xd243ec2f
mov ecx, eax
and ecx, 0xd243ec2f
and r11d, r8d
mov r9d, edx
and r9d, 0xd243ec2f
mov r10d, r8d
and r10d, 0xab1f84f2
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, edx
mov edx, 0x12d58f96
xor edx, 0xed2a7069
xor eax, edx
mov edx, 0x1fa2b145
xor edx, 0xcde15d6a
or edx, r8d
and eax, edx
or ecx, eax
mov edx, ecx
xor edx, 0xffffffff
and edx, 0xde166e97
mov r8d, 0xc00b1263
xor r8d, 0x1e1d7cf4
mov eax, 0x4503a76
xor eax, 0xfbafc589
xor r8d, eax
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0xde166e97
or ecx, 0xde166e97
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc6ec1eb9
and eax, edx
xor ecx, 0xffffffff
mov edx, 0x2ae1e3b
xor edx, 0xc4420082
mov r8d, 0x2bdcbdb1
xor r8d, 0xd423424e
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0xdeb04a7e
jbe 0x1400fedbd
mov rcx, qword [rsp + 0xf0]
mov eax, dword [0x140251cb8]
xor eax, 0x6d2a8e34
xor edx, edx
div dword [0x140251cbc]
mov esi, eax
mov eax, esi
and eax, 0x85b1ae1d
mov edx, 0xf2322c48
xor edx, 0xf2322c4a
imul eax, edx
xor esi, 0x85b1ae1d
add esi, eax
add esi, 0xb81f1018
mov edx, esi
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x38fe3cbe
mov r8d, 0xffffffff
xor r8d, 0xe8211599
mov eax, edx
and eax, 0xe8211599
and esi, r8d
mov r10d, r9d
and r10d, 0xe8211599
mov r11d, r8d
and r11d, 0x38fe3cbe
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
xor edx, 0xffffffff
or r8d, 0xe8211599
and edx, r8d
or eax, edx
mov dword [rsp + 0x44], eax
mov dl, byte [rsp + 0x12f]
call fcn.1400fcdb7
mov ecx, 0x3db
call fcn.1400623e7
mov rcx, qword [rsp + 0x108]
mov rdx, rax
mov eax, dword [rsp + 0x44]
mov qword [rsp + 0x48], rdx
mov cl, byte [rcx]
mov dl, 0xda
xor dl, 0xda
cmp cl, dl
sete cl
mov byte [rsp + 0x53], cl
cmp eax, 0xb5387168
jae 0x1400fedbd
mov al, byte [rsp + 0x53]
test al, 1
jne 0x1400feab8
jmp 0x1400fec8b
mov rdx, qword [rsp + 0x48]
mov r9, qword [rsp + 0xc8]
movabs rax, 0x70ef29a5df67be92
mov rcx, rdx
sub rcx, rax
add rcx, r9
movabs rax, 0x70ef29a5df67be92
add rcx, rax
mov qword [rsp + 0x38], rcx
mov r8, rcx
xor r8, 0xffffffffffffffff
movabs rax, 0x8e0baf6a63026784
movabs r10, 0xe17482478d4b9908
xor rax, r10
and rax, r8
mov r11, 0xffffffffffffffff
movabs r8, 0x6f7f2d2dee49fe8c
xor r11, r8
mov r10, rcx
and r10, r11
mov r8, r9
xor r8, 0xffffffffffffffff
movabs rsi, 0x6f7f2d2dee49fe8c
and r8, rsi
and r9, r11
or rax, r10
or r8, r9
xor rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jl 0x1400feb64
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
jmp 0x1400fecfe
mov ecx, dword [0x140251cc0]
mov eax, dword [0x140251cc4]
mov edx, 0xcd69563d
xor edx, 0x1416daf0
xor eax, edx
add ecx, eax
sub ecx, 0xc8bbd1b7
sub ecx, 0x17d9212b
mov eax, ecx
and eax, 0xc6e7cb1
mov edx, 0xc066ff27
xor edx, 0x3f9900d8
xor eax, edx
and ecx, 0xc6e7cb1
mov edx, 0x1979e515
xor edx, 0xe6861aea
xor ecx, edx
and eax, ecx
mov ecx, 0xf992853
xor ecx, 0xf066d7ac
xor eax, ecx
cmp eax, 0xd6c477a8
ja 0x1400fedc6
mov eax, dword [0x140251cc8]
mov r8d, dword [0x140251ccc]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0xe529b741
xor r9d, 0x1ad648be
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x58141ab1
xor ecx, 0x58141ab1
mov edx, 0xcffb9641
xor edx, 0xf2e621b2
sub ecx, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xe9f1405e
mov r8d, 0xffffffff
xor r8d, 0xe9f1405e
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xe9f1405e
mov r8d, 0xe827c6ba
xor r8d, 0x1d686e4
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xf340125a
xor ecx, 0x7f5358e8
add eax, ecx
mov dword [rsp + 0x2c], eax
call fcn.140008c92
mov eax, dword [rsp + 0x2c]
cmp eax, 0xb37ac34d
ja 0x1400fedc6
jmp 0x1400fec8b
jmp 0x1400fed88
jmp 0x1400fed88
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xb0]
movabs rax, 0xd22f6cf0767edc7
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x37e5c3c34e66f370
movabs r8, 0x3ac7350c49011eb7
xor rax, r8
sub rdx, rax
call fcn.14001284c
jmp 0x1400fed88
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xb8]
mov dl, byte [rax]
call fcn.1400fcdb7
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x30], rax
mov r8, qword [rsp + 0x30]
movabs rcx, 0xd15b0abe7f3ea239
movabs rax, 0xaa5a859e19437d19
xor rcx, rax
mov rax, r8
add rax, rcx
add rax, 1
movabs rcx, 0x7b018f20667ddf20
sub rax, rcx
xor r8, 0xffffffffffffffff
movabs rdx, 0x9a7c7888337b4388
movabs rcx, 0x65838777cc84bc77
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
mov rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
mov rdx, rax
and rdx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0
mov qword [rsp + 0xe0], rax
jge 0x1400fe095
call fcn.140008c92
mov rax, qword [rsp + 0xf8]
add rsp, 0x130
pop rsi
ret
mov eax, 0xe99ec521
leave
invalid
mov esp, 0xe91699a2
cmp ch, dh
invalid
cdq
invalid
stosd dword [rdi], eax
imul edx, dword [rax], 0xfffa08e9
push qword [rcx - 0x16ced16e]
mov cl, 0x92
xor ecx, ebp
add esp, edi
invalid
popfq
mov ecx, 0xfde9adee
std
invalid