Function at 0x1400d4180
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x180
lea rbp, [rsp + 0x80]
mov dword [rbp + 0x3c], edx
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x40], rcx
mov eax, 0x10
mov qword [rbp + 0x48], rax
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
sub rsp, 0x20
call fcn.1400d4bde
mov rcx, qword [rbp + 0x60]
add rsp, 0x20
mov qword [rbp + 0x70], rax
movabs rax, 0xe8df745ca14a70a3
movabs rdx, 0xe8df745ca14a70a3
xor rax, rdx
mov qword [rcx], rax
mov qword [rcx + 8], 0
movabs rax, 0x2823444085fc0df1
movabs rcx, 0x2823444085fc0df1
xor rax, rcx
mov qword [rbp + 0x98], rax
lea rax, [rbp + 0x98]
add rax, 8
mov qword [rbp + 0x68], rax
mov qword [rbp + 0xa0], 0
lea rcx, [rbp + 0x98]
mov edx, 0x104
sub rsp, 0x20
call fcn.1400a1210
mov rax, qword [rbp + 0x70]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400d4a9c
mov ecx, 0x4f0
sub rsp, 0x20
call fcn.140066656
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x30], rcx
cmp byte [rax], 0
jne 0x1400d4a9c
mov cx, 0x45f
xor cx, 0x4fd
sub rsp, 0x20
call fcn.140066656
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x28], rcx
mov al, byte [rax]
mov cl, 0x88
xor cl, 0x88
cmp al, cl
jne 0x1400d4a9c
mov ecx, 0x442
sub rsp, 0x20
call fcn.140066b71
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x70]
mov dword [rbp + 0x24], ecx
cmp byte [rax], 0
jne 0x1400d4a9c
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0xb0], rax
sub rsp, 0x20
call fcn.1400d4bde
add rsp, 0x20
lea rcx, [rbp + 0xa8]
sub rsp, 0x20
call fcn.1400d6831
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x18], rcx
mov al, byte [rax]
mov cl, 6
xor cl, 6
cmp al, cl
jne 0x1400d4a9c
mov rax, qword [rbp + 0x18]
mov r9d, dword [rbp + 0x24]
mov r8, qword [rbp + 0x28]
mov edx, dword [rbp + 0x3c]
mov rcx, qword [rbp + 0x30]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.1400b29b2
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp + 0x70]
mov dword [rbp + 0x14], ecx
cmp byte [rax], 0
jne 0x1400d4a9c
mov eax, dword [rbp + 0x14]
mov ecx, 0xdccd3d32
xor ecx, 0xdccd3d32
cmp eax, ecx
je 0x1400d43db
mov rax, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x60]
mov rdx, qword [0x140215a10]
mov qword [rcx], rdx
mov rdx, qword [str._Z__]
mov qword [rcx + 8], rdx
mov rax, qword [rax]
mov qword [rbp + 8], rax
cmp rax, 0
je 0x1400d4ae1
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
movabs rdx, 0x8add760c359f7e7e
movabs r8, 0xcadd760c359f7e7e
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp], rax
je 0x1400d4ad0
jmp 0x1400d4ae1
sub rsp, 0x20
call fcn.1400d4bde
add rsp, 0x20
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0xc8], rax
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0xd0], rax
lea rcx, [rbp + 0xc8]
sub rsp, 0x20
call fcn.1400d6831
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x10]
mov qword [rbp - 8], rcx
cmp byte [rax], 0
jne 0x1400d4950
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.1400a16c1
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x10]
mov dword [rbp - 0x14], ecx
cmp byte [rax], 0
jne 0x1400d4950
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0xb8], rax
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0xc0], rax
lea rcx, [rbp + 0xb8]
sub rsp, 0x20
call fcn.1400d6863
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x20], rcx
cmp byte [rax], 0
jne 0x1400d4950
mov rax, qword [rbp - 0x20]
mov ecx, dword [rbp - 0x14]
movsxd rcx, ecx
mov qword [rbp - 0x28], rcx
cmp rax, rcx
jle 0x1400d4950
mov eax, dword [rbp - 0x14]
cmp eax, 0
jge 0x1400d44de
mov rcx, qword [rbp - 0x28]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000dc65
add rsp, 0x20
jmp 0x1400d4950
sub rsp, 0x20
call fcn.1400d4bde
mov rdx, qword [rbp - 0x28]
add rsp, 0x20
mov qword [rbp - 0x38], rax
movabs rcx, 0x938ff92a761e8670
mov rax, rdx
add rax, rcx
movabs rcx, 0x20da909c7ef1bcf8
movabs r8, 0x20da909c7ef1bcf9
xor rcx, r8
add rax, rcx
movabs rcx, 0x938ff92a761e8670
sub rax, rcx
mov qword [rbp - 0x30], rax
mov rcx, rdx
or rcx, rcx
movabs r8, 0x59cb67b8d62c78ec
movabs r9, 0xa634984729d38713
xor r8, r9
xor rcx, r8
mov r8, 0xffffffffffffffff
or r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rcx, r8
xor rcx, 0xffffffffffffffff
or rdx, 0xffffffffffffffff
movabs r8, 0x2eb5ebf2cf3f880c
movabs r9, 0xd14a140d30c077f3
xor r8, r9
xor rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x1400d4725
mov r11d, dword [0x140206058]
mov eax, 0xfb6e81c8
xor eax, 0xe39370c4
xor r11d, eax
mov eax, dword [0x14020605c]
xor eax, 0xcad3d19b
xor r11d, eax
mov eax, 0xc0857989
xor eax, 0x3f7a8676
mov ecx, r11d
xor ecx, eax
mov r8d, 0xffffffff
xor r8d, 0xa11521b1
mov edx, 0xffffffff
xor edx, 0x7ab35f08
mov eax, ecx
and eax, 0x7ab35f08
and r11d, edx
mov r9d, r8d
and r9d, 0x7ab35f08
mov r10d, edx
and r10d, 0xa11521b1
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x7ab35f08
and ecx, edx
or eax, ecx
mov ecx, 0xb1eda2f3
xor ecx, 0x4e125d0c
mov edx, eax
xor edx, ecx
and edx, 0x336a2c1f
mov r8d, 0xffffffff
xor r8d, 0x336a2c1f
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x336a2c1f
or eax, 0x336a2c1f
imul eax, edx
add eax, ecx
or eax, 0x2c4d0719
mov ecx, 0x15d4c7ab
xor ecx, 0x3eec4764
cmp eax, ecx
je 0x1400d4bc3
mov eax, dword [0x140206060]
mov ecx, 0x29e40f2
xor ecx, 0x4d2e32fd
xor eax, ecx
mov r8d, dword [0x140206064]
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
mov ecx, 0x466663e9
xor ecx, 0xf2620f8b
sub eax, ecx
mov r8d, 0x76d483a0
xor r8d, 0xc30f4ec9
mov ecx, 0x820f98f5
xor ecx, 0x7df0670a
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xb5dbcd69
or eax, 0xb5dbcd69
imul eax, edx
add eax, ecx
mov ecx, 0x2041edc1
xor ecx, 0xf6c141d
imul eax, ecx
mov dword [rbp - 0x3c], eax
sub rsp, 0x20
call fcn.140007f57
mov eax, dword [rbp - 0x3c]
add rsp, 0x20
cmp eax, 0x6a3c48c1
jae 0x1400d466a
jmp 0x1400d4950
mov rcx, qword [rbp - 0x30]
lea rdx, [rbp + 0xe8]
sub rsp, 0x20
call fcn.1400d68fa
add rsp, 0x20
test al, 1
jne 0x1400d474a
jmp 0x1400d475c
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x1400d4950
mov eax, dword [0x140206068]
mov edx, dword [0x14020606c]
xor edx, 0x1e77c52c
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov r8d, edx
and r8d, ecx
mov ecx, 0xdaed3e62
xor ecx, 0xdaed3e60
imul ecx, r8d
sub ecx, edx
sub eax, ecx
or eax, 0x384ba140
add eax, 0xc33a38aa
sub eax, 0x2c2a60cf
cmp eax, 0xdf059b9f
ja 0x1400d4bcc
mov eax, dword [0x140206070]
and eax, dword [0x140206074]
mov ecx, 0x7be1023d
xor edx, edx
div ecx
sub eax, 0xbbe58aab
mov ecx, 0xbd33b5f6
xor ecx, 0x6f8fc392
sub eax, ecx
mov ecx, 0x6f8d58e6
xor ecx, 0xd468d24d
add eax, ecx
mov ecx, 0x30f2c679
xor ecx, 0x9be8c4
or eax, ecx
mov rcx, qword [rbp + 0xe8]
mov qword [rbp - 0x48], rcx
cmp rcx, 0
setl cl
mov byte [rbp - 0x3d], cl
cmp eax, 0x9f27437d
jae 0x1400d47a8
mov al, byte [rbp - 0x3d]
test al, 1
jne 0x1400d4819
jmp 0x1400d483d
mov rcx, qword [rbp - 0x48]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000dc65
add rsp, 0x20
jmp 0x1400d4950
mov rdx, qword [rbp - 0x48]
lea rcx, [rbp + 0x98]
sub rsp, 0x20
call fcn.140016100
add rsp, 0x20
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0xd8], rax
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0xe0], rax
lea rcx, [rbp + 0xd8]
sub rsp, 0x20
call fcn.1400d6863
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x38]
mov qword [rbp - 0x50], rcx
cmp byte [rax], 0
jne 0x1400d4950
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
call fcn.1400d68fa
add rsp, 0x20
test al, 1
jne 0x1400d48bb
jmp 0x1400d48cd
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x1400d4950
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax]
mov qword [rbp - 0x60], rcx
test rcx, rcx
setns al
mov rdx, qword [rbp + 0x98]
mov qword [rbp - 0x58], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400d493e
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x58]
movabs rax, 0x82e9db629eb81d80
movabs r8, 0x36c9e09eb3fd78f5
xor rax, r8
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xb4203bfc2d456575
sub rdx, rax
sub rsp, 0x20
call fcn.140014583
add rsp, 0x20
jmp 0x1400d4950
mov rcx, qword [rbp - 0x60]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax]
mov word [rax + rcx + 8], 0
mov rax, qword [rbp + 0x70]
cmp byte [rax], 0
jne 0x1400d4a9c
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x78], rax
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x80], rax
sub rsp, 0x20
call fcn.1400d4bde
mov rcx, qword [rbp + 0x50]
add rsp, 0x20
mov qword [rbp - 0x70], rax
mov rax, qword [rbp + 0x78]
mov qword [rcx], rax
mov rax, qword [rbp + 0x80]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400d6831
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x70]
mov qword [rbp - 0x68], rcx
cmp byte [rax], 0
jne 0x1400d4a83
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 0xf0]
sub rsp, 0x20
call fcn.1400d6863
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x70]
mov qword [rbp - 0x78], rcx
cmp byte [rax], 0
jne 0x1400d4a83
mov rax, qword [rbp - 0x78]
movabs rcx, 0x249e1e7d9bd20379
movabs rdx, 0x249e1e7d9bd20379
xor rcx, rdx
cmp rax, rcx
jge 0x1400d4a67
mov rcx, qword [rbp - 0x78]
movabs rdx, 0x70ebc20625fcd534
movabs rax, 0x70ebc20625fcd534
xor rdx, rax
movabs r8, 0xc6b49208a3146a20
movabs rax, 0xb94b6df75ceb95df
xor r8, rax
sub rsp, 0x20
call fcn.14000dc65
add rsp, 0x20
jmp 0x1400d4a83
mov r8, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x68]
lea rcx, [rbp + 0x88]
sub rsp, 0x20
call fcn.1400a179e
add rsp, 0x20
mov rax, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x88]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x90]
mov qword [rax + 8], rcx
mov rax, qword [rbp + 0x68]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp rax, 0
je 0x1400d4ae1
mov rax, qword [rbp - 0x80]
movabs rcx, 0x4000000000000000
and rcx, qword [rax]
cmp rcx, 0
mov qword [rbp], rax
jne 0x1400d4ae1
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov ecx, dword [0x140206078]
mov r8d, dword [0x14020607c]
xor r8d, 0x8e6a7694
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
xor ecx, 0x84502b0c
mov edx, 0xaf93f7ee
xor edx, 0x6d1f299
mov eax, ecx
and eax, edx
mov edx, 0xb32602a5
xor edx, 0x4cd9fd5a
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xa9420577
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x35170897
xor ecx, 0xb141ece8
xor eax, ecx
cmp eax, 0xef6e822f
je 0x1400d4bd5
mov eax, dword [0x140206080]
xor edx, edx
div dword [0x140206084]
mov ecx, eax
xor ecx, 0xa486a65
mov edx, 0x58557182
xor edx, 0x521d1be7
mov r8d, 0x84a2fb39
xor r8d, 0x7b5d04c6
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
or eax, 0xf8f734c6
imul eax, eax, 0xf76a0afd
cmp eax, 0xcd85cc7f
jae 0x1400d4b68
mov rax, qword [rbp + 0x40]
lea rsp, [rbp + 0x100]
pop rbp
ret
rcl ebp, 1
mov bl, 0xac
jmp 0x1400d466a
lahf
fld xword [rbx]
mov esi, 0xfffbd3e9
inc dword [rax]
cdq
stosb byte [rdi], al
invalid
add byte [rcx - 0x7516c056], bl
invalid