Function at 0x14003fe30
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0xa0
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rcx
call fcn.14003e60a
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x90], rax
mov rax, qword [rdx]
mov qword [rsp + 0x98], rax
cmp rax, 0
jge 0x14003ffc5
mov eax, dword [0x140242dc0]
mov ecx, 0x1b497f75
xor ecx, 0x73c8353c
xor eax, ecx
mov edx, dword [0x140242dc4]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
imul eax, eax, 0xe21b45db
mov r8d, 0xa45e82b
xor r8d, 0xa3aff647
mov ecx, 0x856d9365
xor ecx, 0x7a926c9a
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xa9ea1e6c
or eax, 0xa9ea1e6c
imul eax, edx
add eax, ecx
or eax, eax
mov ecx, 0xc36333e1
xor ecx, 0x3c9ccc1e
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x9cdb0348
mov edx, 0xffffffff
xor edx, 0x9cdb0348
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0x5d19cb82
jae 0x140040397
mov rcx, qword [rsp + 0x98]
mov esi, dword [0x140242dc8]
mov r11d, dword [0x140242dcc]
mov edx, esi
xor edx, 0xffffffff
mov r8d, r11d
xor r8d, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x75709949
mov r10d, 0xa79bbb05
xor r10d, 0xd2eb224c
mov eax, edx
and eax, r10d
and esi, r9d
mov r10d, r8d
and r10d, 0x75709949
and r11d, r9d
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r8d
xor edx, 0xffffffff
mov r8d, 0xd5a0e0e5
xor r8d, 0xa0d079ac
or r8d, r9d
and edx, r8d
or eax, edx
add eax, 0x9dbd9e36
sub eax, 0x62f8f914
mov edx, 0x96d510e4
xor edx, 0x57d9c396
xor eax, edx
mov dword [rsp + 0x74], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000db87
mov eax, dword [rsp + 0x74]
cmp eax, 0x3367c870
jbe 0x140040397
jmp 0x140040386
mov eax, dword [0x140242dd0]
mov ecx, 0xdf314546
xor ecx, 0xdc295f00
xor eax, ecx
mov edx, dword [0x140242dd4]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
mov r8d, 0xfe4e2319
xor r8d, 0x1b1dce6
xor edx, r8d
and eax, edx
sub eax, ecx
mov edx, 0xa4ecad01
xor edx, 0x682c9737
mov ecx, eax
and ecx, edx
xor eax, 0xccc03a36
or ecx, eax
mov eax, 0x89377214
xor eax, 0xc6bb08ac
and ecx, eax
mov eax, ecx
and eax, 0xe4755f1e
mov edx, 0x586e0cc
xor edx, 0xe1f3bfd2
xor ecx, edx
or eax, ecx
cmp eax, 0x53178306
jb 0x1400403a0
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x78]
mov eax, dword [0x140242dd8]
xor eax, 0xfe6cfe74
mov r8d, dword [0x140242ddc]
xor r8d, 0x1dc27431
imul eax, r8d
xor eax, 0x18f71415
add eax, 0xc4f9585b
mov r8d, 0x89fe8205
imul rax, r8
shr rax, 0x3e
mov dword [rsp + 0x64], eax
call fcn.140018c28
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x64]
mov rdx, qword [rcx]
mov r8, rdx
dec r8
mov qword [rsp + 0x68], r8
test r8, r8
setns cl
or rdx, r8
sets dl
add cl, dl
inc cl
mov byte [rsp + 0x73], cl
cmp eax, 0x3ed20da7
jae 0x14004003c
mov al, byte [rsp + 0x73]
test al, 1
jne 0x1400400fc
jmp 0x1400400d1
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x88]
add rcx, 8
mov qword [rsp + 0x48], rcx
add rax, 8
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x58], rax
jmp 0x140040106
call fcn.140008d37
jmp 0x140040386
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x40], rax
cmp rax, rcx
jg 0x140040386
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx]
mov qword [rsp + 0x38], rcx
cmp rax, rcx
jl 0x140040181
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
movabs rax, 0xc532dd316c7e1cda
sub rdx, rax
movabs rax, 0x528d18f09c1f1860
movabs r8, 0xad72e70f63e0e79f
xor rax, r8
add rdx, rax
movabs rax, 0xc532dd316c7e1cda
add rdx, rax
call fcn.140012b72
jmp 0x140040386
mov rcx, qword [rsp + 0x78]
call fcn.14003ea75
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
cmp rax, rcx
jl 0x1400402fe
mov eax, dword [0x140242de0]
mov ecx, dword [0x140242de4]
xor ecx, 0xa60d9ac8
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
mov ecx, 0x45a5f561
xor ecx, 0xd3697fde
add eax, ecx
mov ecx, 0x412603da
xor ecx, 0xe8dec2fe
add eax, ecx
sub eax, 0x96cc8abf
add eax, 0x1042b8ea
mov r8d, 0xffffffff
xor r8d, 0xfc2157c7
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xfc2157c7
or eax, 0xfc2157c7
imul eax, edx
add eax, ecx
mov ecx, 0xfadb53bf
xor ecx, 0x9c726c2
cmp eax, ecx
je 0x1400403a9
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
mov eax, dword [0x140242de8]
xor eax, 0x310d1b5e
imul eax, dword [0x140242dec]
sub eax, 0x8131ae03
or eax, eax
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x7962067b
mov r9d, 0x4d4e8727
xor r9d, 0x342c815c
mov r10d, 0xf06376ae
xor r10d, 0xf9c8951
xor r9d, r10d
and r8d, r9d
or eax, r8d
mov r8d, 0x11cac2f6
xor r8d, 0xee353d09
xor eax, r8d
mov r8d, 0xd7036394
xor r8d, 0x62d4dc76
add eax, r8d
mov dword [rsp + 0x2c], eax
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs r8, 0xe00c9b8197734f0c
movabs r9, 0xe00c9b8197734f0c
xor r8, r9
movabs r9, 0xddd26962d8b4d57f
movabs r10, 0xddd26962d8b4d57e
xor r9, r10
sub r8, r9
sub rax, r8
sub rdx, rax
call fcn.140012b72
mov eax, dword [rsp + 0x2c]
cmp eax, 0x2c9cdb64
jb 0x1400403a9
jmp 0x140040386
mov rax, qword [rsp + 0x90]
mov al, byte [rax]
mov cl, 0xc1
xor cl, 0xc1
cmp al, cl
jne 0x140040386
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov dl, byte [rax + rcx + 8]
mov byte [rsp + 0x2a], dl
mov al, 8
xor al, 0xb7
mov cl, dl
add cl, al
mov al, dl
xor al, 0xff
and al, 0x20
mov r8b, 0x6a
xor r8b, 0x4a
mov r9b, 0x3b
xor r9b, 0xc4
xor r8b, r9b
and dl, r8b
or al, dl
cmp cl, 0x1a
mov byte [rsp + 0x2b], al
jb 0x140040363
mov al, byte [rsp + 0x2a]
mov byte [rsp + 0x2b], al
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov dl, byte [rsp + 0x2b]
mov rcx, qword [rcx]
mov byte [rcx + rax + 8], dl
add rax, 1
mov qword [rsp + 0x58], rax
jmp 0x140040106
mov rax, qword [rsp + 0x80]
add rsp, 0xa0
pop rsi
ret
sub eax, dword [rcx + 0x3c]
jmp 0x14003ff10
mov ebx, 0xe9c50f1b
xchg ebx, eax
cld
invalid
invalid