Function at 0x1401ac350
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xb0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], r8
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x28], rcx
mov eax, dword [0x1401d3130]
xor edx, edx
div dword [0x1401d3134]
mov ecx, 0x1998e1e9
xor ecx, 0x1998e1e9
sub ecx, eax
mov eax, 0xb0ce9b15
xor eax, 0xb0ce9b15
mov edx, 0x86a02fad
xor edx, 0xfd6de73d
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x7903c88d
xor ecx, 0xc057280a
xor edx, edx
div ecx
or eax, 0xa69b43d0
cmp eax, 0xcbc9d2c7
ja 0x1401ac909
mov ecx, dword [0x1401d3138]
mov eax, dword [0x1401d313c]
xor eax, ecx
not eax
and eax, ecx
imul eax, eax, 0x5a0ac100
or eax, 0xe65207f4
add eax, 0x7fdabff1
mov dword [rbp + 4], eax
mov eax, 0x10
mov qword [rbp - 0x30], rax
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x48], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x40], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x38], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x28], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
sub rsp, 0x20
call fcn.1401bc6b1
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov qword [rbp - 8], rax
add rax, 0x60
mov qword [rbp - 0x10], rax
mov word [rcx], 0x3d7
sub rsp, 0x20
call fcn.140062840
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 4]
mov qword [rbp + 8], rdx
cmp byte [rcx + 0x60], 0
sete cl
mov byte [rbp + 0x17], cl
cmp eax, 0xfe1ba075
je 0x1401ac3c3
mov al, byte [rbp + 0x17]
test al, 1
jne 0x1401ac4c1
jmp 0x1401ac7e6
mov rcx, qword [rbp - 0x48]
movabs rdx, 0x8f157adbb9114a92
movabs rax, 0x8f157adbb9114a82
xor rdx, rax
sub rsp, 0x20
call fcn.1401abf51
mov rax, qword [rbp + 8]
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp + 0x18]
mov r8, qword [rbp - 0x38]
add rsp, 0x20
mov r9, qword [rax]
mov qword [r8], r9
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
mov r9d, 0x20019
sub rsp, 0x20
call fcn.1400c9b36
mov rax, qword [rbp - 0x10]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401ac7e6
mov rax, qword [rbp - 0x48]
mov rcx, qword [rax]
mov qword [rbp - 0x50], rcx
cmp byte [rax + 8], 0
jne 0x1401ac55b
sub rsp, 0x20
call fcn.1400809a0
add rsp, 0x20
mov rax, qword [rbp - 0x10]
cmp byte [rax], 0
je 0x1401ac903
jmp 0x1401ac7e6
mov rcx, qword [rbp - 0x40]
mov edx, 0x10
sub rsp, 0x20
call fcn.1401abf51
mov rcx, qword [rbp - 0x40]
add rsp, 0x20
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.14002d420
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x50]
add rsp, 0x20
mov r8d, 7
sub rsp, 0x20
call fcn.1401a9d10
mov rax, qword [rbp - 0x10]
add rsp, 0x20
cmp byte [rax], 0
je 0x1401ac5d3
mov rax, qword [rbp - 0x10]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401ac31b
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov al, byte [rax]
cmp al, 0
mov byte [rbp - 0x51], al
jne 0x1401ac683
sub rsp, 0x20
mov cx, 0x692
call fcn.140062510
mov r8, qword [rbp - 0x40]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 0x10]
mov al, byte [rax]
test al, al
sete cl
mov r8, qword [r8]
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov byte [rbp - 0x52], al
jne 0x1401ac612
jmp 0x1401ac67d
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp + 0x28]
mov rdx, qword [rdx]
mov rdx, qword [rdx + 0x28]
mov r8b, 0x12
xor r8b, 0x13
mov byte [rdx], r8b
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
sub rsp, 0x20
call fcn.1401a8ad0
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
add rsp, 0x20
mov rcx, qword [rcx]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14002d880
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x52], al
mov al, byte [rbp - 0x52]
mov byte [rbp - 0x51], al
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x40]
mov dl, byte [rbp - 0x51]
mov byte [rbp - 0x54], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401a8a8d
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov dl, byte [rax]
mov byte [rbp - 0x53], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.1400ca44d
mov rax, qword [rbp - 0x10]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401ac7e6
mov eax, dword [0x1401d3140]
xor eax, 0x5f3efbdf
mov edx, dword [0x1401d3144]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x32769196
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x32769196
or eax, 0x32769196
imul eax, edx
add eax, ecx
and eax, 0x94b8eef9
mov ecx, 0xf7935fd9
xor ecx, 0xbf23fd85
add eax, ecx
sub eax, 0x8da1e5c6
sub eax, 0x48b0a25c
cmp eax, 0x4ea06b47
je 0x1401ac912
mov al, byte [rbp - 0x54]
mov cl, byte [rbp - 0x53]
mov edx, dword [0x1401d3148]
sub edx, dword [0x1401d314c]
mov r8d, 0x24567cba
xor r8d, 0x83666cf2
or edx, r8d
mov r8d, 0x2f60f4a0
xor r8d, 0x1b1cb2a8
sub edx, r8d
add edx, 0xfd1aefda
mov r8d, 0xc766cb60
xor r8d, 0xf31a8d68
add edx, r8d
imul edx, edx, 0xfc8273db
mov dword [rbp - 0x60], edx
mov edx, 0xff3d526c
xor edx, 0x31d9d052
mov dword [rbp - 0x5c], edx
mov dl, 0xd3
xor dl, 0xd2
mov byte [rbp - 0x56], dl
cmp cl, 0
mov byte [rbp - 0x55], al
je 0x1401ac7b1
mov al, byte [rbp - 0x56]
mov byte [rbp - 0x55], al
mov eax, dword [rbp - 0x60]
mov ecx, dword [rbp - 0x5c]
mov rdx, qword [rbp - 0x10]
mov r8b, byte [rbp - 0x55]
cmp r8b, 0
sete r9b
mov byte [rbp - 0x61], r9b
mov byte [rdx], r8b
cmp eax, ecx
je 0x1401ac738
mov al, byte [rbp - 0x61]
test al, 1
jne 0x1401ac903
jmp 0x1401ac7e6
mov eax, dword [0x1401d3150]
imul eax, dword [0x1401d3154]
mov ecx, 0xde9b02fc
xor ecx, 0x2b72b275
sub eax, ecx
sub eax, 0x4df38b14
xor eax, 0x86df4e91
cmp eax, 0xdfbccdad
ja 0x1401ac91b
mov eax, dword [0x1401d3158]
mov edx, dword [0x1401d315c]
mov r8d, eax
xor r8d, edx
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
imul eax, eax, 0xc2dae103
mov ecx, 0x1712618
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0x2aecfcb5
mov edx, 0xd0a87eb5
xor edx, 0x2f57814a
xor ecx, edx
or eax, 0x2aecfcb5
and eax, ecx
mov dword [rbp - 0x74], eax
sub rsp, 0x20
call fcn.1401ac2b5
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x74]
mov rcx, qword [rcx]
mov qword [rbp - 0x70], rcx
mov cx, word [rcx + 0x12]
mov dx, 0xa5ac
xor dx, 0xa5ad
cmp cx, dx
setg cl
mov byte [rbp - 0x62], cl
cmp eax, 0xe0e8a521
je 0x1401ac815
mov al, byte [rbp - 0x62]
test al, 1
jne 0x1401ac8b0
jmp 0x1401ac903
mov rax, qword [rbp - 0x70]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x1401ac903
mov rax, qword [rbp - 0x10]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401ac2c7
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.140091980
mov rax, qword [rbp - 0x10]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401ac903
sub rsp, 0x20
call fcn.1401ac31b
add rsp, 0x20
lea rsp, [rbp + 0x30]
pop rbp
ret
invalid
invalid
cmc
ret