Function at 0x1400e3b60
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x30
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], rcx
xor eax, eax
test rdx, rdx
cmovg rax, rdx
mov qword [rsp + 0x20], rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x28]
mov qword [rsp + 8], rax
cmp rax, rcx
je 0x1400e3bcd
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x18]
mov dl, byte [rcx + rax]
cmp dl, 0x20
setb cl
cmp dl, 0x7f
sete dl
or cl, dl
add rax, 1
test cl, 1
mov qword [rsp + 0x28], rax
jne 0x1400e3bcd
jmp 0x1400e3b83
mov eax, dword [0x1402477d0]
sub eax, dword [0x1402477d4]
imul eax, eax, 0xbdc2b8dc
mov r8d, 0xffffffff
xor r8d, 0x12845053
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x12845053
or eax, 0x12845053
imul eax, edx
add eax, ecx
and eax, 0x56747a71
cmp eax, 0x4ab8faa1
je 0x1400e3c94
mov rcx, qword [rsp + 8]
mov rdx, qword [rsp + 0x10]
mov eax, dword [0x1402477d8]
sub eax, dword [0x1402477dc]
mov r9d, 0x6d8a0d23
xor r9d, 0x3c7c1d71
mov r8d, 0x9f7ea0d6
xor r8d, 0x60815f29
xor r9d, r8d
mov r8d, eax
and r8d, r9d
mov r9d, eax
xor r9d, 0x51f61052
add eax, r9d
sub eax, r8d
add eax, 0xc25cbe24
xor eax, 0x6755c060
cmp rcx, rdx
setl cl
mov byte [rsp + 7], cl
cmp eax, 0x1233848e
je 0x1400e3c1e
mov al, byte [rsp + 7]
and al, 1
movzx eax, al
add rsp, 0x30
ret
sbb al, bh
imul ecx
cmp edi, 0x1f0fffff
add byte [rax - 0x7f], cl
sub rsp, 0xd8
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xb0], rcx
call fcn.1400e33a2
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xb8], rax
mov rax, qword [rdx]
mov qword [rsp + 0xc0], rax
movabs r8, 0x7a895cca7244a669
sub rax, r8
movabs r8, 0xa2d8b7160699b48d
movabs r9, 0xa2d8b7160699b48c
xor r8, r9
add rax, r8
movabs r8, 0x7a895cca7244a669
add rax, r8
mov qword [rsp + 0xc8], rax
mov qword [rdx], rax
mov rcx, qword [rcx]
mov qword [rsp + 0xd0], rcx
cmp rax, rcx
je 0x1400e3d6b
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xb0]
add rdx, 8
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rax
jmp 0x1400e3de2
mov ecx, 0x40
mov edx, 8
call fcn.1400129fd
mov rcx, rax
mov rax, qword [0x14025a748]
mov qword [rcx], rax
lea rax, [0x140258f90]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259018]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259020]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140258f90]
lea r8, [0x140258f9f]
lea r9, [0x140258fab]
mov qword [rsp + 0x20], 0xffffffff8875835e
call fcn.140012522
xor eax, eax
mov qword [rsp + 0x88], rax
jmp 0x1400e4744
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rcx
cmp rax, rcx
mov qword [rsp + 0x80], rax
jge 0x1400e45e6
mov eax, dword [0x1402477e0]
mov ecx, 0x3ec74a0a
xor ecx, 0x73bb6591
xor eax, ecx
mov edx, dword [0x1402477e4]
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
mov ecx, 0xfa647e7c
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x57cb17d9
mov r8d, 0xe77d9354
xor r8d, 0xb0b6848d
mov ecx, 0x44143cba
xor ecx, 0xbbebc345
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x57cb17d9
mov r8d, 0x5fd9e5e3
xor r8d, 0x812f23a
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x2987770a
xor edx, edx
div ecx
mov ecx, 0x72914d09
xor ecx, 0xa9c3c7bb
cmp eax, ecx
je 0x1400e4754
mov rcx, qword [rsp + 0x90]
mov eax, dword [0x1402477e8]
xor edx, edx
div dword [0x1402477ec]
mov rdx, qword [rsp + 0x70]
mov r8d, 0x5d9a45ba
xor r8d, 0x7a0cb4c7
add eax, r8d
mov r9d, 0xffffffff
xor r9d, 0x69e9bc3b
mov r8d, eax
and r8d, r9d
mov r9d, eax
xor r9d, 0x69e9bc3b
add eax, r9d
sub eax, r8d
and eax, 0x3b1c7d95
mov rcx, qword [rcx]
mov qword [rsp + 0x60], rcx
mov cl, byte [rcx + rdx + 8]
mov byte [rsp + 0x6f], cl
cmp eax, 0x98065d1e
je 0x1400e4754
mov al, byte [rsp + 0x6f]
sub al, 0x22
je 0x1400e3f34
jmp 0x1400e3f23
mov al, byte [rsp + 0x6f]
sub al, 0x5c
je 0x1400e3f55
jmp 0x1400e45a8
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x70]
add rax, 1
mov qword [rcx], rax
mov qword [rsp + 0x80], rax
jmp 0x1400e45e6
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
movabs rdx, 0x366874b3beed146c
add rax, rdx
movabs rdx, 0xbef3dd87b2db5937
movabs r8, 0xbef3dd87b2db5936
xor rdx, r8
add rax, rdx
movabs rdx, 0x43bdd5b6afdd0d0d
movabs r8, 0x75d5a10511301961
xor rdx, r8
sub rax, rdx
mov qword [rsp + 0x58], rax
cmp rax, rcx
jne 0x1400e414d
mov ecx, dword [0x1402477f0]
mov r8d, dword [0x1402477f4]
mov edx, r8d
xor edx, 0xffffffff
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, r8d
add ecx, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xa3074bdf
mov edx, 0x6e36a361
xor edx, 0xcd31e8be
mov r8d, 0xfe422901
xor r8d, 0x1bdd6fe
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xc0da7ea1
xor edx, edx
div ecx
mov ecx, 0x91b8833c
xor edx, edx
div ecx
mov ecx, 0x1383e38
xor ecx, 0x42475ba6
cmp eax, ecx
jae 0x1400e475d
mov eax, dword [0x1402477f8]
mov edx, dword [0x1402477fc]
mov ecx, edx
and ecx, eax
mov r8d, 0x14234d6a
xor r8d, 0xebdcb295
xor ecx, r8d
add eax, edx
add eax, 1
add eax, ecx
mov ecx, 0x9281ceb2
xor edx, edx
div ecx
sub eax, 0x6f9b79f3
mov ecx, 0x8cc1ceca
xor ecx, 0xbaff0d1f
add eax, ecx
mov ecx, 0x3ab7d95e
xor ecx, 0x552ca0ad
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xbd6cc5c3
add eax, ecx
add eax, 1
mov dword [rsp + 0x54], eax
movabs rcx, 0x30b2a1ac23c1cac3
movabs rax, 0x30b2a1ac23c1ca83
xor rcx, rax
movabs rdx, 0xc443791d62ca52b2
movabs rax, 0xc443791d62ca52ba
xor rdx, rax
call fcn.1400129fd
mov rcx, rax
mov rax, qword [0x14025a748]
mov qword [rcx], rax
lea rax, [0x140258f90]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259018]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259020]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xadcb5b3cd23cf31e
movabs rdx, 0x5234a4c318119ee8
xor rax, rdx
lea rdx, [0x140258f90]
lea r8, [0x140258f9f]
lea r9, [0x140258fab]
mov qword [rsp + 0x20], rax
call fcn.140012522
mov eax, dword [rsp + 0x54]
cmp eax, 0x1ef5f119
je 0x1400e475d
xor eax, eax
mov qword [rsp + 0x88], rax
jmp 0x1400e4744
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov al, byte [rax + rcx + 8]
add al, 0xde
movzx ecx, al
mov qword [rsp + 0x48], rcx
sub al, 0x53
ja case.0x1400e4180.1
mov rax, qword [rsp + 0x48]
lea rcx, [0x1400e4770]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x70]
add rax, 2
mov qword [rsp + 0x40], rax
jmp 0x1400e45b6
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
add rcx, 6
mov qword [rsp + 0x38], rcx
cmp rax, rcx
jge 0x1400e423b
mov ecx, 0x40
mov edx, 8
call fcn.1400129fd
mov rcx, rax
mov rax, qword [0x14025a748]
mov qword [rcx], rax
lea rax, [0x140258f90]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259018]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259020]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xafe9a15182d9f026
movabs rdx, 0xafe9a151897e96ca
xor rax, rdx
lea rdx, [0x140258f90]
lea r8, [0x140258f9f]
lea r9, [0x140258fab]
mov qword [rsp + 0x20], rax
call fcn.140012522
xor eax, eax
mov qword [rsp + 0x88], rax
jmp 0x1400e4744
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
mov al, byte [rax + rcx + 0xa]
mov byte [rsp + 0x37], al
xor ecx, ecx
sub cl, 0xd0
sub al, cl
mov cl, 0xa9
xor cl, 0xa3
cmp al, cl
jb 0x1400e4287
mov al, byte [rsp + 0x37]
add al, 0xbf
sub al, 6
jb 0x1400e4287
jmp 0x1400e4274
mov al, byte [rsp + 0x37]
add al, 0x9f
sub al, 5
ja 0x1400e4470
jmp 0x1400e4287
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
mov al, byte [rax + rcx + 0xb]
mov byte [rsp + 0x36], al
mov cl, 0xfd
xor cl, 0x2d
add al, cl
mov cl, 0x88
xor cl, 0x82
cmp al, cl
jb 0x1400e438a
mov eax, dword [str.gN_3s]
xor eax, 0xdbc39a4b
mov ecx, dword [0x140247804]
sub eax, 0x300b4d52
add eax, ecx
add eax, 0x300b4d52
imul eax, eax, 0x3be6d779
imul eax, eax, 0x993ad25a
mov ecx, 0xfe02d912
xor ecx, 0x5731455a
xor edx, edx
div ecx
mov ecx, 0x1249a602
xor ecx, 0x1522ce5d
cmp eax, ecx
ja 0x1400e4766
mov eax, dword [0x140247808]
xor eax, 0x8249616a
mov r8d, dword [0x14024780c]
mov ecx, 0xb6da6f63
xor ecx, 0x4925909c
mov r9d, r8d
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0xce524b84
xor r9d, 0x31adb47b
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
and eax, 0xdb7246c4
xor ecx, ecx
sub ecx, 0xfa7d887e
add eax, ecx
or eax, 0xbc9b1685
cmp eax, 0x61614746
je 0x1400e4766
mov al, byte [rsp + 0x36]
add al, 0xbf
sub al, 6
jb 0x1400e438a
jmp 0x1400e4377
mov al, byte [rsp + 0x36]
add al, 0x9f
sub al, 5
ja 0x1400e4470
jmp 0x1400e438a
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
movabs rdx, 0xc6f8c8cf352cada
add rcx, rdx
movabs rdx, 0xed1c46773d3d880f
movabs r8, 0xed1c46773d3d880b
xor rdx, r8
add rcx, rdx
movabs rdx, 0xc6f8c8cf352cada
sub rcx, rdx
mov al, byte [rax + rcx + 8]
mov byte [rsp + 0x35], al
add al, 0xd0
cmp al, 0xa
jb 0x1400e4400
mov al, byte [rsp + 0x35]
add al, 0xbf
sub al, 6
jb 0x1400e4400
jmp 0x1400e43ed
mov al, byte [rsp + 0x35]
add al, 0x9f
sub al, 5
ja 0x1400e4470
jmp 0x1400e4400
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
mov cl, byte [rcx + rdx + 0xd]
mov byte [rsp + 0x34], cl
mov dl, cl
and dl, 0xd0
shl dl, 1
xor cl, 0xd0
add cl, dl
cmp cl, 0xa
mov qword [rsp + 0x40], rax
jb 0x1400e45b6
mov rax, qword [rsp + 0x38]
mov cl, byte [rsp + 0x34]
add cl, 0xbf
sub cl, 6
mov qword [rsp + 0x40], rax
jb 0x1400e45b6
jmp 0x1400e4451
mov rax, qword [rsp + 0x38]
mov cl, byte [rsp + 0x34]
add cl, 0x9f
sub cl, 6
mov qword [rsp + 0x40], rax
jb 0x1400e45b6
jmp 0x1400e4470
movabs rcx, 0x7ee03b84cf8faca7
movabs rax, 0x7ee03b84cf8face7
xor rcx, rax
movabs rdx, 0x77d798eb8da6bae1
movabs rax, 0x77d798eb8da6bae9
xor rdx, rax
call fcn.1400129fd
mov rcx, rax
mov rax, qword [0x14025a748]
mov qword [rcx], rax
lea rax, [0x140258f90]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259018]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259020]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x431f03c3aacbeeaa
movabs rdx, 0x431f03c3efdd6405
xor rax, rdx
lea rdx, [0x140258f90]
lea r8, [0x140258f9f]
lea r9, [0x140258fab]
mov qword [rsp + 0x20], rax
call fcn.140012522
xor eax, eax
mov qword [rsp + 0x88], rax
jmp 0x1400e4744
mov ecx, 0x40
mov edx, 8
call fcn.1400129fd
mov rcx, rax
mov rax, qword [0x14025a748]
mov qword [rcx], rax
lea rax, [0x140258f90]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259018]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259020]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xf5c3844c05c8280e
movabs rdx, 0xf5c3844c52dc73d2
xor rax, rdx
lea rdx, [0x140258f90]
lea r8, [0x140258f9f]
lea r9, [0x140258fab]
mov qword [rsp + 0x20], rax
call fcn.140012522
xor eax, eax
mov qword [rsp + 0x88], rax
jmp 0x1400e4744
mov rax, qword [rsp + 0x70]
add rax, 1
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rax
jmp 0x1400e3de2
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x80]
sub rax, rcx
mov qword [rsp + 0x28], rax
movabs rcx, 0xd5ae51f6c4460441
movabs rdx, 0xd5ae51f6c4460443
xor rcx, rdx
cmp rax, rcx
mov qword [rsp + 0x88], rax
jle 0x1400e4744
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
test rax, rax
lea rcx, [rax + r8 + 8]
cmove rcx, rax
mov rax, rdx
xor rax, r8
not r8
and rdx, r8
add rdx, rdx
sub rdx, rax
call fcn.1400e3b60
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x28]
mov r8b, byte [rcx]
test r8b, r8b
sete cl
and cl, al
movabs rax, 0x3b31a7b4883d45a0
movabs r9, 0x3b31a7b4883d45a0
xor rax, r9
cmp r8b, 0
cmove rax, rdx
test cl, 1
mov qword [rsp + 0x88], rax
jne 0x1400e46ae
jmp 0x1400e4744
movabs rcx, 0x2210f48f73cceec7
movabs rax, 0x2210f48f73ccee87
xor rcx, rax
movabs rdx, 0xd6db9b9039771fd1
movabs rax, 0xd6db9b9039771fd9
xor rdx, rax
call fcn.1400129fd
mov rcx, rax
mov rax, qword [0x14025a748]
mov qword [rcx], rax
lea rax, [0x140258f90]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259018]
mov qword [rcx + 0x18], rax
mov dword [rcx + 0x18], eax
mov rax, qword [0x140259020]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140258f90]
lea r8, [0x140258f9f]
lea r9, [0x140258fab]
mov qword [rsp + 0x20], 0xfffffffff6bc6fea
call fcn.140012522
xor eax, eax
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
add rsp, 0xd8
ret
push rsp
js 0x1400e4701
or al, 0xe9
idiv r15d
inc ebp
ret
invalid
push r14
jp 0x1400e4783
jmp 0x1400e42f8
jmp [rsi - 0x51000003]