Function at 0x140106a10
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xc0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x38], rcx
mov eax, dword [0x1402575a0]
mov edx, dword [0x1402575a4]
xor edx, 0xa780b276
mov ecx, edx
and ecx, eax
mov r8d, 0x3c5712ec
xor r8d, 0xc3a8ed13
xor ecx, r8d
add eax, edx
mov edx, 0xe32481da
xor edx, 0xe32481db
add eax, edx
add eax, ecx
xor eax, 0xffffffff
mov edx, 0x8e67d0a7
xor edx, 0x125ea2ce
mov ecx, 0x86b5b173
xor ecx, 0x794a4e8c
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0xaaddf090
or eax, edx
or ecx, 0xaaddf090
mov edx, 0x91cec78d
xor edx, 0x6e313872
xor eax, edx
and eax, ecx
sub eax, 0xfb6763ec
mov ecx, 0x83fa211d
xor ecx, 0x1a421e1a
imul eax, ecx
mov ecx, 0x4220e94d
xor ecx, 0xb94bea21
cmp eax, ecx
je 0x14010723a
mov eax, dword [0x1402575a8]
mov ecx, dword [0x1402575ac]
xor ecx, 0x4e7e3e31
sub eax, ecx
xor eax, 0xa80e7c1f
add eax, 0xd572dcd0
mov dword [rbp + 0xc], eax
mov eax, 0x10
mov qword [rbp - 0x10], rax
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 8], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
sub rsp, 0x20
call fcn.140106346
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0xc]
mov qword [rbp + 0x10], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0x18], rcx
cmp rcx, 0
setl cl
mov byte [rbp + 0x27], cl
cmp eax, 0x58c88e16
je 0x140106ac6
mov al, byte [rbp + 0x27]
test al, 1
jne 0x140106b59
jmp 0x140106b7d
mov rcx, qword [rbp + 0x18]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000cee2
add rsp, 0x20
jmp 0x1401070ce
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.14001bb40
mov r8, qword [rbp + 0x28]
mov rdx, qword [rbp - 8]
mov rax, qword [rbp]
add rsp, 0x20
mov rcx, qword [r8]
add r8, 8
mov qword [rbp - 0x38], r8
add rdx, 8
mov qword [rbp - 0x30], rdx
add rax, 8
mov qword [rbp - 0x28], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x20], rax
xor eax, eax
mov qword [rbp - 0x18], rax
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x40], rax
cmp rax, rcx
je 0x1401070ce
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp + 0x28]
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rcx
cmp rax, rcx
jl 0x140106d4f
mov ecx, dword [0x1402575b0]
mov edx, dword [0x1402575b4]
xor edx, 0x484b90b7
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0xaf827fb3
xor r9d, 0x507d804c
mov r8d, ecx
xor r8d, r9d
or eax, r8d
and eax, edx
xor eax, 0xffffffff
and edx, edx
xor edx, 0xffffffff
mov r8d, 0x7dace161
xor r8d, 0x82531e9e
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
or eax, 0x292555bd
xor eax, 0xb3b88ef6
mov ecx, 0x9ca2c010
xor edx, edx
div ecx
mov ecx, 0x3815e2ad
xor ecx, 0x8c7fb0e2
cmp eax, ecx
je 0x140107243
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x1402575b8]
mov r9d, dword [0x1402575bc]
mov edx, 0xcc93f2f9
xor edx, 0x336c0d06
mov r10d, r9d
xor r10d, edx
mov r8d, eax
and r8d, r10d
mov edx, eax
or edx, r10d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, 0x3deb3f9b
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x48]
sub eax, 0x9099c7b7
mov r8d, 0x9e9af0d9
xor r8d, 0x7f494a82
mov r9d, 0xbe5383f0
xor r9d, 0x41ac7c0f
xor r8d, r9d
mov r9d, 0xfaf4803c
xor r9d, 0xfaf4803c
mov r10d, 0x108eee5a
xor r10d, 0x108eee5b
sub r9d, r10d
sub r8d, r9d
sub eax, r8d
mov dword [rbp - 0x4c], eax
mov eax, 0x8e5afa06
xor eax, 0x41e6f590
mov dword [rbp - 0x50], eax
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140013507
mov ecx, dword [rbp - 0x50]
mov eax, dword [rbp - 0x4c]
add rsp, 0x20
cmp eax, ecx
ja 0x140107243
jmp 0x1401070ce
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rbp - 0x5a], al
mov cl, 0x2b
mov byte [rbp - 0x59], cl
add al, 0xe0
movzx ecx, al
mov qword [rbp - 0x58], rcx
sub al, 0x5e
ja 0x140106d9c
mov cl, byte [rbp - 0x59]
mov rax, qword [rbp - 0x58]
lea rdx, [0x140107268]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
mov byte [rbp - 0x5b], cl
jmp rax
mov rcx, qword [rbp + 0x30]
mov dl, 0xad
xor dl, 0x88
sub rsp, 0x20
call fcn.140106370
mov al, byte [rbp - 0x5a]
mov rcx, qword [rbp - 8]
add rsp, 0x20
movzx eax, al
mov edx, eax
mov r8d, 2
sub rsp, 0x20
call fcn.140105c52
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp - 0x70], rdx
mov rcx, qword [rcx]
mov qword [rbp - 0x68], rcx
cmp byte [rax], 0
jne 0x140106f8d
mov eax, dword [0x1402575c0]
xor edx, edx
div dword [0x1402575c4]
mov r8d, eax
mov eax, 0x7be59c3f
xor eax, 0x841a63c0
mov ecx, r8d
xor ecx, eax
and ecx, 0x9dd5d2e9
mov edx, 0xffffffff
xor edx, 0x9dd5d2e9
and r8d, edx
mov eax, 0xffffffff
xor eax, 0xfa33360b
and eax, 0x9dd5d2e9
and edx, 0xfa33360b
or ecx, r8d
or eax, edx
xor ecx, eax
mov eax, 0xb0215eec
xor eax, 0xd2a3799c
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0x78c3c4c
xor r8d, 0xf873c3b3
mov edx, ecx
xor edx, r8d
or eax, edx
mov edx, 0xb1c5c5ef
xor edx, 0x979d1935
and eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x2658dcda
mov r8d, 0xffffffff
xor r8d, 0x2658dcda
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xd452e260
xor ecx, 0xcd8e07ef
cmp eax, ecx
je 0x14010724c
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp - 0x70]
mov eax, dword [0x1402575c8]
sub eax, dword [0x1402575cc]
mov r10d, 0xffffffff
xor r10d, 0x228b986d
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, 0x228b986d
or eax, 0x228b986d
imul eax, r9d
add eax, r8d
mov r10d, 0xffffffff
xor r10d, 0x62bb5a98
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, 0x62bb5a98
or eax, 0x62bb5a98
imul eax, r9d
add eax, r8d
xor r8d, r8d
sub r8d, 0x23d94e25
sub eax, r8d
mov dword [rbp - 0x74], eax
sub rsp, 0x20
call fcn.14001bef0
mov r9, qword [rbp - 0x70]
mov r8, qword [rbp - 0x68]
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp]
add rsp, 0x20
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.1401073f0
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, 0x2188828b
je 0x14010724c
jmp 0x140106f8d
mov rax, qword [rbp - 0x68]
cmp rax, 0
je 0x140106fd7
mov rax, qword [rbp - 0x68]
mov rax, qword [rax]
movabs rcx, 0x82985f38f817ec2f
movabs rdx, 0xc2985f38f817ec2f
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x140106fd7
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000e9f6
add rsp, 0x20
mov rax, qword [rbp + 0x10]
cmp byte [rax], 0
je 0x1401070a7
jmp 0x1401070ce
mov rax, qword [rbp - 0x40]
movabs rcx, 0x5d5e6089f4b07049
movabs rdx, 0x5d5e6089f4b07048
xor rcx, rdx
add rax, rcx
mov qword [rbp - 0x18], rax
jmp 0x140106bcc
mov r11d, dword [0x1402575e0]
mov edx, dword [0x1402575e4]
mov eax, r11d
xor eax, 0xffffffff
mov ecx, edx
and ecx, eax
mov r8d, edx
xor r8d, 0xffffffff
mov eax, r11d
and eax, r8d
imul eax, ecx
mov ecx, r11d
and ecx, edx
or r11d, edx
imul r11d, ecx
add r11d, eax
mov eax, r11d
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x8fc3c41d
mov r8d, 0xffffffff
xor r8d, 0xb947ce17
mov ecx, eax
and ecx, 0xb947ce17
and r11d, r8d
mov r9d, edx
and r9d, 0xb947ce17
mov r10d, r8d
and r10d, 0x8fc3c41d
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, edx
mov edx, 0xdb6594b8
xor edx, 0x249a6b47
xor eax, edx
mov edx, 0x58a1d60e
xor edx, 0xe1e61819
or edx, r8d
and eax, edx
or ecx, eax
mov eax, 0x795bb3db
xor eax, 0x32450929
add ecx, eax
mov eax, ecx
and eax, 0x85d4263b
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x85d4263b
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x6e0122ab
xor edx, 0x91fedd54
xor ecx, edx
or eax, ecx
cmp eax, 0x92047269
jae 0x14010725e
mov ecx, dword [0x1402575e8]
imul ecx, dword [0x1402575ec]
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xfeea8527
mov eax, 0xffffffff
xor eax, 0x241b3a59
or ecx, edx
or eax, 0x241b3a59
xor ecx, 0xffffffff
and ecx, eax
mov r8d, 0xffffffff
xor r8d, 0xabd2c867
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0xabd2c867
or ecx, 0xabd2c867
imul ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0x16f679d9
mov edx, 0x3e2bc17b
xor edx, 0x28ddb8a2
or ecx, edx
add eax, ecx
cmp eax, 0x6ce0aab
jbe 0x1401071ae
mov rax, qword [rbp + 0x38]
lea rsp, [rbp + 0x40]
pop rbp
ret
out 0xd3, al
add al, byte [rax]
jmp 0x140106ac6
jnp 0x1401071ee
mov esp, 0xfa24e97d
invalid
jno 0x14010728a
sub ecx, 0xfffffc5f
ret 0x6185
invalid
invalid