Function at 0x4544cc
Capabilities:
Encode data using xor

Disassembly:
test rdx, rdx
je 0x454803
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x278]
sub rsp, 0x350
xor ebx, ebx
mov rdi, rdx
cmp word [rdx], bx
je 0x4547e3
lea rcx, [rbp + 0x50]
call fcn.004541a0
mov qword [rsp + 0x38], rbx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rbx
lea r8, [rbp + 0x50]
mov r13d, 0xff
mov r14d, 0xfde9
mov dword [rsp + 0x28], r13d
mov ecx, r14d
or r9d, 0xffffffff
mov qword [rsp + 0x20], rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
je 0x454567
lea r9, [rsp + 0x50]
mov qword [rsp + 0x20], rbx
lea r8, str._fz_uniq
mov rdx, rdi
call fcn.00457d70
mov r15d, 0x100
lea r9, [rbp + 0x50]
mov rsi, 0xffffffff80000001
mov dword [rsp + 0x28], r15d
mov r12d, 0x1fe
lea r8, str.MQL5.Login
mov rcx, rsi
mov dword [rsp + 0x20], r12d
lea rdx, str.SOFTWAREMetaQuotes_SoftwareSettings
call fcn.00404704
test al, al
je 0x4545f1
cmp word [rbp + 0x50], bx
je 0x4545f1
mov qword [rsp + 0x38], rbx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rbx
lea r8, [rbp + 0x50]
mov dword [rsp + 0x28], r13d
or r9d, 0xffffffff
xor edx, edx
mov qword [rsp + 0x20], rax
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
je 0x4545f1
lea r9, [rsp + 0x50]
mov qword [rsp + 0x20], rbx
lea r8, str.mqlogin
mov rdx, rdi
call fcn.00457d70
mov dword [rsp + 0x28], r15d
lea r9, [rbp + 0x50]
lea r8, str.Install.Time
mov dword [rsp + 0x20], r12d
lea rdx, str.SOFTWAREMetaQuotes_Software
mov rcx, rsi
call fcn.00404704
test al, al
je 0x454673
cmp word [rbp + 0x50], bx
je 0x454673
lea rcx, [rbp + 0x50]
call fcn.00436f70
xor ecx, ecx
mov rsi, rax
call fcn.004370d4
cmp rsi, rax
jge 0x4546b5
xor ecx, ecx
call fcn.004370d4
sub rax, rsi
lea r8, [0x00490328]
mov r9, rax
lea rcx, [rsp + 0x50]
mov rdx, r13
call fcn.0040911c
lea r9, [rsp + 0x50]
mov qword [rsp + 0x20], rbx
lea r8, [0x00490330]
mov rdx, rdi
call fcn.00457d70
jmp 0x4546b5
xor ecx, ecx
call fcn.004370d4
lea r9, str._I64d
mov qword [rsp + 0x20], rax
or r8, 0xffffffffffffffff
lea rcx, [rbp + 0x50]
mov rdx, r13
call fcn.004020a8
lea rax, [rbp + 0x50]
mov rcx, rsi
lea r8, str.Install.Time
mov qword [rsp + 0x20], rax
lea rdx, str.SOFTWAREMetaQuotes_Software
call fcn.004045c0
mov rcx, qword [0x004bb190]
xorps xmm0, xmm0
movq rax, xmm0
movups xmmword [rsp + 0x40], xmm0
sub rcx, rax
jne 0x4546da
mov rcx, qword [0x004bb198]
sub rcx, qword [rsp + 0x48]
test rcx, rcx
sete al
test al, al
je 0x4546e9
call fcn.0040b82c
movups xmm0, xmmword [0x004bb190]
mov r8d, dword [0x004bb5a0]
lea rax, [0x004bb1a0]
mov r14d, select
lea rcx, [rsp + 0x40]
add r8, rax
mov edx, r14d
movdqu xmmword [rsp + 0x40], xmm0
call fcn.00460c54
lea r15, [rsp + 0x40]
mov rsi, rbx
mov r12d, r14d
movzx eax, byte [r15]
lea rcx, [rsp + 0x50]
mov rdx, r13
mov dword [rsp + 0x20], eax
sub rdx, rsi
lea r9, str._02X
add rcx, rsi
or r8, 0xffffffffffffffff
call fcn.00405070
add rsi, 2
inc r15
sub r12, 1
jne 0x454725
lea r9, [rsp + 0x50]
mov qword [rsp + 0x20], rbx
lea r8, [0x0049033c]
mov rdx, rdi
call fcn.00457d70
mov dl, bl
lea rcx, [rsp + 0x40]
mov r8, rbx
lea rsi, [0x00400000]
mov r9, r14
mov rax, r8
inc r8
and eax, 0xf
add dl, byte [rsi + rax*4 + 0x89ec0]
xor byte [rcx], dl
mov dl, byte [rcx]
inc rcx
sub r9, 1
jne 0x454785
mov byte [0x004e1954], bl
lea rdi, [rsp + 0x40]
movzx eax, byte [rdi]
lea rcx, [rsi + 0xe1954]
mov edx, 0x7f
mov dword [rsp + 0x20], eax
sub rdx, rbx
lea r9, str._02X
add rcx, rbx
or r8, 0xffffffffffffffff
call fcn.00405070
add rbx, 2
inc rdi
sub r14, 1
jne 0x4547ad
lea r11, [rsp + 0x350]
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