Function at 0x14004c780
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0xd0
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], r8
mov qword [rbp + 0x18], rdx
mov qword [rbp], rcx
mov eax, 0x10
mov qword [rbp + 8], rax
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 8]
mov rcx, rsp
mov qword [rbp + 0x20], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x10], rax
sub rsp, 0x20
call fcn.140045cde
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov qword [rbp + 0x28], rax
mov rax, qword [rdx]
mov qword [rcx], rax
mov rax, qword [rdx + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140034910
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov qword [rbp + 0x30], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0x38], rax
jne 0x14004cd1c
mov rax, qword [rbp]
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp + 0x30]
movabs r9, 0x9d728df6f39fd503
movabs r8, 0x9d728df6f39fd503
xor r9, r8
mov r8d, 0x369a98fb
cmp rdx, r9
cmove rdx, r8
mov qword [rbp - 0x18], rdx
mov qword [rcx], rdx
mov rcx, qword [rax]
mov qword [rbp - 0x10], rcx
movabs rdx, 0x3557272441b42ef2
movabs rax, 0x3557272441b42ef2
xor rdx, rax
mov rax, 0xffffffffffffffff
cmp rcx, rdx
mov qword [rbp + 0x38], rax
je 0x14004cd1c
mov rax, qword [rbp]
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x10]
movabs r8, 0x9920edd89dc7ebf2
movabs r9, 0x66df12276238140d
xor r8, r9
add rcx, r8
and rcx, rdx
add rax, 8
mov qword [rbp - 0x30], rax
xor eax, eax
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rax
mov rdx, qword [rbp]
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x38], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14004c936
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x38]
movabs rax, 0x665c56ab9f9c8703
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x2c46e4c588259a63
movabs r8, 0x4a1ab26e17b91d60
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140013c92
mov rax, qword [rbp - 0x48]
add rsp, 0x20
mov qword [rbp + 0x38], rax
jmp 0x14004cd1c
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x30]
mov rax, qword [rax]
mov qword [rbp - 0x58], rax
add rax, 8
imul rcx, rcx, 0x28
add rax, rcx
mov rax, qword [rax]
mov qword [rbp - 0x50], rax
cmp rax, 0
je 0x14004cbc6
mov eax, dword [0x1401f5370]
xor eax, 0x9223d1fd
mov ecx, dword [0x1401f5374]
mov edx, 0x1852d86e
xor edx, 0x464473d4
xor ecx, edx
sub eax, ecx
mov ecx, eax
and ecx, 0xa58d5d6c
shl ecx, 1
xor eax, 0xa58d5d6c
add eax, ecx
add eax, 0xbae64597
mov ecx, 0x4cd59058
xor ecx, 0xea3a1c10
xor eax, ecx
mov ecx, 0xddc2d53c
xor ecx, 0x76ce4fcb
cmp eax, ecx
jae 0x14004cd28
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 8]
mov eax, dword [0x1401f5378]
or eax, dword [0x1401f537c]
add eax, 0xa541d56e
mov r8d, 0x8a0c6bdb
xor r8d, 0xb393fd4c
or eax, r8d
xor eax, 0x319d73d3
cmp rcx, qword [rdx]
sete cl
mov byte [rbp - 0x59], cl
cmp eax, 0xc47ec294
ja 0x14004cd28
mov al, byte [rbp - 0x59]
test al, 1
jne 0x14004ca0a
jmp 0x14004cb42
mov ecx, dword [0x1401f5380]
mov eax, dword [0x1401f5384]
xor eax, 0xafb90836
xor eax, 0xffffffff
add ecx, eax
add ecx, 1
mov edx, 0x72793edd
xor edx, 0xf0c825ab
mov eax, ecx
and eax, edx
shl eax, 1
xor ecx, 0x82b11b76
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x681a3341
mov edx, 0xbcf91d28
xor edx, 0xd4e32e69
mov r8d, 0xeafe957b
xor r8d, 0x15016a84
xor edx, r8d
and ecx, edx
or eax, ecx
add eax, 0x8e4fe80d
cmp eax, 0x1479dfb5
je 0x14004cd31
mov r8, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x58]
mov eax, dword [0x1401f5388]
mov edx, dword [0x1401f538c]
xor edx, 0x54d29f0a
add eax, edx
add eax, 0x6b8131f8
mov r9d, 0xf4190b48
xor r9d, 0xd9583a5
xor edx, edx
div r9d
mov rdx, qword [rbp + 0x10]
mov r9d, eax
mov rax, qword [rbp + 0x18]
add r9d, 0xe836dee3
sub r9d, 0x32146e5e
sub r9d, 0xe836dee3
mov dword [rbp - 0x60], r9d
add rcx, 8
imul r8, r8, 0x28
add rcx, r8
add rcx, 8
mov r8, qword [rcx]
mov qword [rbp + 0x40], r8
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x48], rcx
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x40]
sub rsp, 0x20
call fcn.14005d6e0
add rsp, 0x20
mov cl, al
mov eax, dword [rbp - 0x60]
mov byte [rbp - 0x5a], cl
cmp eax, 0x7e44939
jb 0x14004ca76
mov rcx, qword [rbp - 0x40]
mov dl, byte [rbp - 0x5a]
xor eax, eax
test dl, 1
mov rdx, rcx
mov qword [rbp - 0x78], rdx
mov qword [rbp - 0x70], rcx
mov byte [rbp - 0x61], al
jne 0x14004cb9e
jmp 0x14004cb42
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x38]
movabs rax, 0x714a2d438bb73fa3
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x714a2d438bb73fa3
sub rdx, rax
sub rsp, 0x20
call fcn.140046fed
mov r8, qword [rbp + 0x28]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 0x48]
mov cl, 1
cmp byte [r8], 0
mov qword [rbp - 0x78], rdx
mov rdx, rax
mov qword [rbp - 0x70], rdx
mov byte [rbp - 0x61], cl
mov qword [rbp + 0x38], rax
jne 0x14004cd1c
mov rcx, qword [rbp - 0x78]
mov rax, qword [rbp - 0x70]
mov dl, byte [rbp - 0x61]
test dl, 1
mov qword [rbp - 0x28], rcx
mov rcx, rax
mov qword [rbp - 0x20], rcx
mov qword [rbp + 0x38], rax
jne 0x14004c8b8
jmp 0x14004cd1c
mov eax, dword [0x1401f5390]
mov ecx, dword [0x1401f5394]
xor ecx, 0xa271b32
sub eax, ecx
imul eax, eax, 0xe2cee95
mov ecx, 0xb563d3a6
xor ecx, 0xf12bcae6
and eax, ecx
mov ecx, 0x40da4d57
xor ecx, 0x4ef0f97e
xor edx, edx
div ecx
cmp eax, 0xf3916ccf
je 0x14004cd3a
mov rdx, qword [rbp - 0x40]
mov esi, dword [0x1401f5398]
mov r11d, dword [0x1401f539c]
mov eax, 0xf0cae406
xor eax, 0xf351bf9
mov ecx, esi
xor ecx, eax
mov eax, 0x896a5e37
xor eax, 0x7695a1c8
mov r8d, r11d
xor r8d, eax
mov r9d, 0x35bf6f22
xor r9d, 0x226b729
mov eax, 0x8ea920ae
xor eax, 0x7156df51
xor r9d, eax
mov eax, ecx
and eax, 0x3799d80b
and esi, r9d
mov edi, 0x44fefa55
xor edi, 0x7367225e
mov r10d, r8d
and r10d, edi
and r11d, r9d
or eax, esi
or r10d, r11d
xor eax, r10d
or ecx, r8d
xor ecx, 0xffffffff
mov r8d, 0xe5e869d6
xor r8d, 0xd271b1dd
or r8d, r9d
and ecx, r8d
or eax, ecx
imul eax, eax, 0x8eb9bf83
add eax, 0x45dd2284
mov r9d, 0xd20b0a73
xor r9d, 0xa8ec87e5
mov ecx, 0xdd5c80d5
xor ecx, 0x22a37f2a
xor r9d, ecx
mov r8d, eax
and r8d, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x30d99270
xor r9d, 0xcf266d8f
xor ecx, r9d
imul ecx, r8d
mov r9d, 0x512157d3
xor r9d, 0x2bc6da45
mov r8d, eax
and r8d, r9d
or eax, 0x7ae78d96
imul eax, r8d
add eax, ecx
mov ecx, 0x9b3d132b
xor ecx, 0x4362fa60
xor rdx, 0xffffffffffffffff
mov qword [rbp - 0x80], rdx
cmp eax, ecx
je 0x14004cd3a
mov rax, qword [rbp - 0x80]
mov qword [rbp + 0x38], rax
jmp 0x14004cd1c
mov rax, qword [rbp + 0x38]
lea rsp, [rbp + 0x50]
pop rdi
pop rsi
pop rbp
ret
pop rsi
neg qword [r9 + rbp*8 - 0x79]
cld
invalid
sahf
mov al, 0x44
jmp 0x14004ca76
sub al, 0x9c
adc ecx, dword [rsi - 0x13b17]
invalid