Function at 0x140023960
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rcx
mov rdx, qword [rcx]
movabs rcx, 0x1e51ef9c1c786cef
movabs rax, 0xe1ae1063e3879310
xor rcx, rax
mov rax, rdx
and rax, rcx
mov rcx, rdx
or rcx, 0xffffffffffffffff
add rax, rcx
mov qword [rsp + 0x60], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x140023b1d
mov ecx, dword [0x1401f2338]
mov edx, dword [0x1401f233c]
mov eax, ecx
and eax, edx
shl eax, 1
add ecx, edx
sub ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, 0x41b2eb14
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x41b2eb14
mov r8d, 0xffffffff
xor r8d, 0x41b2eb14
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x37aeea58
xor ecx, 0xea9c6d46
xor edx, edx
div ecx
mov ecx, 0x2eaa197
xor ecx, 0xd8157bbd
xor eax, ecx
cmp eax, 0x836e8631
je 0x140023fb6
mov rcx, qword [rsp + 0x58]
mov edx, dword [0x1401f2340]
mov r8d, dword [0x1401f2344]
xor eax, eax
sub eax, edx
xor edx, edx
sub edx, r8d
add eax, edx
xor esi, esi
sub esi, eax
mov eax, 0x29b70431
xor eax, 0xd648fbce
mov edx, esi
xor edx, eax
mov r8d, 0xffffffff
xor r8d, 0x1a310ddb
mov r9d, 0xffffffff
xor r9d, 0x381c5cc5
mov eax, edx
and eax, 0x381c5cc5
and esi, r9d
mov r10d, r8d
and r10d, 0x381c5cc5
mov r11d, r9d
and r11d, 0x1a310ddb
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r8d
mov r8d, 0xfe28c120
xor r8d, 0x1d73edf
xor edx, r8d
mov r8d, 0xb6a072c8
xor r8d, 0x8ebc2e0d
or r8d, r9d
and edx, r8d
or eax, edx
xor edx, edx
sub edx, eax
mov eax, 0x1d943341
xor eax, 0x1d943341
mov r8d, 0x4d1894ec
xor r8d, 0x5857203
sub eax, r8d
add edx, eax
xor eax, eax
sub eax, edx
mov edx, 0xaa03e3d8
xor edx, 0xf898d191
sub eax, edx
add rcx, 8
mov qword [rsp + 0x48], rcx
cmp eax, 0xc126d8e7
ja 0x140023fb6
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
jmp 0x140023b27
call fcn.1400091c0
jmp 0x140023faf
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
cmp rax, rcx
jl 0x140023eaa
mov eax, dword [0x1401f2348]
imul eax, dword [0x1401f234c]
mov ecx, 0xfef8ae86
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x7a4322eb
mov r8d, 0xffffffff
xor r8d, 0x7a4322eb
and edx, r8d
or eax, edx
xor eax, 0xffffffff
or ecx, 0x7a4322eb
xor ecx, 0xffffffff
mov edx, 0x6619d7e1
xor edx, 0x99e6281e
xor eax, edx
mov edx, 0xed28dd79
xor edx, 0x12d72286
xor ecx, edx
and eax, ecx
sub eax, 0x8933e733
add eax, 0xa37d689e
add eax, 0x8933e733
cmp eax, 0x3c6b2dbc
jae 0x140023fbf
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x1401f2350]
xor eax, 0x4cf8dddb
mov edx, dword [0x1401f2354]
mov r8d, 0xf85478d5
xor r8d, 0x5b8e7adf
xor edx, r8d
or eax, edx
xor eax, 0xe331b3bc
add eax, 0xb541a8f2
add eax, 0xc955bc22
mov edx, 0x4db9962
xor edx, 0xb19a3190
sub eax, edx
mov r8d, 0x82503275
xor edx, edx
div r8d
cmp rcx, 0
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0xbf2aa09e
jae 0x140023bbd
mov al, byte [rsp + 0x37]
test al, 1
jne 0x140023c46
jmp 0x140023c33
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
cmp rax, qword [rcx]
jl 0x140023c53
mov rcx, rdx
call fcn.140016582
jmp 0x140023faf
mov eax, dword [0x1401f2358]
mov ecx, dword [0x1401f235c]
xor ecx, 0x3f54964d
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xcf5ca9e3
xor edx, 0x5cd7acb5
mov eax, 0x960ff38f
xor eax, 0x69f00c70
xor edx, eax
mov eax, ecx
and eax, edx
mov r8d, 0xf0d1ef04
xor r8d, 0x635aea52
mov edx, ecx
xor edx, r8d
add ecx, edx
sub ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x4aa30640
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
mov r8d, 0xf6fa718e
xor r8d, 0x9058e71
xor eax, r8d
imul eax, edx
mov r8d, 0x5749a2cf
xor r8d, 0x1deaa48f
mov edx, ecx
and edx, r8d
or ecx, 0x4aa30640
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0x11c33ebe
xor edx, 0x24aa367b
mov r8d, 0xb0c8668
xor r8d, 0xf4f37997
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x356908c5
and edx, r8d
or eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x356908c5
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xe49aee50
xor ecx, 0x39a96511
cmp eax, ecx
ja 0x140023fc8
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x1401f2360]
xor edx, edx
div dword [str.zgXkm]
mov edx, eax
mov rax, qword [rsp + 0x38]
xor edx, 0xdee81340
or edx, 0x87152521
xor edx, 0xbeb04458
mov dword [rsp + 0x24], edx
mov edx, 0x9c5f5884
xor edx, 0x1d314451
mov dword [rsp + 0x20], edx
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
call fcn.14002391d
mov rdx, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x24]
xor r8d, r8d
sub r8, rdx
xor r9d, r9d
sub r9, 0xffffffffffffffff
add r8, r9
movabs r11, 0x70509b0d7bc893e9
movabs r9, 0x70509b0d7bc893e9
xor r11, r9
sub r11, r8
mov qword [rsp + 0x28], r11
mov r8, r11
xor r8, 0xffffffffffffffff
movabs r9, 0xa72661e030c24820
and r8, r9
movabs rsi, 0xcfdb7ae4f996b374
movabs r9, 0x68fd1b04c954fb54
xor rsi, r9
movabs r9, 0xc01b69879a0a74ac
movabs r10, 0x3fe4967865f58b53
xor r9, r10
xor rsi, r9
and r11, rsi
mov r9, rdx
xor r9, 0xffffffffffffffff
movabs r10, 0x625ef64051e97a8
movabs rdi, 0xa1038e8435dcdf88
xor r10, rdi
and r9, r10
mov r10, rdx
and r10, rsi
or r8, r11
or r9, r10
xor r8, r9
cmp r8, 0
setl r8b
movabs r9, 0x8d5191a6c2f741a1
movabs r10, 0x8d5191a6c2f741a1
xor r9, r10
cmp rdx, r9
setne dl
and dl, r8b
mov byte [rsp + 0x36], dl
cmp eax, ecx
je 0x140023d4a
mov rax, qword [rsp + 0x28]
mov cl, byte [rsp + 0x36]
test cl, 1
mov qword [rsp + 0x40], rax
jne 0x140023ea0
jmp 0x140023b27
call fcn.1400091c0
jmp 0x140023faf
mov ecx, dword [0x1401f2368]
sub ecx, dword [0x1401f236c]
mov eax, 0x1563f886
xor eax, 0xea9c0779
mov edx, ecx
xor edx, eax
mov eax, 0x7e5f0c43
xor eax, 0x435bbe4
and eax, edx
mov edx, 0x24de901c
xor edx, 0x5eb427bb
mov r8d, 0x24c98222
xor r8d, 0xdb367ddd
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0xc6e8cb2e
xor ecx, 0xbe623bf5
imul eax, ecx
mov edx, 0x5eef118b
xor edx, 0xc0f4ec13
mov ecx, eax
xor ecx, edx
mov edx, 0xf81b382f
xor edx, 0x6600c5b7
mov r8d, 0xe781d8b0
xor r8d, 0x187e274f
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0xc3ed4744
je 0x140023fd1
mov r8, qword [rsp + 0x50]
mov eax, dword [0x1401f2370]
mov ecx, 0xb669246f
xor ecx, 0x628b9af9
xor eax, ecx
mov ecx, dword [0x1401f2374]
mov edx, 0xb4e40005
xor edx, 0x63972eaf
xor ecx, edx
mov edx, 0xb177988d
xor edx, 0xc06135c0
sub eax, edx
sub eax, ecx
add eax, 0x7116ad4d
mov ecx, 0xe620a2dc
xor edx, edx
div ecx
xor eax, 0xfc85d22b
mov ecx, 0xb62e40fe
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x58]
mov ecx, 0x24a1dd29
xor ecx, 0x6d5a6838
mov qword [rdx], r8
cmp eax, ecx
ja 0x140023fd1
jmp 0x140023faf
add rsp, 0x68
pop rdi
pop rsi
ret
out dx, al
mov word [rbx], fs
jns 0x140023fa4
jae 0x140023fb7
invalid
jb 0x14002403a
ret
invalid
ret 0x27d7
sahf
xor ecx, r9d
mov r9d, 0x47a0404e
xor r9d, 0xb85fbfb1
xor r8d, r9d
and ecx, r8d
or eax, edx
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0xffffffff
add ecx, 0xddc1800c
and ecx, 0x56e99ed
mov edx, 0xffffffff
xor edx, 0x631e524a
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0x62e6dafd
ja 0x14002444f
mov eax, dword [0x1401f2380]
and eax, dword [0x1401f2384]
mov ecx, 0xa96c87a
xor ecx, 0xf6a0229
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0xcd7e2f8a
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xc673102d
xor r8d, 0xb0d3fa7
mov edx, eax
and edx, r8d
or eax, 0xcd7e2f8a
imul eax, edx
add eax, ecx
imul eax, eax, 0x96209a25
mov dword [rsp + 0x64], eax
call fcn.14000c8dc
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
mov r8, rax
mov eax, dword [rsp + 0x64]
add r8, 0x60
mov qword [rsp + 0x68], r8
mov rcx, qword [rcx]
mov qword [rsp + 0x70], rcx
cmp rcx, rdx
setg cl
mov byte [rsp + 0x7f], cl
cmp eax, 0x71c2373a
jbe 0x14002444f
mov al, byte [rsp + 0x7f]
test al, 1
jne 0x140024134
jmp 0x14002414e
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
call fcn.140023960
jmp 0x140024445
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x80]
cmp rax, rcx
jge 0x140024445
mov rax, qword [rsp + 0x88]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x50], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x58], rax
cmp rax, 0
je 0x1400241ae
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x58]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x14002434d
mov rdx, qword [rsp + 0x70]
mov r9, qword [rsp + 0x80]
xor eax, eax
sub rax, rdx
mov rcx, r9
add rcx, rax
mov qword [rsp + 0x48], rcx
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs r8, 0xe2ef75164068afe2
and rax, r8
mov r11, 0xffffffffffffffff
movabs r8, 0xe2ef75164068afe2
xor r11, r8
mov r10, rcx
and r10, r11
mov r8, r9
xor r8, 0xffffffffffffffff
movabs rsi, 0xe2ef75164068afe2
and r8, rsi
and r9, r11
or rax, r10
or r8, r9
xor rax, r8
cmp rax, 0
setl al
xor rcx, rdx
cmp rcx, 0xffffffffffffffff
setg dl
xor al, 0xff
xor dl, 0xff
mov cl, 1
xor cl, 1
xor r8d, r8d
xor r8b, 1
xor cl, r8b
or al, dl
or cl, 0
xor al, 0xff
and al, cl
test al, 1
jne 0x140024343
mov ecx, dword [0x1401f2388]
mov edx, dword [0x1401f238c]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, 0x9c647ada
xor eax, 0x25686ac8
add ecx, eax
sub ecx, 0x22e6cd0
mov eax, ecx
and eax, eax
mov edx, 0x6e405b1f
xor edx, 0x91bfa4e0
xor eax, edx
and eax, 0x9ad4a59
mov edx, 0xa56f7348
xor edx, 0x5a908cb7
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x9ad4a59
mov r8d, 0xffffffff
xor r8d, 0x9ad4a59
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xe1d852bd
xor ecx, 0x1e27ad42
xor eax, ecx
cmp eax, 0x6e2f5a6c
je 0x140024458
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x70]
mov eax, dword [0x1401f2390]
xor eax, 0x24869159
or eax, dword [0x1401f2394]
sub eax, 0x81cf3b44
or eax, 0x5412d8d9
mov r9d, eax
add r9d, 1
xor eax, 0xffffffff
or eax, 0xcbd0960e
add eax, r9d
mov dword [rsp + 0x44], eax
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.140014320
mov rcx, qword [rsp + 0x50]
mov rdx, rax
mov eax, dword [rsp + 0x44]
mov qword [rcx], rdx
cmp eax, 0x2a3f9371
jbe 0x140024458
jmp 0x14002434d
call fcn.1400091c0
jmp 0x140024445
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
mov qword [rcx], rdx
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jge 0x140024445
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.1400e0050
mov rax, qword [rsp + 0x68]
mov al, byte [rax]
mov cl, 0xf9
xor cl, 0xf9
cmp al, cl
jne 0x140024445
mov rcx, qword [rsp + 0x30]
movabs rdx, 0xfb4342ae21d3227e
movabs rax, 0xfb4342ae21d3227f
xor rdx, rax
mov rax, rcx
add rax, rdx
mov rdx, rcx
and rdx, rdx
xor rdx, 0xffffffffffffffff
movabs r8, 0x6589799ea874f9e
movabs r9, 0xf9a768661578b061
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
mov r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rcx, r8
xor rcx, 0xffffffffffffffff
and rdx, rcx
xor rdx, 0xffffffffffffffff
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x38], rax
jge 0x14002436a
call fcn.1400091c0
nop
add rsp, 0x90
pop rsi
ret
mov ebx, 0xe9d7ef50
sub edi, esp
invalid
movabs byte [0xfffffe6fe9212331], al
nop word cs:[rax + rax]