Function at 0x1400df510
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xe0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x38], r9
mov qword [rbp + 0x40], r8
mov qword [rbp + 0x48], rdx
mov qword [rbp + 0x50], rcx
mov qword [rbp + 0x58], rcx
mov eax, dword [0x1402510c0]
mov r8d, dword [0x1402510c4]
mov edx, 0x2a768a7b
xor edx, 0xd5897584
mov ecx, eax
xor ecx, edx
mov edx, r8d
and edx, ecx
mov ecx, 0x89aab612
xor ecx, 0x765549ed
mov r9d, r8d
xor r9d, ecx
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x1c9db1ac
xor edx, edx
div ecx
xor eax, 0x5cf9c6a3
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xc4a7c0b1
add eax, ecx
cmp eax, 0x3d846663
jbe 0x1400e00e0
mov edx, dword [0x1402510c8]
mov eax, dword [0x1402510cc]
mov ecx, eax
mov eax, edx
lea eax, [rax + rcx - 0x57bdc288]
and eax, 0xdfa48040
shr eax, 4
imul rax, rax, 0x11880333
shr rax, 0x36
mov dword [rbp + 0x24], eax
mov eax, 0x10
mov qword [rbp + 8], rax
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 8]
mov rcx, rsp
mov qword [rbp - 8], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 8]
mov rcx, rsp
mov qword [rbp], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 8]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x18], rax
sub rsp, 0x20
call fcn.1400dd2c0
mov rdx, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x24]
mov qword [rbp + 0x28], r8
movabs r8, 0xa34f09180516cca
movabs r9, 0xa34f09180516cca
xor r8, r9
mov qword [rdx], r8
mov qword [rdx + 8], 0
movabs rdx, 0x426a465b54d4f469
movabs r8, 0x426a465b54d4f468
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rbp + 0x37], cl
cmp eax, 0x1f1e3ed0
jae 0x1400df5a3
mov al, byte [rbp + 0x37]
test al, 1
jne 0x1400e00d6
jmp 0x1400df69d
mov eax, dword [0x1402510d0]
mov ecx, dword [0x1402510d4]
xor ecx, 0x30d53658
imul eax, ecx
sub eax, 0xe4109bc9
mov edx, eax
xor edx, 0x790dc553
mov ecx, 0x25f15086
xor ecx, 0xda0eaf79
xor edx, ecx
and edx, 0x790dc553
mov ecx, 0x177c7f99
xor ecx, 0x177c7f9b
imul ecx, edx
mov edx, 0x19c08e91
xor edx, 0x60cd4bc2
sub ecx, edx
sub eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x14e39e2
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x37a5852c
xor ecx, 0x8c75c983
cmp eax, ecx
ja 0x1400e00e9
mov rdx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x38]
mov r10, qword [rbp + 0x40]
mov eax, dword [0x1402510d8]
mov r9d, dword [0x1402510dc]
mov ecx, eax
add ecx, 1
mov r11d, 0xf51876cd
xor r11d, 0xae78932
xor eax, r11d
or eax, r9d
add eax, ecx
mov ecx, 0x88eec68d
xor ecx, 0x70652542
sub eax, ecx
mov ecx, 0x6cc43076
xor ecx, 0x682fd276
add eax, ecx
mov ecx, 0x553e84b7
xor ecx, 0xe627b40f
add eax, ecx
sub eax, 0x4ebe200
sub eax, 0xc8e9bd61
mov ecx, 0x63d37e5a
xor ecx, 0xfc55e651
xor r9d, r9d
sub r9, r10
sub r8, r9
mov qword [rbp - 0x18], r8
add rdx, 8
mov qword [rbp - 0x10], rdx
cmp eax, ecx
je 0x1400e00e9
mov rax, qword [rbp + 0x40]
mov qword [rbp - 0x20], rax
jmp 0x1400df7af
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x38], rax
mov edx, dword [0x1402510e0]
mov ecx, dword [0x1402510e4]
xor ecx, 0x93f74653
mov r8d, 0xd0f60d09
xor r8d, 0x2f09f2f6
mov eax, edx
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, ecx
mov edx, 0x25b5c096
xor edx, 0xda4a3f69
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x259806b0
xor ecx, 0xb8407b89
xor edx, edx
div ecx
mov r8d, eax
mov ecx, 0x4259624b
xor ecx, 0xbda69db4
mov eax, r8d
xor eax, ecx
and eax, 0xf4abf02c
mov edx, 0xffffffff
xor edx, 0xf4abf02c
and r8d, edx
mov ecx, 0x6bb90cba
xor ecx, 0xe90ea9d6
mov r9d, 0x24a0af51
xor r9d, 0xdb5f50ae
xor ecx, r9d
and ecx, 0xf4abf02c
and edx, 0x82b7a56c
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, eax
and ecx, 0xeaf14b6
shl ecx, 1
mov edx, 0x7b75e0d9
xor edx, 0x75daf46f
add eax, edx
sub eax, ecx
mov ecx, 0x826ebf5b
xor ecx, 0x74d0c204
cmp eax, ecx
jae 0x1400e00f2
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x18]
mov r8d, dword [0x1402510e8]
mov eax, dword [0x1402510ec]
xor eax, 0x803eac7f
sub r8d, eax
add r8d, 0x4cbc694a
mov r9d, 0xc90ff05a
xor r9d, 0x36f00fa5
mov eax, r8d
xor eax, r9d
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0x906e2fcd
or r8d, 0x906e2fcd
xor r8d, 0xffffffff
mov r9d, 0xa94a066
xor r9d, 0xf56b5f99
xor eax, r9d
xor r8d, 0xffffffff
and eax, r8d
sub eax, 0xbc572071
cmp rcx, rdx
setl cl
mov byte [rbp - 0x39], cl
cmp eax, 0x32e690b4
jbe 0x1400df890
mov al, byte [rbp - 0x39]
test al, 1
jne 0x1400df91f
jmp 0x1400e00a4
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov cl, 0x7c
xor cl, 0x20
cmp al, cl
jne 0x1400e007d
mov r8, qword [rbp - 0x30]
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp + 0x48]
mov r9, qword [rbp - 0x38]
sub r9, r8
mov r10, qword [rax]
mov qword [rdx], r10
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400e0260
mov rax, qword [rbp + 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400e00d6
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x10]
mov rcx, qword [rcx]
mov al, byte [rax + rcx + 9]
mov byte [rbp - 0x49], al
add al, 0xde
movzx ecx, al
mov qword [rbp - 0x48], rcx
sub al, 0x53
ja 0x1400dfeab
mov rax, qword [rbp - 0x48]
lea rcx, [0x1400e0110]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov eax, dword [0x140251100]
xor eax, 0xea85c6ed
mov r8d, dword [0x140251104]
mov ecx, 0x760be37
xor ecx, 0xd957424b
xor r8d, ecx
mov ecx, 0x6b70e288
xor ecx, 0x948f1d77
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
mov ecx, eax
xor ecx, 0xc35bc8a
mov edx, 0xffffffff
xor edx, 0xc35bc8a
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, eax
xor ecx, 0x36b874c0
xor ecx, 0xffffffff
or eax, 0x36b874c0
and eax, ecx
xor eax, 0x9dd29ca4
cmp eax, 0x9850419
jb 0x1400e0104
mov eax, dword [0x140251108]
xor eax, 0x6e1631fa
or eax, dword [0x14025110c]
or eax, 0xe6486ee6
mov ecx, eax
and ecx, ecx
xor ecx, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0x9a6be8dd
xor edx, 0x2e46c2f0
mov r8d, 0x3b005547
xor r8d, 0xc4ffaab8
xor edx, r8d
or ecx, edx
mov edx, 0x305db2a7
xor edx, 0x8470988a
mov r8d, 0x6b7fb2b6
xor r8d, 0xdf52989b
and edx, r8d
mov r8d, 0x98581997
xor r8d, 0x67a7e668
xor edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
and ecx, eax
xor ecx, 0xffffffff
mov edx, 0x3debb4e0
xor edx, 0x5127bd69
mov eax, ecx
and eax, edx
mov edx, 0xb20cb369
xor edx, 0xdec0bae0
or ecx, edx
add eax, ecx
mov dword [rbp - 0x74], eax
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140012610
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140264728]
mov qword [rcx], rax
lea rax, [0x140262f60]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140262fe8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140262ff0]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140262f60]
lea r8, [0x140262f90]
lea r9, [0x140262f7b]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffff9e5053d8
call fcn.14001203f
mov eax, dword [rbp - 0x74]
add rsp, 0x30
cmp eax, 0xd9541f4c
jae 0x1400dff35
jmp 0x1400e00d6
mov rax, qword [rbp - 0x38]
movabs rcx, 0x3c74b35d0df3e16
movabs rdx, 0x3c74b35d0df3e17
xor rcx, rdx
add rax, rcx
mov qword [rbp - 0x28], rax
jmp 0x1400df7bb
mov r8, qword [rbp - 0x30]
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp + 0x48]
mov r9, qword [rbp - 0x18]
sub r9, r8
mov r10, qword [rax]
mov qword [rdx], r10
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400e0260
add rsp, 0x20
mov rax, qword [rbp + 0x58]
lea rsp, [rbp + 0x60]
pop rbp
ret
invalid
xchg byte [rdi + 0x2e], bh
pop rsp
jmp 0x1400df716
fsub dword [rdx - 0x6a16df08]
idiv edi
call [rax + 0x6a]
invalid
add eax, 0xe998c3d2
sub dh, bh
invalid