Function at 0x140040280
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x518]
sub rsp, 0x5f0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x1400cd080]
xor rax, rsp
mov qword [rbp + 0x4c0], rax
mov r14, rcx
xor r12d, r12d
mov dword [rbp - 0x78], r12d
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x1400444d0]
xor edx, edx
xor ecx, ecx
call qword [0x14009e220]
cmp qword [r14 + 0x30], 0xa
jne 0x140041b39
cmp qword [r14 + 0x50], 0x40
jne 0x140041b39
xorps xmm0, xmm0
movups xmmword [rbp + 0x270], xmm0
xorps xmm1, xmm1
movups xmmword [rbp + 0x1f0], xmm1
mov qword [rbp + 0x200], r12
mov qword [rbp + 0x208], 0xf
mov byte [rbp + 0x1f0], r12b
lea rcx, [rbp + 0x270]
call qword [0x14009e770]
mov qword [rbp + 0x140], r12
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0x270]
call qword [0x14009e768]
test eax, eax
jne 0x140040376
mov rdx, qword [rbp + 0x140]
lea rcx, [rbp + 0x1f0]
call fcn.140038910
lea rcx, [rbp + 0x140]
call qword [0x14009e760]
xorps xmm0, xmm0
movups xmmword [rbp + 0x1d0], xmm0
mov qword [rbp + 0x1e0], r12
mov qword [rbp + 0x1e8], 0xf
mov byte [rbp + 0x1d0], 0
movups xmmword [rbp - 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x48], xmm1
mov r8d, 0x10
cmp qword [rbp + 0x200], r8
cmovb r8, qword [rbp + 0x200]
lea rdx, [rbp + 0x1f0]
cmp qword [rbp + 0x208], 0xf
cmova rdx, qword [rbp + 0x1f0]
lea rcx, [rbp - 0x58]
call fcn.14001f570
movups xmm6, xmmword [rbp - 0x58]
movups xmmword [rbp + 0x1d0], xmm6
movdqu xmm7, xmmword [rbp - 0x48]
movups xmmword [rbp + 0x1e0], xmm7
mov word [rbp - 0x78], Ordinal_46
mov byte [rbp - 0x76], 0
lea r9, [rbp + 0x148]
lea r8, [rbp - 0x77]
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x60]
call fcn.140023b70
nop
lea r8, [rbp + 0x1d0]
movq rcx, xmm6
movdqa xmm0, xmm7
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0xf
cmova r8, rcx
movq r9, xmm7
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.140041bc0
xorps xmm0, xmm0
movups xmmword [rbp + 0x170], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x180], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x170], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x180], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x1400404c1
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400404bc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400404bc
call qword [0x14009ebb0]
int3
call fcn.140098fac
movdqa xmm0, xmmword [0x1400bd390]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], 0
lea rdx, [r14 + 0x40]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1400404e6
mov rdx, qword [rdx]
lea rcx, [rbp + 0x170]
call fcn.14001c760
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x48], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [r14 + 0x278]
lea rdx, [rbp - 0x58]
call fcn.140038880
mov rdx, qword [rbp - 0x40]
cmp rdx, 0xf
jbe 0x14004055f
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040559
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140040559
call qword [0x14009ebb0]
int3
call fcn.140098fac
nop
mov rdx, qword [rbp + 0x188]
cmp rdx, 0xf
jbe 0x1400405a3
inc rdx
mov rcx, qword [rbp + 0x170]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004059e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004059e
call qword [0x14009ebb0]
int3
call fcn.140098fac
lea rcx, [rbp + 0x230]
call fcn.14003a1d0
nop
call fcn.1400499e0
mov r15, rax
mov dword [rsp + 0x60], 0xf7eff8b0
mov dword [rsp + 0x64], 0xf9f5e9ff
mov word [rsp + 0x68], 0xa3
mov byte [rsp + 0x6a], 1
mov rdx, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x1400405e1
mov rdx, qword [r14]
xor r8d, r8d
mov rcx, r15
call fcn.1400484e0
mov rbx, rax
mov dword [rbp - 0x60], 0xf4f9f9b0
mov dword [rbp - 0x5c], 0x100a6ff
mov dword [rbp + 0x160], 0xfaf6f2b0
mov dword [rbp + 0x164], 0xa0e5fef1
mov word [rbp + 0x168], 0x100
mov dword [rbp - 0x68], 0xeaf9ffb0
mov dword [rbp - 0x64], 0x100a6f2
mov dword [rbp - 0x70], 0xebfde1b0
mov word [rbp - 0x6c], 0xa7
mov byte [rbp - 0x6a], 1
mov dword [rsp + 0x50], 0xfce8eee2
mov dword [rsp + 0x54], 0xf4f2f2a7
mov word [rsp + 0x58], 0xea
mov byte [rsp + 0x5a], 1
mov rcx, r12
nop dword [rax + rax]
lea eax, [rcx - 0x6a]
xor byte [rbp + rcx - 0x70], al
inc rcx
cmp rcx, 5
jb 0x140040660
mov byte [rbp - 0x6a], 0
lea r9, [rbp + 0x148]
lea r8, [rbp - 0x6b]
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x170]
call fcn.140023b70
nop
cmp byte [rsp + 0x5a], 0
je 0x1400406b5
mov rcx, r12
nop word [rax + rax]
lea eax, [rcx - 0x6a]
xor byte [rsp + rcx + 0x50], al
inc rcx
cmp rcx, 9
jb 0x1400406a0
mov byte [rsp + 0x5a], 0
lea r9, [rbp + 0x148]
lea r8, [rsp + 0x59]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x58]
call fcn.140023b70
nop
lea r9, [rbp + 0x170]
lea r8, [rbp - 0x58]
movzx edx, byte [rbp + 0x148]
lea rcx, [rbp - 0x38]
call fcn.140037b10
nop
mov r8, qword [rbp - 0x40]
cmp r8, 0xf
jbe 0x140040704
mov rdx, qword [rbp - 0x58]
lea rcx, [rbp - 0x58]
call fcn.1400396d0
nop
mov r8, qword [rbp + 0x188]
cmp r8, 0xf
jbe 0x140040725
mov rdx, qword [rbp + 0x170]
lea rcx, [rbp + 0x170]
call fcn.1400396d0
nop
lea r8, [r14 + 0x60]
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0x120]
call fcn.14001e510
nop
lea r8, [rbp - 0x68]
mov rdx, rax
lea rcx, [rbp + 0x100]
call fcn.140031150
nop
lea rdx, [rbp + 0x230]
cmp qword [rbp + 0x248], 0xf
cmova rdx, qword [rbp + 0x230]
mov r8, qword [rbp + 0x240]
mov rcx, rax
call fcn.14001c760
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x48], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r8, [rbp + 0x160]
lea rdx, [rbp - 0x58]
lea rcx, [rbp + 0xe0]
call fcn.140031230
nop
lea rdx, [rbp + 0x1d0]
cmp qword [rbp + 0x1e8], 0xf
cmova rdx, qword [rbp + 0x1d0]
mov r8, qword [rbp + 0x1e0]
mov rcx, rax
call fcn.14001c760
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x190], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x1a0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov esi, 0x1ffc
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x190]
lea rcx, [rbp + 0xc0]
call fcn.140031150
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0xa0]
call fcn.14001e4a0
nop
lea r8, [rsp + 0x60]
mov rdx, rax
lea rcx, [rbp + 0x80]
call fcn.140031310
nop
lea r8, [r14 + 0x20]
mov rdx, rax
lea rcx, [rbp + 0x250]
call fcn.14001e510
nop
lea rcx, [rbp + 0x80]
call fcn.14001adb0
nop
lea rcx, [rbp + 0xa0]
call fcn.14001adb0
nop
lea rcx, [rbp + 0xc0]
call fcn.14001adb0
nop
lea rcx, [rbp + 0x190]
call fcn.14001adb0
nop
lea rcx, [rbp + 0xe0]
call fcn.14001adb0
nop
lea rcx, [rbp - 0x58]
call fcn.14001adb0
nop
lea rcx, [rbp + 0x100]
call fcn.14001adb0
nop
lea rcx, [rbp + 0x120]
call fcn.14001adb0
nop
lea rcx, [rbp - 0x38]
call fcn.14001adb0
lea rdi, [r14 + 0xa0]
mov r8, qword [rdi + 0x10]
mov rcx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x1400408d3
mov rcx, qword [rdi]
movabs r13, 0x7fffffffffffffff
test r8, r8
jne 0x140040900
lea rdx, [0x1400ad4eb]
call fcn.140099fee
test eax, eax
jne 0x140040900
cmp qword [r14 + 0xb0], 0
je 0x140040d1a
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp + 0x190]
call fcn.14001d680
nop
lea rcx, [rbp + 0x190]
call fcn.140003c60
movzx ebx, al
lea rcx, [rbp + 0x190]
call fcn.140002e10
test bl, bl
jne 0x140040989
movdqa xmm0, xmmword [0x14009ffe0]
movdqu xmmword [rbp - 0x10], xmm0
movdqa xmm1, xmmword [0x1400a0100]
movdqu xmmword [rbp], xmm1
movdqa xmm0, xmmword [0x1400a00d0]
movdqu xmmword [rbp + 0x10], xmm0
mov word [rbp + 0x20], 0xe8
mov byte [rbp + 0x22], 1
lea rcx, [rbp - 0x10]
call fcn.140039e90
mov rdx, rax
mov r9d, 0x10
xor r8d, r8d
xor ecx, ecx
call qword [0x14009e7a8]
xor ecx, ecx
call qword [0x14009eb08]
int3
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x280]
call fcn.14009a000
cmp qword [rdi + 0x18], 0xf
jbe 0x1400409a7
mov rdi, qword [rdi]
lea rax, [0x1400af228]
mov qword [rbp + 0x280], rax
lea rcx, [rbp + 0x330]
call qword [0x14009e6d8]
nop
mov dword [rbp - 0x78], 0x4001ffc
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x290]
lea rcx, [rbp + 0x280]
call qword [0x14009e6b8]
nop
mov rax, qword [rbp + 0x280]
movsxd rcx, dword [rax + 4]
lea rbx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x280], rbx
mov rax, qword [rbp + 0x280]
movsxd rcx, dword [rax + 4]
lea r8d, [rcx - 0xb0]
mov dword [rbp + rcx + 0x27c], r8d
lea rcx, [rbp + 0x290]
call fcn.14001cda0
nop
mov r9d, 0x40
lea r8d, [r9 - 0x3f]
mov rdx, rdi
lea rcx, [rbp + 0x290]
call fcn.14001cc60
test rax, rax
jne 0x140040a67
mov rax, qword [rbp + 0x280]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x280]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [0x14009e420]
nop
mov rax, qword [rbp + 0x280]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x280], rbx
mov rax, qword [rbp + 0x280]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x27c], edx
xorps xmm0, xmm0
movups xmmword [rbp + 0x170], xmm0
mov qword [rbp + 0x180], r12
mov qword [rbp + 0x188], 0xf
mov byte [rbp + 0x170], 0
movups xmmword [rbp + 0x190], xmm0
movdqa xmm1, xmmword [0x1400bd390]
movdqu xmmword [rbp + 0x1a0], xmm1
mov byte [rbp + 0x190], 0
mov rax, qword [rbp + 0x280]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x280]
add rcx, rax
mov dl, 0xa
call qword [0x14009e5e0]
movzx r8d, al
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x280]
call fcn.140033db0
movdqa xmm0, xmmword [0x1400a0000]
movdqu xmmword [rbp - 0x10], xmm0
movdqa xmm1, xmmword [0x1400a0050]
movdqu xmmword [rbp], xmm1
movdqa xmm0, xmmword [0x1400a0180]
movdqu xmmword [rbp + 0x10], xmm0
mov word [rbp + 0x20], 0x100
lea r8, [r14 + 0xa0]
mov rcx, qword [r8 + 0x10]
mov rax, r13
sub rax, rcx
cmp rax, 0x14
jb 0x140041ba7
mov rax, r8
cmp qword [r8 + 0x18], 0xf
jbe 0x140040b5c
mov rax, qword [r8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x14
lea r9, str.certutil__hashfile__
movzx edx, byte [rbp + 0x148]
lea rcx, [rbp - 0x58]
movdqa xmm0, xmmword [0x1400a0020]
movdqu xmmword [rbp - 0x10], xmm0
movdqa xmm1, xmmword [0x1400a0060]
movdqu xmmword [rbp], xmm1
movdqa xmm0, xmmword [0x1400a00a0]
movdqu xmmword [rbp + 0x10], xmm0
movdqa xmm1, xmmword [0x1400a00b0]
movdqu xmmword [rbp + 0x20], xmm1
mov dword [rbp + 0x30], 0xbaf6b9bf
mov dword [rbp + 0x34], 0x100abaa
lea rcx, [rbp - 0x10]
call fcn.140039ef0
mov rdx, rax
mov r9d, 0x10
xor r8d, r8d
xor ecx, ecx
call qword [0x14009e7a8]
xor ecx, ecx
call qword [0x14009eb08]
nop