Function at 0x1400123f0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x80
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rcx
cmp rdx, 0x11
jge 0x1400124ce
mov eax, dword [0x140216b08]
mov r8d, dword [0x140216b0c]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
and eax, 0x57b6d3b9
mov ecx, 0x97536431
xor edx, edx
div ecx
add eax, 0x4cd7dc6d
cmp eax, 0xe0a9200b
je 0x140012a38
mov rcx, qword [rsp + 0x78]
mov eax, dword [0x140216b10]
mov edx, 0x1a6ce4a3
xor edx, 0x48d3b465
xor eax, edx
mov edx, dword [0x140216b14]
xor edx, 0x1718a804
or eax, edx
or eax, 0x69371db7
xor eax, 0x3111ecc5
mov r8d, 0x31c7f6a4
xor r8d, 0xb751227a
xor edx, edx
div r8d
mov dword [rsp + 0x64], eax
call fcn.14000c0f0
mov rcx, rax
mov eax, dword [rsp + 0x64]
mov qword [rsp + 0x68], rcx
cmp eax, 0xd65c289e
je 0x14001245d
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x58], rax
jmp 0x140012a2a
mov rdx, qword [rsp + 0x70]
mov r9, qword [rsp + 0x78]
mov rcx, rdx
add rcx, r9
mov qword [rsp + 0x50], rcx
movabs r8, 0x7327eba13459f317
movabs rax, 0x8cd8145ecba60ce8
xor r8, rax
mov rax, rcx
xor rax, r8
movabs r8, 0x47708b681086a47
and rax, r8
mov r11, 0xffffffffffffffff
movabs r8, 0x47708b681086a47
xor r11, r8
mov r10, rcx
and r10, r11
mov r8, r9
xor r8, 0xffffffffffffffff
movabs rsi, 0x47708b681086a47
and r8, rsi
and r9, r11
or rax, r10
or r8, r9
xor rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1400126be
mov r11d, dword [0x140216b18]
mov ecx, dword [0x140216b1c]
xor ecx, 0xc7918d72
mov eax, r11d
xor eax, ecx
xor eax, 0xffffffff
or r11d, ecx
and r11d, eax
mov eax, 0x340c46de
xor eax, 0xa4ba8cf5
xor r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xc930d5c
xor r8d, 0xd63245f
mov eax, 0x1acb7dec
xor eax, 0xe5348213
xor r8d, eax
mov edx, 0xf27a866b
xor edx, 0xca176ab8
mov eax, 0x9052ce88
xor eax, 0x6fad3177
xor edx, eax
mov eax, ecx
and eax, 0x386decd3
and r11d, edx
mov r10d, 0xafd0fb45
xor r10d, 0x97bd1796
mov r9d, r8d
and r9d, r10d
mov r10d, edx
and r10d, 0x1f02903
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x386decd3
and ecx, edx
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x16e313aa
add eax, ecx
add eax, 1
cmp eax, 0xd7861793
ja 0x140012a41
mov eax, dword [0x140216b20]
xor edx, edx
div dword [0x140216b24]
mov ecx, eax
sub ecx, 0xe1eb16ca
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
mov edx, 0x4d2ef249
xor edx, 0x8398332d
and eax, edx
mov edx, 0x4034b279
xor edx, 0xbfcb4d86
xor eax, edx
mov edx, 0xceb6c164
and edx, 0xceb6c164
xor edx, 0xffffffff
mov r8d, 0x44456a5f
xor r8d, 0xbbba95a0
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
mov edx, 0xe4743e49
xor edx, 0x1b8bc1b6
xor ecx, edx
or eax, ecx
mov ecx, 0x8cca7aff
xor ecx, 0x367b3c8f
xor edx, edx
div ecx
mov dword [rsp + 0x4c], eax
mov eax, 0x297bfab2
xor eax, 0x135b20eb
mov dword [rsp + 0x48], eax
call fcn.140008bc6
mov ecx, dword [rsp + 0x48]
mov eax, dword [rsp + 0x4c]
cmp eax, ecx
ja 0x140012617
jmp 0x140012a2a
mov rdx, qword [rsp + 0x50]
mov rcx, rdx
dec rcx
mov r8, rdx
neg r8
movabs rax, 0xa7a137643c9ae810
and r8, rax
movabs r10, 0x585ec89bc36517ef
mov r9, rcx
and r9, r10
or r8, r9
xor rdx, r8
xor rdx, rax
test rcx, rcx
setns al
or rcx, rdx
sets cl
add al, cl
inc al
test al, 1
jne 0x140012712
jmp 0x14001271c
call fcn.140008bc6
jmp 0x140012a2a
mov rdx, qword [rsp + 0x50]
movabs rcx, 0x5cf3b11ebc92af08
movabs rax, 0x5cf3b11ebc92af09
xor rcx, rax
movabs rax, 0x2f0ef3bedbb91ac3
movabs r8, 0xd0f10c412446e53c
xor rax, r8
xor rcx, rax
xor eax, eax
sub rax, 1
sub rcx, rax
mov rax, rdx
sub rax, rcx
mov qword [rsp + 0x40], rax
movabs rcx, 0x26f4335e4be52bb3
add rcx, 0
sub rcx, rdx
movabs rdx, 0x42dfc9ccff603521
movabs r8, 0x642bfa92b4851e92
xor rdx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1400127a8
call fcn.140008bc6
jmp 0x140012a2a
mov rax, qword [rsp + 0x40]
cmp rax, 0
jge 0x1400127c7
mov rcx, r8
mov rdx, r8
call fcn.14000e6db
jmp 0x140012a2a
mov rcx, qword [rsp + 0x40]
call fcn.14000c0f0
mov r8, qword [rsp + 0x70]
mov qword [rsp + 0x30], rax
mov rdx, r8
add rdx, 0xffffffffffffffff
and rdx, rax
movabs rax, 0xa0580969fa0fe0ea
movabs rcx, 0x2d3d90a67ea29053
xor rax, rcx
mov rcx, r8
sub rcx, rax
sub rcx, rdx
movabs rax, 0xf8475c71944a437b
movabs r9, 0x7522c5be10e733c2
xor rax, r9
add rcx, rax
mov qword [rsp + 0x38], rcx
mov rax, rcx
xor rax, r8
movabs r8, 0x213ff0629b8888e8
movabs r9, 0x213ff0629b8888e8
xor r8, r9
cmp rax, r8
setl al
xor rcx, rdx
movabs rdx, 0xff984f02001c5586
movabs r8, 0x67b0fdffe3aa79
xor rdx, r8
cmp rcx, rdx
setg cl
and al, cl
test al, 1
jne 0x140012876
jmp 0x140012880
call fcn.140008bc6
jmp 0x140012a2a
mov ecx, dword [0x140216b28]
sub ecx, dword [0x140216b2c]
mov eax, ecx
and eax, 0xf40f7aca
or ecx, 0xf40f7aca
add eax, ecx
mov ecx, 0x9efb9ce7
xor ecx, 0x96a2aeb2
imul eax, ecx
mov ecx, 0xbe429f5b
xor edx, edx
div ecx
mov ecx, 0x5e4ad686
xor ecx, 0x7061e8b0
cmp eax, ecx
ja 0x140012a4a
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x140216b30]
mov edx, dword [0x140216b34]
mov r8d, 0x25b2015c
xor r8d, 0x5e64eb7e
xor edx, r8d
mov r8d, 0x5dfd32e3
xor r8d, 0x7b7ff6ca
add eax, r8d
add eax, edx
mov edx, 0xda05d0d3
xor edx, 0xfc8714fa
sub eax, edx
mov edx, 0xffffffff
xor edx, 0x121a38b2
xor r8d, r8d
sub r8d, 1
sub edx, r8d
sub eax, edx
mov edx, 0x1fa19fc8
xor edx, 0x9cf5bd37
mov r8d, eax
xor r8d, edx
xor r8d, 0xffffffff
and r8d, 0x835422ff
mov edx, 0xa426aaa8
xor edx, 0xa426aaaa
imul edx, r8d
mov r8d, 0x852c6d6d
xor r8d, 0x6784f92
sub edx, r8d
sub eax, edx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x640821af
mov edx, 0xe45b33d7
xor edx, 0x5dd9b3b3
mov r9d, 0x617ff672
xor r9d, 0x9e80098d
xor edx, r9d
or eax, r8d
or edx, 0xb9828064
xor eax, 0xffffffff
and eax, edx
mov rdx, rcx
add rdx, 0xfffffffffffffffe
mov qword [rsp + 0x20], rdx
mov r9, rdx
xor r9, rcx
xor r9, 0xffffffffffffffff
mov r8, rcx
and r8, r9
shl r8, 1
sub r8, rcx
sub rdx, r8
movabs r8, 0x33a8de258a813d12
movabs r9, 0x33a8de258a813d12
xor r8, r9
cmp rdx, r8
setl dl
cmp rcx, 1
setg cl
and cl, dl
mov byte [rsp + 0x2f], cl
cmp eax, 0xc73f649e
je 0x140012a4a
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x1400129fe
jmp 0x140012a08
call fcn.140008bc6
jmp 0x140012a2a
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x20]
add rdx, rcx
mov r8w, ax
mov word [rdx], r8w
add rax, rcx
mov qword [rsp + 0x58], rax
shl byte [rsi + 0x44], 0x89
add cl, byte [rax + 1]
enter 0xffffffffffff8948, 0x44
and al, 0x58
mov rax, qword [rsp + 0x58]
add rsp, 0x80
pop rsi
ret
std
ret 0x7308
int 0xd4
in eax, dx
jmp 0x140012617
jg 0x140012a1d
cmp dword [rax - 0x17], edx
jb 0x140012a4f
invalid