Function at 0x1401aef00
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x190
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xe8], r9
mov qword [rbp + 0xf0], r8
mov qword [rbp + 0xf8], rdx
mov qword [rbp + 0x100], rcx
mov qword [rbp + 0x108], rcx
mov eax, dword [0x1402b31b8]
mov ecx, dword [0x1402b31bc]
xor ecx, 0xf0775f5f
sub eax, ecx
or eax, 0xe1807e10
xor eax, 0xa777862b
mov ecx, 0xe4831d72
xor ecx, 0x333cb73
xor edx, edx
div ecx
cmp eax, 0xee9b734b
je 0x1401afa0e
mov eax, dword [0x1402b31c0]
xor eax, 0x5559e4f7
mov edx, dword [0x1402b31c4]
xor edx, eax
xor edx, 0xde882be9
and edx, eax
mov eax, edx
xor eax, 0x84adef09
mov ecx, eax
and ecx, 0xd7669e58
xor edx, 0xac348eae
add eax, edx
sub eax, ecx
add eax, 0xc0f25e94
mov dword [rbp + 0xcc], eax
mov eax, 0x10
mov qword [rbp + 0x90], rax
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x90]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x90]
mov rcx, rsp
mov qword [rbp + 0xb8], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x90]
mov rcx, rsp
mov qword [rbp + 0xb0], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x90]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x90]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x90]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x90]
mov rcx, rsp
mov qword [rbp + 0x58], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x90]
mov rcx, rsp
mov qword [rbp + 0x60], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x90]
mov rcx, rsp
mov qword [rbp + 0x68], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x90]
mov rcx, rsp
mov qword [rbp + 0x70], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x90]
mov rcx, rsp
mov qword [rbp + 0x78], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x90]
mov rcx, rsp
mov qword [rbp + 0x80], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x90]
mov rcx, rsp
mov qword [rbp + 0x88], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x90]
mov rcx, rsp
mov qword [rbp + 0x98], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa0], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov qword [rbp + 0xc0], rax
add rax, 0x60
mov qword [rbp + 0xa8], rax
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.14002e846
mov rax, qword [rbp + 0xf8]
mov rdx, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xb8]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14010ec70
mov rdx, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0xc0]
mov eax, dword [rbp + 0xcc]
add rsp, 0x20
mov r8, qword [rdx]
mov qword [rbp + 0xd0], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0xd8], rdx
cmp byte [rcx + 0x60], 0
sete cl
mov byte [rbp + 0xe7], cl
cmp eax, 0x4b897f5f
je 0x1401aef6d
mov cl, byte [rbp + 0xe7]
xor eax, eax
test cl, 1
mov rcx, rax
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
jne 0x1401af1df
jmp 0x1401af68d
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0x98]
mov r8, qword [rbp + 0x78]
mov r9, qword [rbp + 0xf0]
mov r10, qword [rbp + 0x70]
mov r11, qword [rbp + 0x60]
mov rsi, qword [rbp + 0x58]
mov rdi, qword [rbp + 0x40]
add rdi, 8
mov qword [rbp - 0x20], rdi
add rsi, 8
mov qword [rbp - 0x18], rsi
add r11, 8
mov qword [rbp - 0x10], r11
add r10, 8
mov qword [rbp - 8], r10
movabs r10, 0x5fdf33d09fa2e9dd
movabs r11, 0x5fdf33d09fa2e9dd
xor r10, r11
cmp r9, r10
setg r10b
mov byte [rbp + 7], r10b
add r9, 0xffffffffffffffff
mov qword [rbp + 8], r9
add r8, 8
mov qword [rbp + 0x10], r8
add rdx, 8
mov qword [rbp + 0x18], rdx
xor edx, edx
cmp rcx, 0
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
jle 0x1401af68d
mov r9, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0x40]
mov r8, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x48]
mov rax, qword [rbp + 0xe8]
mov r10, qword [rbp + 0x20]
mov qword [rbp - 0x40], r10
mov r11, r9
add r11, 8
mov rsi, r10
shl rsi, 3
add r11, rsi
mov qword [rbp - 0x38], r11
mov r9, qword [r9 + r10*8 + 8]
mov r10, qword [r9 + 0x18]
mov qword [rdx], r10
mov r9, qword [r9 + 0x20]
mov qword [rdx + 8], r9
mov r9, qword [rax]
mov qword [r8], r9
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.1400bc650
mov r9, qword [rbp + 0x40]
mov r8, qword [rbp - 0x20]
mov rdx, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov r9, qword [r9]
mov qword [rbp - 0x30], r9
mov r8, qword [r8]
mov qword [rbp - 0x28], r8
cmp byte [rdx], 0
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
jne 0x1401af68d
mov rcx, qword [rbp + 0x58]
mov rax, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x30]
mov qword [rcx], r8
mov qword [rax], rdx
sub rsp, 0x20
call fcn.14010e060
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0xa8]
mov al, byte [rax]
test al, al
sete al
mov byte [rbp - 0x41], al
and al, cl
test al, 1
jne 0x1401af368
jmp 0x1401af4e6
mov ecx, dword [0x1402b31c8]
or ecx, dword [0x1402b31cc]
add ecx, 0xa94410f4
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x9fda9f96
mov edx, 0xe540dc86
xor edx, 0x7a9a4310
mov r8d, 0xee3d081
xor r8d, 0xf11c2f7e
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0xa1c09cd0
xor ecx, 0xa492c875
or eax, ecx
mov ecx, 0x5dab1d35
xor ecx, 0xa75edd2a
cmp eax, ecx
ja 0x1401afa17
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x68]
mov rax, qword [rbp - 0x38]
mov r9d, dword [0x1402b31d0]
xor r9d, 0x32497ecd
mov r10d, dword [0x1402b31d4]
or r9d, r9d
xor r9d, 0xffffffff
mov r8d, r10d
xor r8d, 0xffffffff
xor r10d, 0xffffffff
and r8d, r10d
or r9d, r8d
mov r8d, 0x11dcc39d
xor r8d, 0xee233c62
xor r9d, r8d
mov r8d, r9d
or r8d, r8d
mov r10d, 0xc07bab20
xor r10d, 0x3f8454df
xor r8d, r10d
mov r10d, 0x140e3880
or r10d, 0x140e3880
xor r10d, 0xffffffff
or r8d, r10d
xor r8d, 0xffffffff
mov r10d, 0x48cce2ed
xor r10d, 0x5cc2da6d
or r9d, r10d
xor r9d, 0xffffffff
or r8d, r9d
mov r9d, 0x5fcc6c9
xor r9d, 0xfa033936
xor r8d, r9d
or r8d, 0xdba6865
mov r9d, r8d
and r9d, 0x526fda36
shl r9d, 1
add r8d, 0x526fda36
sub r8d, r9d
mov dword [rbp - 0x48], r8d
mov rax, qword [rax]
mov r8, qword [rax + 0x18]
mov qword [rdx], r8
mov rax, qword [rax + 0x20]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140035a4a
mov r9, qword [rbp + 0x60]
mov r8, qword [rbp - 0x10]
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x100]
mov rdx, qword [rbp + 0x70]
add rsp, 0x20
mov r9, qword [r9]
mov r8, qword [r8]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.1400346d0
mov eax, dword [rbp - 0x48]
add rsp, 0x20
cmp eax, 0x90db1290
ja 0x1401af3c3
jmp 0x1401af50d
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0xd0]
mov dl, byte [rbp - 0x41]
test dl, 1
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
jne 0x1401af50d
jmp 0x1401af68d
mov al, byte [rbp + 7]
test al, 1
jne 0x1401af51d
jmp 0x1401af655
mov rcx, qword [rbp + 0x78]
mov r9, qword [rbp + 0x88]
mov r8, qword [rbp + 8]
mov rdx, qword [rbp + 0x80]
mov rax, qword [rbp + 0xe8]
mov r10, qword [rbp - 0x38]
mov r10, qword [r10]
mov r11, qword [r10 + 0x18]
mov qword [rdx], r11
mov r10, qword [r10 + 0x20]
mov qword [rdx + 8], r10
mov r10, qword [rax]
mov qword [r9], r10
mov rax, qword [rax + 8]
mov qword [r9 + 8], rax
sub rsp, 0x20
call fcn.1401aef00
mov rdx, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp + 0xa8]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp - 0x68], rdx
mov rcx, qword [rcx]
mov qword [rbp - 0x60], rcx
mov cl, byte [rax]
mov dl, 0xfd
xor dl, 0xfd
xor eax, eax
cmp cl, dl
mov rcx, rax
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x50], rax
jne 0x1401af5e1
mov r8, qword [rbp - 0x68]
mov r9, qword [rbp - 0x60]
mov rcx, qword [rbp + 0x100]
mov rdx, r9
add rdx, 8
xor eax, eax
cmp r9, 0
cmove rdx, rax
sub rsp, 0x20
call fcn.140043d10
mov rcx, qword [rbp - 0x60]
mov rax, qword [rbp - 0x68]
add rsp, 0x20
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x50], rax
mov rcx, qword [rbp + 0x98]
mov rax, qword [rbp + 0x18]
mov rdx, qword [rbp - 0x58]
mov r8, qword [rbp - 0x50]
mov qword [rcx], r8
mov qword [rax], rdx
sub rsp, 0x20
call fcn.14002fc40
mov r8, qword [rbp + 0xa8]
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov r8b, byte [r8]
test r8b, r8b
sete r8b
inc rdx
mov r9, rdx
sub r9, rcx
setl r9b
and r8b, r9b
test r8b, 1
mov qword [rbp - 0x70], rdx
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
jne 0x1401af680
jmp 0x1401af68d
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0xd0]
mov rdx, qword [rbp - 0x40]
add rdx, 1
cmp rdx, rcx
mov qword [rbp - 0x70], rdx
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
jge 0x1401af68d
mov rax, qword [rbp - 0x70]
mov qword [rbp + 0x20], rax
jmp 0x1401af281
mov rcx, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0x28]
mov rax, qword [rbp + 0x30]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140044270
mov rax, qword [rbp + 0xa8]
add rsp, 0x20
cmp byte [rax], 0
je 0x1401af9fc
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp word [rax + 0x12], 1
jle 0x1401af9fc
mov eax, dword [0x1402b31d8]
mov r8d, dword [0x1402b31dc]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
xor eax, 0xe51b0108
mov ecx, 0xdd46669b
xor ecx, 0x9cd34b63
and eax, ecx
add eax, 0x722dea50
cmp eax, 0xb7930581
je 0x1401afa20
mov eax, dword [0x1402b31e0]
xor edx, edx
div dword [0x1402b31e4]
mov rdx, qword [rbp - 0x78]
mov esi, eax
mov eax, 0x9dff43a4
xor eax, 0x6200bc5b
mov ecx, esi
xor ecx, eax
mov r8d, 0x896795ad
xor r8d, 0xe9498feb
mov eax, 0x45e8ec83
xor eax, 0xba17137c
xor r8d, eax
mov r9d, 0x563d5ac1
xor r9d, 0xb455cc81
mov eax, 0x1b15bd77
xor eax, 0xe4ea4288
xor r9d, eax
mov eax, ecx
and eax, 0xe2689640
and esi, r9d
mov r11d, 0x24fb7b59
xor r11d, 0xc693ed19
mov r10d, r8d
and r10d, r11d
mov r11d, r9d
and r11d, 0x602e1a46
or eax, esi
or r10d, r11d
xor eax, r10d
or ecx, r8d
mov r8d, 0xd7c5cff3
xor r8d, 0x283a300c
xor ecx, r8d
mov r8d, 0xa7af304f
xor r8d, 0x45c7a60f
or r8d, r9d
and ecx, r8d
or eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x7b777e58
and ecx, r8d
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x7b777e58
and eax, r8d
mov r8d, 0x2106adea
xor r8d, 0xdef95215
xor ecx, r8d
mov r8d, 0x549fbfff
xor r8d, 0xab604000
xor eax, r8d
and ecx, eax
mov eax, ecx
and eax, 0x21262d5e
or ecx, 0x21262d5e
add eax, ecx
mov ecx, 0xbad8eaf7
xor ecx, 0x5b132a34
mov rdx, qword [rdx + 0x18]
cmp dword [rdx + 8], 0xd4054986
sete dl
mov byte [rbp - 0x79], dl
cmp eax, ecx
je 0x1401af741
mov al, byte [rbp - 0x79]
test al, 1
jne 0x1401af87b
jmp 0x1401af9fc
mov eax, dword [0x1402b31e8]
and eax, dword [0x1402b31ec]
mov edx, eax
xor edx, 0x251ca51e
xor edx, 0xffffffff
and edx, 0x251ca51e
mov ecx, 0x1553b9f1
xor ecx, 0x1553b9f3
imul ecx, edx
sub ecx, 0x251ca51e
sub eax, ecx
imul eax, eax, 0x2731924b
or eax, eax
mov ecx, 0x95d66db8
xor ecx, 0x6a299247
xor eax, ecx
mov ecx, 0x7bbbcd2e
or ecx, 0x7bbbcd2e
mov edx, 0x1bc5d2d8
xor edx, 0xe43a2d27
xor ecx, edx
mov edx, 0xe8eb6025
xor edx, 0x17149fda
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x3c2689ad
xor ecx, 0xee86c5ba
cmp eax, ecx
jae 0x1401afa29
mov rax, qword [rbp + 0xa8]
mov ecx, dword [0x1402b31f0]
or ecx, dword [0x1402b31f4]
mov r8d, 0xd3bc3ba8
xor r8d, 0x31fe691e
mov edx, ecx
and edx, r8d
shl edx, 1
mov r8d, 0x14d0539
xor r8d, 0xe30f578f
xor ecx, r8d
add ecx, edx
xor edx, edx
sub edx, 0x5be0754c
add ecx, edx
sub ecx, 0xcdde9cb4
mov dword [rbp - 0x80], ecx
mov byte [rax], 0
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
mov qword [rcx], 0
mov rdx, qword [rax + 0x10]
xor r8d, r8d
sub rsp, 0x20
call fcn.140024f90
mov rax, qword [rbp + 0x38]
add rsp, 0x20
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.1400c0539
mov rcx, qword [rbp + 0xa8]
mov eax, dword [rbp - 0x80]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x7a], cl
cmp eax, 0x7812a13c
jbe 0x1401af900
mov al, byte [rbp - 0x7a]
test al, 1
jne 0x1401af9c7
jmp 0x1401af9fc
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov rcx, rax
add rcx, 0x10
mov rax, qword [rax + 0x10]
mov rdx, qword [rax + 0x38]
xor r8d, r8d
sub rsp, 0x20
call fcn.140024f90
add rsp, 0x20
mov rax, qword [rbp + 0x108]
lea rsp, [rbp + 0x110]
pop rdi
pop rsi
pop rbp
ret
invalid
in eax, 0xc8
pop rsp
jmp 0x1401af3c3
pop rsi
out dx, eax
mov esi, 0xfd18e90a
invalid
push rdx
invalid