Function at 0x140041120
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], rcx
call fcn.14003e60a
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x80], rax
mov r8, qword [rdx]
mov qword [rsp + 0x78], r8
mov edx, 0x100
call fcn.140034e28
mov rax, qword [rsp + 0x80]
mov al, byte [rax]
mov cl, 0x92
xor cl, 0x92
cmp al, cl
jne 0x140041512
mov r8, qword [rsp + 0x78]
movabs rcx, 0xadca099f78526cf
mov rax, r8
add rax, rcx
add rax, 0xffffffffffffffff
movabs rcx, 0xadca099f78526cf
sub rax, rcx
mov qword [rsp + 0x60], rax
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs rcx, 0x5ab52bc956b7d73d
movabs r9, 0x7ed743dd5ce53be2
xor rcx, r9
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0x246268140a52ecdf
xor r10, rdx
mov r9, rax
and r9, r10
mov rdx, r8
xor rdx, 0xffffffffffffffff
movabs r11, 0x246268140a52ecdf
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x14004123c
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
add rax, 8
mov qword [rsp + 0x48], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x58], rax
jmp 0x140041246
call fcn.140008d37
jmp 0x140041512
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x40], rax
mov ecx, dword [0x140242e30]
or ecx, dword [0x140242e34]
mov eax, 0x74654db7
xor eax, 0xbbda60dd
xor ecx, eax
mov edx, 0xeea7a0bf
xor edx, 0x11585f40
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xdc63306f
mov edx, 0xffffffff
xor edx, 0xdc63306f
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0x11ec617
mov edx, 0xcb586d60
xor edx, 0xca46ab77
mov r8d, 0xb7ed955a
xor r8d, 0x48126aa5
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0x123135a6
jb 0x14004151a
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x140242e38]
and eax, dword [0x140242e3c]
add eax, 0xe0798a99
mov r9d, 0xeb078ccc
xor r9d, 0x8c2c2221
mov edx, 0xc42c510
xor edx, 0xf3bd3aef
xor r9d, edx
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0x6b744344
xor r9d, 0x948bbcbb
xor edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x672baeed
mov r9d, 0xb16d1456
xor r9d, 0xd646babb
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, 0xa60dd349
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x50]
cmp rcx, rdx
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x18d59465
jae 0x1400412ce
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x140041512
jmp 0x140041374
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
cmp rax, rcx
jl 0x1400413bb
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
call fcn.140012b72
jmp 0x140041512
mov eax, dword [0x140242e40]
add eax, dword [0x140242e44]
add eax, 0x66706a4c
imul eax, eax, 0x156031a1
mov r8d, 0xffffffff
xor r8d, 0x295d891d
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x295d891d
or eax, 0x295d891d
imul eax, edx
add eax, ecx
mov ecx, 0x78ca7449
xor ecx, 0xc0a506e6
cmp eax, ecx
jae 0x140041523
mov r9, qword [rsp + 0x60]
mov r8, qword [rsp + 0x40]
mov ecx, dword [0x140242e48]
imul ecx, dword [0x140242e4c]
mov eax, ecx
and eax, 0xfe8cd350
xor ecx, 0xfe8cd350
or eax, ecx
mov ecx, 0xc80708a5
xor ecx, 0xfe490756
imul eax, ecx
imul eax, eax, 0xcb5f0c83
mov ecx, 0x34d9c2e3
xor ecx, 0xc0beec9e
movabs r10, 0xf6affc4ba327c57a
mov rdx, r9
add rdx, r10
sub rdx, r8
movabs r8, 0xf6affc4ba327c57a
sub rdx, r8
mov qword [rsp + 0x20], rdx
mov r8, rdx
xor r8, r9
cmp r8, 0
setl r9b
cmp rdx, 0xffffffffffffffff
setg r8b
mov dl, r8b
and dl, r9b
xor dl, 0xff
and r8b, r9b
xor r8b, 0xff
xor dl, 0xff
xor r8b, 0xff
or dl, r8b
mov byte [rsp + 0x2f], dl
cmp eax, ecx
je 0x140041414
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x1400414cb
jmp 0x1400414d5
call fcn.140008d37
jmp 0x140041512
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
movzx edx, byte [rdx + rax + 8]
mov qword [rcx + rdx*8], r8
xor ecx, ecx
sub rcx, rax
xor eax, eax
sub rax, 1
add rcx, rax
xor eax, eax
sub rax, rcx
mov qword [rsp + 0x58], rax
jmp 0x140041246
add rsp, 0x88
ret
or al, 0x3b
insb byte [rdi], dx
lodsd eax, dword [rsi]
jmp 0x1400412ce
and eax, 0xe9424daa
invalid
invalid
invalid
invalid