Function at 0x1400422a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0xc0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x28], rdx
mov qword [rbp + 8], rcx
mov qword [rbp + 0x10], rcx
mov eax, 0x10
mov qword [rbp + 0x18], rax
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rdx, rsp
mov qword [rbp + 0x20], rdx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140042877
add rsp, 0x20
test al, 1
jne 0x14004230a
jmp 0x14004231c
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x140042850
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
mov qword [rbp], rax
cmp rax, 0
jge 0x140042355
mov rcx, qword [rbp]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000c8ac
add rsp, 0x20
jmp 0x140042850
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp]
sub rsp, 0x20
call fcn.140018d90
mov rdx, qword [rbp + 0x28]
mov rax, qword [rbp + 8]
add rsp, 0x20
mov rcx, qword [rdx]
add rdx, 8
mov qword [rbp - 0x20], rdx
add rax, 8
mov qword [rbp - 0x18], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x10], rax
xor eax, eax
mov qword [rbp - 8], rax
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 8]
mov qword [rbp - 0x28], rax
cmp rax, rcx
je 0x140042850
mov eax, dword [0x1401c9dd0]
xor eax, 0xd78ad6e7
mov r8d, dword [0x1401c9dd4]
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, eax
add ecx, 1
mov edx, 0xb3937e77
xor edx, 0x4c6c8188
xor eax, edx
or eax, 0xc6213610
add eax, ecx
sub eax, 0xfa48ffce
add eax, 0x2f4f8e6d
add eax, 0xfa48ffce
mov ecx, 0x335c001b
xor edx, edx
div ecx
mov ecx, 0x5157c0ec
xor ecx, 0x371a6821
cmp eax, ecx
je 0x14004285c
mov rcx, qword [rbp - 0x28]
mov eax, dword [0x1401c9dd8]
mov edx, dword [0x1401c9ddc]
xor edx, 0x868606d5
sub eax, 0x7ef15d2f
sub eax, edx
add eax, 0x7ef15d2f
mov r8d, 0xaf147a75
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x28]
mov r8d, 0xc4f24b8
xor r8d, 0x3fefdf2c
imul eax, r8d
add eax, 0x456a48da
mov rdx, qword [rdx]
mov qword [rbp - 0x38], rdx
cmp rcx, rdx
setl cl
mov byte [rbp - 0x29], cl
cmp eax, 0xe11b8267
jae 0x140042416
mov al, byte [rbp - 0x29]
test al, 1
jne 0x1400424ab
jmp 0x140042488
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x38]
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
sub rsp, 0x20
call fcn.1400122ad
add rsp, 0x20
jmp 0x140042850
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
movzx eax, byte [rax + rcx + 8]
mov qword [rbp - 0x40], rax
lea rdx, [rbp + 0x38]
sub rsp, 0x20
call fcn.140042877
add rsp, 0x20
test al, 1
jne 0x1400424dd
jmp 0x1400424ef
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x140042850
mov rcx, qword [rbp + 0x38]
mov rax, rcx
add rax, 1
mov qword [rbp - 0x48], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x140042521
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x140042850
mov eax, dword [0x1401c9de0]
xor eax, 0xace0891e
mov ecx, dword [0x1401c9de4]
xor ecx, 0xe504d81f
and eax, ecx
mov ecx, 0x5984d6cc
xor edx, edx
div ecx
mov ecx, 0x624a7d1c
xor edx, edx
div ecx
mov ecx, 0xd5ee8538
xor edx, edx
div ecx
cmp eax, 0xb97b9fd6
ja 0x140042865
mov r8, qword [rbp + 8]
mov eax, dword [0x1401c9de8]
xor eax, 0xd6442ad4
mov ecx, dword [0x1401c9dec]
xor ecx, 0x53972795
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x48]
xor eax, 0x19c3943
imul eax, eax, 0xd7b69e2e
xor eax, 0x50b6caa2
test rdx, rdx
setns cl
mov r8, qword [r8]
mov qword [rbp - 0x58], r8
sub rdx, r8
setl dl
and cl, dl
mov byte [rbp - 0x49], cl
cmp eax, 0x385178fc
je 0x140042865
mov al, byte [rbp - 0x49]
test al, 1
jne 0x14004261e
jmp 0x1400425c6
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x58]
xor eax, eax
sub rax, rdx
movabs rdx, 0x6314a6e8c4e6e008
movabs r8, 0x6314a6e8c4e6e008
xor rdx, r8
movabs r8, 0x850a3d5d8acc51b4
movabs r9, 0x7af5c2a27533ae4b
xor r8, r9
sub rdx, r8
add rax, rdx
xor edx, edx
sub rdx, rax
sub rsp, 0x20
call fcn.1400122ad
add rsp, 0x20
jmp 0x140042850
mov rcx, qword [rbp + 8]
sub rsp, 0x20
call fcn.14003ab70
mov r8, qword [rbp - 0x18]
mov r9, qword [rbp - 0x48]
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp + 0x30]
add rsp, 0x20
mov r11, rax
xor r11, 0xffffffffffffffff
movabs rsi, 0x24da49adf8ff2f11
movabs r10, 0x24da49adf8ff2f1e
xor rsi, r10
movabs r10, 0x78a4aa18017a5b46
movabs rdi, 0x875b55e7fe85a4b9
xor r10, rdi
xor rsi, r10
mov r10, 0xffffffffffffffff
movabs rdi, 0x4a3babd7bd8e1105
xor r10, rdi
or r11, rsi
movabs rsi, 0x4a3babd7bd8e1105
or r10, rsi
xor r11, 0xffffffffffffffff
and r11, r10
lea r10, [0x1401d7158]
mov r10b, byte [r10 + r11 + 8]
mov r8, qword [r8]
mov byte [r8 + r9 + 8], r10b
shr rax, 4
mov qword [rbp - 0x60], rax
sub rsp, 0x20
call fcn.140042877
add rsp, 0x20
test al, 1
jne 0x1400426dc
jmp 0x140042794
mov eax, dword [0x1401c9df0]
mov edx, dword [0x1401c9df4]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x286f7e83
mov edx, 0xffffffff
xor edx, 0x286f7e83
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0xb70738e3
xor ecx, 0xb70738e3
mov edx, 0x3e473431
xor edx, 0x69eb4125
sub ecx, edx
sub eax, ecx
and eax, 0x4aa649
mov ecx, 0xa4c59256
xor ecx, 0x1790e262
cmp eax, ecx
jae 0x14004286e
mov eax, dword [0x1401c9df8]
mov ecx, dword [0x1401c9dfc]
xor ecx, 0x88896515
sub eax, ecx
and eax, 0x41878977
imul eax, eax, 0xdb81043d
and eax, 0xa2180471
mov dword [rbp - 0x64], eax
mov eax, 0x7198c54a
xor eax, 0xcba29ec3
mov dword [rbp - 0x68], eax
sub rsp, 0x20
call fcn.140008024
mov ecx, dword [rbp - 0x68]
mov eax, dword [rbp - 0x64]
add rsp, 0x20
cmp eax, ecx
je 0x140042740
jmp 0x140042850
mov rdx, qword [rbp + 8]
mov rax, qword [rbp + 0x30]
mov rcx, qword [rax]
mov qword [rbp - 0x78], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x70], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400427de
mov rcx, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400122ad
add rsp, 0x20
jmp 0x140042850
mov rcx, qword [rbp + 8]
sub rsp, 0x20
call fcn.14003ab70
mov r9, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x78]
mov rax, qword [rbp - 0x28]
add rsp, 0x20
lea r8, [0x1401d7158]
mov r8b, byte [r8 + r9 + 8]
mov rcx, qword [rcx]
mov byte [rcx + rdx + 8], r8b
movabs rcx, 0x1a75a1ee6b7b8195
movabs rdx, 0x1a75a1ee6b7b8195
xor rcx, rdx
movabs rdx, 0xb29ad0332a6c27dc
movabs r8, 0xb29ad0332a6c27dd
xor rdx, r8
sub rcx, rdx
sub rax, rcx
mov qword [rbp - 8], rax
jmp 0x140042398
mov rax, qword [rbp + 0x10]
lea rsp, [rbp + 0x40]
pop rdi
pop rsi
pop rbp
ret
retf
and rdi, 0xfffffffffcf2e994
invalid
stosd dword [rdi], eax
jns 0x1400428e7
invalid
and al, 0x28