Function at 0x14000ace0
Capabilities:
Encode data using xor
Hash data with md5

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1050]
mov eax, 0x11f0
call fcn.14003de50
sub rsp, rax
mov qword [rbp + 0x10], 0xfffffffffffffffe
mov qword [rsp + 0x1220], rbx
mov qword [rsp + 0x1228], rsi
mov qword [rsp + 0x1230], rdi
mov rax, qword [0x1400a8008]
xor rax, rsp
mov qword [rbp + 0x1040], rax
xor eax, eax
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], rax
lea rax, [rbp + 0xf8]
mov qword [rbp + 0xe8], rax
xor ebx, ebx
mov dword [rbp + 0xf0], ebx
mov dword [rbp + 0xf4], 0x100
mov word [rbp + 0xf8], bx
lea rcx, [0x140086af8]
mov qword [rbp + 0xe0], rcx
lea rax, [rbp + 0x758]
mov qword [rbp + 0x748], rax
mov dword [rbp + 0x750], ebx
mov dword [rbp + 0x754], 0x100
mov word [rbp + 0x758], bx
mov qword [rbp + 0x740], rcx
lea rax, [rbp + 0x978]
mov qword [rbp + 0x968], rax
mov dword [rbp + 0x970], ebx
mov dword [rbp + 0x974], 0x100
mov word [rbp + 0x978], bx
mov qword [rbp + 0x960], rcx
lea rax, [rbp + 0x318]
mov qword [rbp + 0x308], rax
mov dword [rbp + 0x310], ebx
mov dword [rbp + 0x314], 0x100
mov word [rbp + 0x318], bx
mov qword [rbp + 0x300], rcx
lea rax, [rbp + 0x538]
mov qword [rbp + 0x528], rax
mov dword [rbp + 0x530], ebx
mov dword [rbp + 0x534], 0x100
mov word [rbp + 0x538], bx
mov qword [rbp + 0x520], rcx
xor edx, edx
lea r8d, [rbx + 0x68]
lea rcx, [rbp + 0x70]
call fcn.140021ce0
mov byte [rbp + 0xd8], bl
mov qword [rbp + 0x80], rbx
mov dword [rbp + 0x70], 0x67452301
mov dword [rbp + 0x74], 0xefcdab89
mov dword [rbp + 0x78], 0x98badcfe
mov dword [rbp + 0x7c], 0x10325476
xor eax, eax
mov qword [rbp + 0xb90], rax
mov qword [rbp + 0xb98], rax
mov qword [rbp + 0xba0], rax
mov qword [rbp + 0xba8], rax
mov qword [rbp + 0xbb0], rax
xor ecx, ecx
call fcn.14002db7c
mov r12, rax
mov dword [rbp - 0x68], ebx
cmp rax, qword [0x1400c4538]
jle 0x14000aeb3
sub r12d, dword [0x1400c4538]
jmp 0x14000aeb9
mov r12d, 0x57e3f
mov qword [rbp - 0x60], r12
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xb80], xmm0
mov rcx, qword [0x1400c32f8]
movq rax, xmm0
sub rcx, rax
jne 0x14000aee7
mov rcx, qword [0x1400c3300]
sub rcx, qword [rbp + 0xb88]
test rcx, rcx
sete al
test al, al
je 0x14000aef6
call fcn.140004f70
movups xmm0, xmmword [0x1400c32f8]
movups xmmword [rbp + 0xb80], xmm0
mov r8d, dword [0x1400c3710]
lea rax, [0x1400c3310]
add r8, rax
lea rcx, [rbp + 0xb80]
call fcn.14003e870
mov dword [rbp + 0x30], 0x40
lea rcx, [rbp + 0x30]
call qword [0x140076370]
test eax, eax
jne 0x14000af58
xor eax, eax
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], rax
lea rcx, [rbp + 0x18]
call qword [0x140076368]
xor edx, edx
lea rcx, [rbp + 0x740]
call fcn.140005730
lea rcx, [rbp + 0x960]
call fcn.14000a5e0
call qword [0x1400762f0]
mov rcx, rax
lea rdx, [rbp - 0x68]
call qword [0x140076360]
mov ecx, dword [rbp - 0x68]
test eax, eax
cmove ecx, ebx
mov dword [rbp - 0x68], ecx
xor edx, edx
mov r8d, 0x80
lea rcx, [rbp + 0xbc0]
call fcn.140021ce0
mov dword [rbp - 0x80], 0x80
mov byte [rbp + 0xbc0], 0
xor dil, dil
mov qword [rbp - 0x70], rbx
mov dword [rbp - 0x78], ebx
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
lea rdx, str.SOFTWAREMetaQuotes_Software
mov rcx, 0xffffffff80000002
call qword [0x1400760a8]
mov esi, 1
test eax, eax
jne 0x14000b048
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xbc0]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x78]
xor r8d, r8d
lea rdx, [0x140086724]
mov rcx, qword [rbp - 0x70]
call qword [0x1400760b0]
movzx edi, dil
test eax, eax
cmove edi, esi
mov rcx, qword [rbp - 0x70]
call qword [0x1400760b8]
test dil, dil
je 0x14000b048
cmp word [rbp + 0xbc0], 0
jne 0x14000b0d6
mov dword [rbp - 0x78], 0x80
mov byte [rbp + 0xbc0], 0
xor dil, dil
mov qword [rbp - 0x70], rbx
mov dword [rbp - 0x80], ebx
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
lea rdx, str.SOFTWAREMetaQuotes_Software
mov rcx, 0xffffffff80000001
call qword [0x1400760a8]
test eax, eax
jne 0x14000b0cf
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xbc0]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x80]
xor r8d, r8d
lea rdx, [0x140086724]
mov rcx, qword [rbp - 0x70]
call qword [0x1400760b0]
movzx edi, dil
test eax, eax
cmove edi, esi
mov rcx, qword [rbp - 0x70]
call qword [0x1400760b8]
test dil, dil
jne 0x14000b0d6
mov word [rbp + 0xbc0], bx
xor edx, edx
mov r8d, 0x200
lea rcx, [rbp + 0xc40]
call fcn.140021ce0
mov dword [rbp - 0x78], 0x200
mov byte [rbp + 0xc40], 0
xor dil, dil
mov qword [rbp - 0x70], rbx
mov dword [rbp - 0x80], ebx
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
lea rdx, str.HARDWAREDESCRIPTIONSystem
mov rcx, 0xffffffff80000002
call qword [0x1400760a8]
test eax, eax
jne 0x14000b18e
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xc40]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x80]
xor r8d, r8d
lea rdx, str.SystemBiosVersion
mov rcx, qword [rbp - 0x70]
call qword [0x1400760b0]
movzx edi, dil
test eax, eax
cmove edi, esi
mov rcx, qword [rbp - 0x70]
call qword [0x1400760b8]
test dil, dil
je 0x14000b18e
lea rdx, [0x14008ab04]
lea rcx, [rbp + 0xc40]
call fcn.140020980
test rax, rax
je 0x14000b195
mov word [rax], bx
jmp 0x14000b195
mov word [rbp + 0xc40], bx
xor edx, edx
mov r8d, 0x200
lea rcx, [rbp + 0xe40]
call fcn.140021ce0
mov dword [rbp - 0x78], 0x200
mov byte [rbp + 0xe40], 0
xor dil, dil
mov qword [rbp - 0x70], rbx
mov dword [rbp - 0x80], ebx
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
lea rdx, str.HARDWAREDESCRIPTIONSystemBIOS
mov rcx, 0xffffffff80000002
call qword [0x1400760a8]
test eax, eax
jne 0x14000b295
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xe40]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x80]
xor r8d, r8d
lea rdx, str.SystemProductName
mov rcx, qword [rbp - 0x70]
call qword [0x1400760b0]
movzx edi, dil
test eax, eax
cmove edi, esi
mov rcx, qword [rbp - 0x70]
call qword [0x1400760b8]
test dil, dil
je 0x14000b295
lea rdx, [0x14008ab04]
lea rcx, [rbp + 0xe40]
call fcn.140020980
test rax, rax
je 0x14000b24f
mov word [rax], bx
cmp word [rbp + 0xe40], 0
je 0x14000b29c
cmp word [rbp + 0xc40], 0
je 0x14000b27b
lea r8, [0x14008ab08]
mov edx, 0x100
lea rcx, [rbp + 0xc40]
call fcn.140026fa4
lea r8, [rbp + 0xe40]
mov edx, 0x100
lea rcx, [rbp + 0xc40]
call fcn.140026fa4
jmp 0x14000b29c
mov word [rbp + 0xe40], bx
lea r13, str.write
lea r15, str.read
mov r8d, dword [0x1400cd860]
cmp r8d, 0xc0000005
jne 0x14000b2cb
mov rax, r15
cmp qword [0x1400cd880], 0
cmovne rax, r13
jmp 0x14000b2d2
lea rax, [0x14008ab54]
movzx r9d, word [0x1400cd870]
mov qword [rsp + 0x20], rax
lea rdx, [0x14008ab10]
lea rcx, [rbp + 0x300]
call fcn.140005320
mov r8d, dword [0x1400c3c10]
add r8d, r8d
mov rdx, qword [0x1400c3c08]
lea rcx, [rbp + 0x70]
call fcn.14003f540
mov r8d, 4
lea rdx, [0x1400c44d4]
lea rcx, [rbp + 0x70]
call fcn.14003f540
mov r8d, dword [rbp + 0x750]
add r8d, r8d
mov rdx, qword [rbp + 0x748]
lea rcx, [rbp + 0x70]
call fcn.14003f540
mov r8d, dword [rbp + 0x310]
add r8d, r8d
mov rdx, qword [rbp + 0x308]
lea rcx, [rbp + 0x70]
call fcn.14003f540
lea rcx, [rbp + 0x70]
call fcn.14003f490
lea rax, [0x1400c4480]
cmp byte [rbp + 0xd8], 0
je 0x14000b40a
mov edi, ebx
lea rsi, [rbp + 0xc8]
mov r14, rax
nop
movzx ecx, byte [rsi]
mov edx, 0x27
sub edx, edi
mov dword [rsp + 0x20], ecx
lea r9, str._02X
or r8, 0xffffffffffffffff
mov rcx, r14
call fcn.140001460
add edi, 2
add r14, 4
lea rsi, [rsi + 1]
cmp edi, 0x20
jb 0x14000b380
mov word [0x1400c44c0], bx
mov edi, ebx
lea rsi, [rbp + 0xc8]
lea r14, [rbp + 0xb90]
nop dword [rax + rax]
movzx ecx, byte [rsi]
mov edx, 0x28
sub edx, edi
mov dword [rsp + 0x20], ecx
lea r9, [0x140082eb8]
or r8, 0xffffffffffffffff
mov rcx, r14
call fcn.1400014c0
add edi, 2
add r14, 2
lea rsi, [rsi + 1]
cmp edi, 0x20
jb 0x14000b3d0
mov byte [rbp + 0xbb0], 0
jmp 0x14000b418
mov word [0x1400c4480], bx
mov byte [rbp + 0xb90], 0
mov r10d, ebx
mov r8d, ebx
lea r9, [rbp + 0xb80]
nop word [rax + rax]
mov eax, 0xcccccccd
mul r8d
shr edx, 5
lea ecx, [rdx + rdx*4]
shl ecx, 3
mov eax, r8d
sub eax, ecx
movzx ecx, byte [rbp + rax + 0xb90]
add cl, r10b
xor byte [r9], cl
movsx r10d, byte [r9]
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jb 0x14000b430
lea rdi, [rbp + 0xb80]
mov esi, 0x10
movzx r8d, byte [rdi]
lea rdx, str._02X
lea rcx, [rbp + 0x520]
call fcn.140005320
mov r9, qword [rbp + 0xe8]
test r9, r9
je 0x14000b4e4
mov ecx, dword [rbp + 0x530]
test ecx, ecx
je 0x14000b4e4
mov edx, dword [rbp + 0xf0]
lea eax, [rcx + rdx]
cmp eax, dword [rbp + 0xf4]
jae 0x14000b4e4
mov r8d, ecx
add r8, r8
lea rcx, [r9 + rdx*2]
mov rdx, qword [rbp + 0x528]
call fcn.140020c40
mov eax, dword [rbp + 0xf0]
add eax, dword [rbp + 0x530]
mov dword [rbp + 0xf0], eax
mov ecx, eax
mov rax, qword [rbp + 0xe8]
mov word [rax + rcx*2], bx
inc rdi
sub rsi, 1
jne 0x14000b471
mov r8d, dword [0x1400cd860]
cmp r8d, 0xc0000005
jne 0x14000b511
mov rbx, qword [0x1400cd888]
cmp qword [0x1400cd880], rsi
cmovne r15, r13
jmp 0x14000b518
lea r15, [0x14008ab54]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r15
mov r9, qword [0x1400cd870]
lea rdx, str._.8X_at__p__s_to__p
lea rcx, [rbp + 0x300]
call fcn.140005320
mov rax, qword [rbp + 0x308]
mov qword [rbp - 0x70], rax
mov rax, qword [0x1400c4268]
mov qword [rbp - 0x58], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp - 0x50], rax
mov rax, qword [0x1400c4048]
mov qword [rbp - 0x48], rax
mov rax, qword [rbp + 0x968]
mov qword [rbp - 0x40], rax
xor ecx, ecx
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rcx
mov qword [rbp], rcx
mov qword [rbp + 8], rcx
lea rcx, [rbp - 0x20]
call qword [0x1400761e8]
mov eax, dword [rbp]
mov dword [rbp - 0x78], eax
mov rax, qword [rbp + 0x748]
mov qword [rbp - 0x38], rax
mov rax, qword [0x1400c44e8]
mov qword [rbp - 0x30], rax
mov rax, qword [0x1400c3c08]
mov qword [rbp - 0x28], rax
mov rax, qword [0x1400c39e8]
mov qword [rbp + 0xb80], rax
mov eax, 0x88888889
mul r12d
mov ebx, edx
shr ebx, 5
mov r12, qword [rbp + 0x58]
shr r12, 0x14
mov r15, qword [rbp + 0x60]
shr r15, 0x14
mov r14, qword [rbp + 0x38]
shr r14, 0x14
mov rsi, qword [rbp + 0x40]
shr rsi, 0x14
call fcn.14000a860
mov r13d, eax
mov eax, 0x51eb851f
imul r13d
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x64
sub r13d, ecx
call fcn.14000a860
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
mov r8d, edx
sar r8d, 5
mov ecx, r8d
shr ecx, 0x1f
add r8d, ecx
imul ecx, ebx, 0x3c
mov r9, qword [rbp - 0x60]
mov edi, r9d
sub edi, ecx
mov eax, 0x88888889
mul ebx
shr edx, 5
imul eax, edx, 0x3c
sub ebx, eax
mov dword [rbp - 0x80], ebx
mov eax, 0x91a2b3c5
mul r9d
shr edx, 0xb
movzx ecx, word [rbp + 0x22]
movzx r9d, word [rbp + 0x20]
movzx r10d, word [rbp + 0x1e]
movzx r11d, word [rbp + 0x1a]
movzx ebx, word [rbp + 0x18]
mov rax, qword [rbp - 0x70]
mov qword [rsp + 0x110], rax
mov rax, qword [rbp - 0x58]
mov qword [rsp + 0x108], rax
mov rax, qword [rbp - 0x50]
mov qword [rsp + 0x100], rax
mov eax, dword [rbp - 0x68]
mov dword [rsp + 0xf8], eax
mov qword [rsp + 0xf0], r12
mov qword [rsp + 0xe8], r15
mov qword [rsp + 0xe0], r14
mov qword [rsp + 0xd8], rsi
mov rax, qword [rbp - 0x48]
mov qword [rsp + 0xd0], rax
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0xc8], rax
mov eax, dword [rbp - 0x78]
mov dword [rsp + 0xc0], eax
lea rax, [rbp + 0xbc0]
mov qword [rsp + 0xb8], rax
mov dword [rsp + 0xb0], r13d
mov dword [rsp + 0xa8], r8d
lea rax, [rbp + 0xc40]
mov qword [rsp + 0xa0], rax
mov rax, qword [rbp - 0x38]
mov qword [rsp + 0x98], rax
mov eax, dword [0x1400c44d8]
mov dword [rsp + 0x90], eax
mov rax, qword [rbp - 0x30]
mov qword [rsp + 0x88], rax
mov eax, dword [0x1400c44d4]
mov dword [rsp + 0x80], eax
mov eax, dword [0x1400c44d0]
mov dword [rsp + 0x78], eax
mov rax, qword [rbp - 0x28]
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x68], edi
mov eax, dword [rbp - 0x80]
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x48], r9d
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x38], r11d
mov dword [rsp + 0x30], ebx
lea rax, [0x1400c4480]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0xb80]
mov qword [rsp + 0x20], rax
lea r9, str.Filename____:__s._s_r_nTime________:__04d._02d._02d__02d:_02d___u:_02u:_02u__r_nProgram_____:__s_r_nVersion_____:__d._d___s__r_nRevision____:__d_r_nOS__________:__s_r_nBIOS________:__s_r_nExplorer____:__d._d_r_nID__________:__s_r_nProcessors__:__u_x__s__x64_r_nComputer____:__s_r_nMemory______:__I64u_free_of__I64u_Mb_r_nVirtual_____:__I64u_free_of__I64u_Mb_r_nHandlers____:__lu_r_nCrashMD5____:__s_r_nCustomInfo__:__s_r_nException___:__s_r_n_r_n
or r8, 0xffffffffffffffff
mov edx, 0x3fffe
mov rcx, qword [0x1400c4540]
call fcn.140001460
nop
lea rcx, [rbp + 0x70]
call fcn.14003f670
nop
mov rcx, qword [rbp + 0x1040]
xor rcx, rsp
call fcn.14001e6d0
lea r11, [rsp + 0x11f0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret