Function at 0x140133e40
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0xd0
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x98], r8
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], rcx
mov al, byte [rsp + 0x108]
mov byte [rsp + 0xb7], al
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0xb8], rax
call fcn.1401343e1
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0xc0], rax
mov eax, 1
cmp rcx, 0
mov qword [rsp + 0xc8], rax
jle 0x140133fff
mov ecx, dword [0x140249b88]
xor ecx, 0x1e8a4ee6
mov edx, dword [0x140249b8c]
xor edx, 0xba71274a
mov r8d, ecx
and r8d, edx
mov eax, 0x8e58f2cf
xor eax, 0x8e58f2cd
imul eax, r8d
add ecx, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xd44096a
xor ecx, 0xe932c358
mov edx, 0x2b14afbb
xor edx, 0xd4eb5044
xor ecx, edx
mov edx, 0x12449e70
xor edx, 0xf6325442
mov r8d, 0x93d8af7
xor r8d, 0xf6c27508
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x4a50e778
xor ecx, 0xa01929cc
xor eax, ecx
sub eax, 0x922a5a61
add eax, 0x6a1ab48a
add eax, 0x922a5a61
cmp eax, 0x8e982709
je 0x1401343c6
mov eax, dword [0x140249b90]
xor eax, 0xff116d45
mov r8d, dword [0x140249b94]
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, eax
and ecx, 0x34f3db
shl ecx, 1
add eax, 0x34f3db
sub eax, ecx
sub eax, 0xddc96c09
mov ecx, 0xe2b4ced3
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rsp + 0xb8]
mov dword [rsp + 0x84], ecx
mov ecx, 0x26254e07
xor ecx, 0xb514ec4e
add rax, 0xfffe
mov r8d, 0xffff
xor edx, edx
div r8
mov rdx, rax
mov eax, dword [rsp + 0x84]
mov qword [rsp + 0x88], rdx
cmp eax, ecx
jae 0x1401343c6
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xc8], rax
jmp 0x140133fff
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x60], rax
add rax, 0xffffffffffffffff
mov qword [rsp + 0x68], rax
mov rax, rcx
and rax, rdx
or rcx, rdx
add rax, rcx
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x58], rax
cmp rax, rcx
je 0x1401343bd
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
mov al, byte [rsp + 0xb7]
mov r10, qword [rsp + 0x70]
mov r9, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x58]
mov r11, qword [rsp + 0x68]
mov r8, rsi
sub r8, r11
sete r8b
mov r11, rsi
shl r11, 0x10
sub r11, rsi
add r9, r11
mov qword [rsp + 0x40], r9
sub r10, r9
mov qword [rsp + 0x48], r10
mov r9, r10
sub r9, 0xffff
mov r9d, 0xffff
cmovl r9, r10
mov qword [rsp + 0x50], r9
and al, r8b
and al, 1
movzx r8d, al
movabs r9, 0xf2cfc5c0c4a6403f
movabs rax, 0xf2cfc5c0c4a6403e
xor r9, rax
call fcn.14012f620
mov rax, qword [rsp + 0xc0]
mov al, byte [rax]
mov cl, 0xca
xor cl, 0xca
cmp al, cl
jne 0x1401343bd
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
xor r8d, r8d
mov r9d, 2
call fcn.14012f620
mov rax, qword [rsp + 0xc0]
cmp byte [rax], 0
jne 0x1401343bd
mov rcx, qword [rsp + 0xa8]
call fcn.14012f8e1
mov rax, qword [rsp + 0xc0]
cmp byte [rax], 0
jne 0x1401343bd
mov eax, dword [0x140249b98]
mov ecx, dword [0x140249b9c]
mov edx, 0xff73de2
xor edx, 0xffe4bc44
xor ecx, edx
and eax, ecx
mov ecx, 0xc0e8cf8b
xor ecx, 0xed42ab2d
imul eax, ecx
mov ecx, 0x48913997
xor edx, edx
div ecx
mov ecx, 0x684563d7
xor ecx, 0x68a262db
xor edx, edx
div ecx
cmp eax, 0x1e634c6
ja 0x1401343cf
mov rcx, qword [rsp + 0xa8]
mov eax, dword [0x140249ba0]
xor eax, 0x937e0059
xor eax, dword [0x140249ba4]
mov r8d, 0x626e4ff0
xor r8d, 0x5af62569
xor edx, edx
div r8d
mov rdx, qword [rsp + 0xa0]
mov r8d, eax
mov rax, qword [rsp + 0x50]
imul r8d, r8d, 0x89b554d9
xor r8d, 0x94558ce8
mov dword [rsp + 0x38], r8d
mov r8d, eax
mov eax, r8d
add eax, 1
mov r9d, 0x8c40dcb8
xor r9d, 0x73bf2347
xor r8d, r9d
mov r9d, 0x720c6500
xor r9d, 0x720c9aff
or r8d, r9d
add r8d, eax
mov dword [rsp + 0x34], r8d
movabs r9, 0x1b421e7cbf15095b
movabs rax, 0x1b421e7cbf15094b
xor r9, rax
call fcn.14012f620
mov rcx, qword [rsp + 0xc0]
mov eax, dword [rsp + 0x38]
mov cl, byte [rcx]
mov dl, 0x2c
xor dl, 0x2c
cmp cl, dl
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x41dfde9d
jbe 0x140134195
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x140134268
jmp 0x1401343bd
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
mov r8d, dword [rsp + 0x34]
mov eax, r8d
and eax, 0xffff
shl eax, 1
add r8d, 0xffff
sub r8d, eax
movabs r9, 0xc9f6311d4024fa7a
movabs rax, 0xc9f6311d4024fa6a
xor r9, rax
call fcn.14012f620
mov rax, qword [rsp + 0xc0]
cmp byte [rax], 0
jne 0x1401343bd
mov eax, dword [0x140249ba8]
xor eax, 0xb6e5ffe1
mov r8d, dword [0x140249bac]
mov ecx, 0xf10cfc22
xor ecx, 0xef303dd
mov r9d, r8d
xor r9d, ecx
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
imul eax, eax, 0x71c6866f
and eax, 0xf92bad0
mov ecx, 0xc66f69
xor edx, edx
div ecx
cmp eax, 0xbf1c6206
jae 0x1401343d8
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x140249bb0]
sub eax, dword [0x140249bb4]
or eax, 0x7e8cd187
sub eax, 0xa8623fd6
mov edx, 0xa780342e
xor edx, 0x26c3fde9
and eax, edx
cmp rcx, 0
setg cl
mov byte [rsp + 0x33], cl
cmp eax, 0xaddec6a9
je 0x14013431e
mov al, byte [rsp + 0x33]
test al, 1
jne 0x14013436d
jmp 0x1401343aa
mov rax, qword [rsp + 0x50]
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x20], rax
call fcn.14012f930
mov rax, qword [rsp + 0xc0]
cmp byte [rax], 0
jne 0x1401343bd
mov rax, qword [rsp + 0x58]
add rax, 1
mov qword [rsp + 0x78], rax
jmp 0x14013403d
add rsp, 0xd0
pop rsi
ret
xchg ebx, eax
sub byte [rdi - 0x48117], bl
invalid
fcom dword [rcx + 0x33]
js 0x1401343bd
mov ebp, 0xf9fffffd
stc
sbb ch, byte [rsi - 0xc216f3]
invalid