Function at 0x140003cd0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x128
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0xf0], rcx
call fcn.140003cc2
call fcn.140003cc2
mov rdx, qword [rsp + 0xf8]
mov eax, 0x17
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rdx
mov rcx, qword [rsp + 0x100]
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rcx
cmp rax, 0x63
jbe 0x1400035e3
mov rax, qword [rsp + 0xe0]
mov ecx, 0x64
xor edx, edx
div rcx
mov rdx, qword [rsp + 0xe0]
mov rcx, rax
mov qword [rsp + 0xc8], rcx
mov r9, 0xffffffffffffffff
movabs rax, 0x7fffffffffffff9c
xor r9, rax
mov r8, rcx
and r8, r9
mov rax, rcx
or rax, r9
xor rax, 0xffffffffffffffff
imul rax, r8
movabs r9, 0x98a0283832d14117
movabs r8, 0xe75fd7c7cd2ebe8b
xor r9, r8
mov r8, rcx
and r8, r9
movabs r9, 0x7fffffffffffff9c
or rcx, r9
imul rcx, r8
add rcx, rax
mov rax, rcx
and rax, rdx
or rcx, rdx
add rax, rcx
mov qword [rsp + 0xd0], rax
shl rax, 1
mov qword [rsp + 0xd8], rax
movabs rcx, 0x8be3618830c8f9ba
movabs rdx, 0x8be3618830c88645
xor rcx, rdx
cmp rax, rcx
jbe 0x1400031e0
call fcn.14000b01b
jmp 0x140003c84
mov rax, qword [rsp + 0xe8]
movabs rcx, 0x9bfbb734688d0435
movabs rdx, 0x9bfbb734688d0422
xor rcx, rdx
cmp rax, rcx
jbe 0x140003240
movabs rcx, 0xfe580a16cf604892
movabs rax, 0x1a7f5e9309fb76d
xor rcx, rax
movabs rdx, 0x990b44e6dc1a8389
movabs rax, 0x990b44e6dc1a839e
xor rdx, rax
call fcn.140013580
jmp 0x140003c84
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd8]
movabs rdx, 0xab43c3196e10b508
movabs r8, 0xab43c3196e104af6
xor rdx, r8
and rcx, rdx
mov qword [rsp + 0xb8], rcx
shl rax, 0x31
movabs rcx, 0x1000000000000
or rax, rcx
mov rcx, rax
shr rcx, 0x30
mov qword [rsp + 0xc0], rcx
movabs rcx, 0xc7000000000000
cmp rax, rcx
jbe 0x1400032bc
mov rcx, qword [rsp + 0xc0]
mov edx, 0xc7
call fcn.140013580
jmp 0x140003c84
mov eax, dword [0x1401d52c0]
xor eax, 0xbf1242c7
mov edx, dword [0x1401d52c4]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x1461ab
mov ecx, 0xffffffff
xor ecx, 0xb92775dc
or eax, edx
or ecx, 0xb92775dc
mov edx, 0x782f26b5
xor edx, 0x87d0d94a
xor eax, edx
and eax, ecx
mov ecx, 0xc8a4e3a5
xor ecx, 0x6dec588d
mov edx, 0x26138c2
xor edx, 0xfd9ec73d
xor ecx, edx
add eax, ecx
add eax, 1
xor eax, 0x1803b9e3
cmp eax, 0x46e22bbe
jae 0x140003c8c
mov rcx, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xc0]
mov eax, dword [0x1401d52c8]
xor eax, 0xb8ca1fd4
xor edx, edx
div dword [0x1401d52cc]
add eax, 0xc779a636
and eax, 0x2c0abe36
mov r9d, 0xcf7f7217
xor edx, edx
div r9d
lea rdx, [0x1401e2210]
mov dl, byte [rdx + r8]
mov byte [rsp + rcx + 0x110], dl
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
xor edx, edx
sub rdx, 1
sub r8, rdx
mov rdx, rcx
sub rdx, r8
mov qword [rsp + 0xa8], rdx
xor rdx, rcx
cmp rdx, 0
setl r8b
movabs rdx, 0x35eb62e1a797ccad
movabs r9, 0x35eb62e1a797ccad
xor rdx, r9
cmp rcx, rdx
setne cl
xor cl, 0xff
xor r8b, 0xff
xor edx, edx
xor dl, 0
xor r9d, r9d
xor r9b, 1
xor dl, r9b
or cl, r8b
or dl, 0
xor cl, 0xff
and cl, dl
mov byte [rsp + 0xb7], cl
cmp eax, 0x2ad5079d
ja 0x140003330
mov al, byte [rsp + 0xb7]
test al, 1
jne 0x14000340b
jmp 0x140003415
call fcn.1400077a3
jmp 0x140003c84
mov eax, dword [0x1401d52d0]
mov r8d, dword [0x1401d52d4]
mov ecx, 0x31c74f1b
xor ecx, 0xce38b0e4
mov r9d, r8d
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x1eb0fdc
xor r9d, 0xfe14f023
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
imul eax, eax, 0xbe091810
and eax, 0x764c0efa
mov ecx, eax
xor ecx, 0xb44a3569
mov edx, 0xffffffff
xor edx, 0xb44a3569
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0xe780bbe7
je 0x140003c95
mov rcx, qword [rsp + 0xb8]
mov eax, dword [0x1401d52d8]
xor eax, 0xf81621a8
xor edx, edx
div dword [0x1401d52dc]
mov r8d, eax
xor r8d, 0xececf50d
mov edx, 0x8dc6b834
xor edx, 0x723947cb
xor r8d, edx
and r8d, 0xececf50d
mov edx, 0xa5c71bf7
xor edx, 0xa5c71bf5
imul edx, r8d
mov r8d, 0xbc046c0b
xor r8d, 0x50e89906
sub edx, r8d
sub eax, edx
or eax, 0x91b46cd7
sub eax, 0xebd07e70
cmp rcx, 0xc7
seta cl
mov byte [rsp + 0xa7], cl
cmp eax, 0x5e490bcd
je 0x14000348d
mov al, byte [rsp + 0xa7]
test al, 1
jne 0x140003522
jmp 0x140003539
mov rcx, qword [rsp + 0xb8]
mov edx, 0xc7
call fcn.140013580
jmp 0x140003c84
mov rax, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xa8]
mov r9, qword [rsp + 0xb8]
lea r8, [0x1401e2210]
mov r8b, byte [r8 + r9]
mov byte [rsp + rcx + 0x110], r8b
movabs r8, 0xfe55e0577719c193
movabs rcx, 0xfe55e0577719c193
xor r8, rcx
movabs rcx, 0xfde09d3cab710234
movabs r9, 0x21f62c3548efdca
xor rcx, r9
sub r8, rcx
mov rcx, rdx
sub rcx, r8
mov r8, rcx
xor r8, rdx
cmp r8, 0
setl r8b
cmp rdx, 1
seta dl
and dl, r8b
test dl, 1
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x108], rax
jne 0x1400035d9
jmp 0x1400030ee
call fcn.1400077a3
jmp 0x140003c84
mov rax, qword [rsp + 0xe0]
cmp rax, 0xa
jae 0x140003787
mov rax, qword [rsp + 0xe8]
cmp rax, 0x17
jbe 0x140003761
mov eax, dword [0x1401d52e0]
or eax, dword [0x1401d52e4]
add eax, 0xe25d0994
sub eax, 0xd3a93742
sub eax, 0xe25d0994
mov ecx, 0x9ece833f
xor ecx, 0xd2488043
sub eax, ecx
xor eax, 0x88f6a66a
cmp eax, 0x43b9386e
je 0x140003c9e
mov rcx, qword [rsp + 0xe8]
mov edx, dword [0x1401d52e8]
mov eax, dword [0x1401d52ec]
mov r8d, 0x16265280
xor r8d, 0xe9d9ad7f
xor eax, r8d
add edx, eax
add edx, 1
mov eax, edx
and eax, eax
xor eax, 0xffffffff
mov r8d, 0xf418608e
xor r8d, 0xbe79f71
xor eax, r8d
mov r8d, 0xffffffff
xor r8d, 0xd4cd6d28
or eax, r8d
mov r8d, 0x90398bb3
xor r8d, 0x44f4e69b
mov r9d, 0x3b58cde0
xor r9d, 0xc4a7321f
xor r8d, r9d
mov r9d, 0x506bf6c6
xor r9d, 0x84a69bee
mov r10d, 0xe4d7df63
xor r10d, 0x1b28209c
xor r9d, r10d
or r8d, r9d
and edx, r8d
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov edx, 0xc02da179
xor edx, 0x84b906b7
sub eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x57fe7275
mov r8d, 0xffffffff
xor r8d, 0x83a5315d
or eax, edx
mov edx, 0x5bf80142
xor edx, 0xd85d301f
or edx, r8d
mov r8d, 0xda24e403
xor r8d, 0x25db1bfc
xor eax, r8d
and eax, edx
mov dword [rsp + 0xa0], eax
mov eax, 0xdce6de8d
xor eax, 0xd508d56d
mov dword [rsp + 0x9c], eax
mov edx, 0x17
call fcn.140013580
mov ecx, dword [rsp + 0x9c]
mov eax, dword [rsp + 0xa0]
cmp eax, ecx
jae 0x14000363f
jmp 0x140003c84
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xe0]
add al, 0x30
mov qword [rsp + 0x90], rcx
mov byte [rsp + 0x9b], al
jmp 0x140003a1d
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xe0]
shl rcx, 1
mov qword [rsp + 0x88], rcx
cmp rax, 0x17
jbe 0x140003872
mov eax, dword [0x1401d52f0]
mov r8d, dword [0x1401d52f4]
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, 0xd6fc0ab4
xor ecx, 0x9214e5cf
xor edx, edx
div ecx
xor eax, 0xba3c8193
add eax, 0xaddceacf
mov ecx, 0xa9f621d8
xor ecx, 0xdc7759bc
cmp eax, ecx
ja 0x140003ca7
mov rcx, qword [rsp + 0xe8]
mov eax, dword [0x1401d52f8]
xor edx, edx
div dword [0x1401d52fc]
xor eax, 0xf7e5ab74
and eax, 0x2758bf09
mov r8d, 0x7fe9a759
xor edx, edx
div r8d
mov dword [rsp + 0x84], eax
mov eax, 0xf21f3969
xor eax, 0x5e1155f5
mov dword [rsp + 0x80], eax
mov edx, 0x17
call fcn.140013580
mov ecx, dword [rsp + 0x80]
mov eax, dword [rsp + 0x84]
cmp eax, ecx
ja 0x140003ca7
jmp 0x140003c84
mov rax, qword [rsp + 0x88]
mov rcx, rax
and rcx, 1
xor rcx, 0xffffffffffffffff
add rax, 1
add rax, 1
add rax, rcx
mov qword [rsp + 0x78], rax
movabs rcx, 0xe3bc8bda4bb4aaf9
movabs rdx, 0xe3bc8bda4bb4aa3e
xor rcx, rdx
cmp rax, rcx
jbe 0x1400038c9
mov rcx, qword [rsp + 0x78]
mov edx, 0xc7
call fcn.140013580
jmp 0x140003c84
mov rax, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0x78]
lea rcx, [0x1401e2210]
mov cl, byte [rcx + rdx]
mov byte [rsp + rax + 0x110], cl
mov rcx, rax
add rcx, 0xffffffffffffffff
mov qword [rsp + 0x70], rcx
xor rcx, rax
cmp rcx, 0
setl dl
cmp rax, 0
setne cl
mov al, cl
xor al, 0xff
xor cl, 0xff
and al, cl
mov cl, dl
xor cl, 0xff
xor dl, 0xff
and cl, dl
xor al, 0xff
xor cl, 0xff
and al, cl
test al, 1
jne 0x14000392b
jmp 0x140003935
call fcn.1400077a3
jmp 0x140003c84
mov rax, qword [rsp + 0x70]
cmp rax, 0x17
jbe 0x140003958
mov rcx, qword [rsp + 0x70]
mov edx, 0x17
call fcn.140013580
jmp 0x140003c84
mov eax, dword [0x1401d5300]
mov ecx, dword [0x1401d5304]
xor ecx, 0xd1839f8e
xor eax, ecx
mov ecx, 0x392488d3
xor ecx, 0xa544b52e
xor eax, ecx
mov ecx, 0x6c0db0cd
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0xf7ecea81
xor ecx, 0xf7ecea81
or eax, ecx
mov ecx, 0xac8a9ab2
xor ecx, 0x32d851e4
cmp eax, ecx
je 0x140003cb0
mov rdx, qword [rsp + 0x88]
mov ecx, dword [0x1401d5308]
and ecx, dword [0x1401d530c]
xor ecx, 0x6be642cd
and ecx, 0x943c7a14
mov r8d, 0x38ddd5a1
xor r8d, 0x8f7e9199
mov eax, 0x65261eb
xor eax, 0xf9ad9e14
xor r8d, eax
mov eax, ecx
xor eax, r8d
and eax, ecx
lea rcx, [0x1401e2210]
mov cl, byte [rcx + rdx]
mov byte [rsp + 0x6f], cl
cmp eax, 0xd1977cb0
ja 0x1400039a6
mov al, byte [rsp + 0x6f]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x90], rcx
mov byte [rsp + 0x9b], al
jmp 0x140003a1d
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x90]
mov dl, byte [rsp + 0x9b]
lea r8, [rsp + 0x110]
add r8, rcx
mov qword [rsp + 0x48], r8
mov byte [rsp + rcx + 0x110], dl
mov edx, 0x18
movabs r8, 0x8a35841ea497bf11
sub rdx, r8
sub rdx, rcx
movabs rcx, 0x8a35841ea497bf11
add rdx, rcx
mov qword [rsp + 0x50], rdx
mov r8, qword [rax]
mov qword [rsp + 0x58], r8
mov rcx, r8
add rcx, rdx
mov qword [rsp + 0x60], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140003aa5
call fcn.1400077a3
jmp 0x140003c84
mov rax, qword [rsp + 0x60]
cmp rax, 0
jge 0x140003ad1
mov rcx, qword [rsp + 0x60]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000d167
jmp 0x140003c84
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0x60]
call fcn.140015140
mov rdx, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x58]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x40], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140003c20
mov eax, dword [0x1401d5310]
mov ecx, 0x5604b85f
xor ecx, 0xef2fcc5f
xor eax, ecx
mov ecx, dword [0x1401d5314]
mov edx, 0xe4bec152
xor edx, 0x6b2c6bd0
xor ecx, edx
xor edx, edx
div ecx
or eax, 0x8bd3eced
mov ecx, 0x26ef881a
xor edx, edx
div ecx
sub eax, 0x4842c2ab
mov ecx, 0xb168325
xor ecx, 0xf4a71925
cmp eax, ecx
je 0x140003cb9
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x1401d5318]
mov edx, dword [0x1401d531c]
xor edx, 0xffffffff
mov r8d, 0x275bc1f6
xor r8d, 0x275bc1f6
mov r9d, 0x90381514
xor r9d, 0x90381515
sub r8d, r9d
sub edx, r8d
sub eax, edx
and eax, 0xb1706ed
mov r9d, 0xffffffff
xor r9d, 0x552b8acf
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0x552b8acf
or eax, 0x552b8acf
imul eax, r8d
add eax, edx
mov r8d, 0x5df89739
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x3c], edx
movabs r8, 0x54049c5e2077089a
movabs rdx, 0xabfb63a1df88f765
xor r8, rdx
mov rdx, rax
and rdx, r8
or rax, 0xffffffffffffffff
add rdx, rax
call fcn.140013580
mov eax, dword [rsp + 0x3c]
cmp eax, 0x7af79a9
jae 0x140003b5e
jmp 0x140003c84
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax + 8]
add rax, 8
add rax, rcx
mov qword [rsp + 0x28], rax
xor eax, eax
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
cmp rax, rcx
je 0x140003c84
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x48]
mov dl, byte [rdx + rax]
mov byte [rcx + rax], dl
xor ecx, ecx
sub rcx, 1
sub rax, rcx
mov qword [rsp + 0x30], rax
jmp 0x140003c44
add rsp, 0x128
ret
call qword [rdi - 0x40]
shr cl, 1
wait
idiv bh
call qword [rsi + rdi*8]
adc al, 0xfe
cmp eax, 0xf7efe9da
invalid
imul esp, dword [0xd8e9a0fb], 0xfffffff9
invalid
push rsi
jmp 0x14000363f
jle 0x140003ca0
invalid
add cl, al
out dx, eax
jmp 0x1400039a6
add eax, dword [rax]
test eax, 0xfe9ce9ff
invalid
push rsi
sub rsp, 0x60
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rcx
movabs rax, 0x557accad7ee55227
movabs rcx, 0x557accad7ee55227
xor rax, rcx
cmp rdx, rax
mov qword [rsp + 0x58], rdx
jge 0x140003f5e
mov ecx, dword [0x1401d5320]
mov edx, dword [0x1401d5324]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
and eax, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
add eax, 0x4fa1e123
mov ecx, 0x25475c10
xor edx, edx
div ecx
and eax, 0xdafca5d1
cmp eax, 0x73169624
jae 0x140003f72
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x1401d5328]
mov edx, dword [0x1401d532c]
xor edx, 0xffffffff
add eax, edx
add eax, 1
mov r8d, 0x5991b6c5
xor edx, edx
div r8d
mov r8d, 0xdc19aee8
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x48]
and eax, eax
xor eax, 0xffffffff
mov r8d, 0x665c0d92
xor r8d, 0xff466e36
mov r9d, 0x9c4317af
xor r9d, 0x559740b
and r8d, r9d
mov r9d, 0xf773295a
xor r9d, 0x88cd6a5
xor r8d, r9d
and eax, r8d
mov r8d, 0xbd028d1f
xor r8d, 0x42fd72e0
xor eax, r8d
mov dword [rsp + 0x2c], eax
xor eax, eax
movabs r8, 0xdc7166c555b04bc9
sub rax, r8
sub rax, rdx
movabs rdx, 0xdc7166c555b04bc9
add rax, rdx
mov qword [rsp + 0x20], rax
mov edx, 1
call fcn.14001c160
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x2c]
mov rdx, rcx
add rdx, 8
mov qword [rsp + 0x30], rdx
mov rdx, qword [rcx + 8]
mov r8, qword [rcx]
mov byte [rdx + r8 + 8], 0x2d
mov r10, qword [rcx]
mov rdx, r10
and rdx, 1
mov rcx, r10
or rcx, 1
add rdx, rcx
mov qword [rsp + 0x38], rdx
movabs rcx, 0x7fab8f31154b8c94
movabs r8, 0x805470ceeab4736b
xor rcx, r8
mov r8, r10
xor r8, rcx
movabs rcx, 0xe09543f5f6a637b
and r8, rcx
movabs r9, 0x7f6674eb7cc627f9
movabs rcx, 0x716f20d423ac4482
xor r9, rcx
movabs rcx, 0xbbb4920453314730
movabs r11, 0x444b6dfbacceb8cf
xor rcx, r11
xor r9, rcx
and r10, r9
movabs rcx, 0x9e3cc69c8c5aa0e9
movabs r11, 0x61c3396373a55f16
xor rcx, r11
movabs r11, 0xbf08562be442b1d6
movabs rsi, 0x40f7a9d41bbd4e29
xor r11, rsi
xor rcx, r11
movabs r11, 0xe09543f5f6a637b
and rcx, r11
and r9, 0xffffffffffffffff
or r8, r10
or rcx, r9
xor r8, rcx
movabs rcx, 0x9691ca23925a3862
movabs r9, 0x696e35dc6da5c79d
xor rcx, r9
xor r8, rcx
mov rcx, rdx
xor rcx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x47], cl
cmp eax, 0xdb55348a
ja 0x140003d4d
mov al, byte [rsp + 0x47]
test al, 1
jne 0x140003f26
jmp 0x140003f3a
call fcn.1400077a3
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x58], rax
jmp 0x140003f5e
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x50]
mov qword [r8], rdx
mov rcx, qword [rcx]
mov byte [rcx + rdx + 8], 0
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
add rsp, 0x60
pop rsi
jmp 0x1400030b0
stosq qword [rdi], rax
js 0x140003fb3
jmp 0x140003d4d
mov dword [rcx], 0
mov qword [rcx + 8], 0
call 0x1400030b0
mov rax, qword [rsp + 0x20]
add rsp, 0x28
ret