Function at 0x409440
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x60], xmm7
movaps xmmword [rsp + 0x70], xmm8
movaps xmmword [rsp + 0x80], xmm9
movaps xmmword [rsp + 0x90], xmm10
mov rax, qword [0x00826910]
mov eax, dword [rax + 0x2010]
mov rsi, rcx
mov edx, eax
and edx, 0x802
cmp edx, 0x802
je 0x4095b0
test al, 2
jne 0x409711
test al, 4
je 0x409533
mov rbx, qword [rsi + 0x7f8]
mov rbp, qword [rsi + 0x800]
cmp rbp, rbx
je 0x409533
mov rdi, qword [0x00826910]
mov r13, rdi
mov r12, rdi
nop dword [rax]
mov rdx, rsi
mov rcx, rbx
call fcn.00408350
lea rdx, [0x007f726c]
mov rcx, rdi
call fcn.0041da10
movsxd rax, dword [rbx]
test eax, eax
js 0x409570
lea rdx, [rax + rax*8]
lea rdx, [rax + rdx*2]
mov rax, qword [rsi + 0x810]
lea rcx, [rax + rdx*4]
mov rdx, rsi
call fcn.00408e60
mov rcx, rbx
mov rdx, rsi
add rbx, 0x50
call fcn.004084d0
mov rcx, qword [0x00826910]
lea rdx, [0x007f7278]
call fcn.0041da10
cmp rbp, rbx
jne 0x4094d0
movaps xmm6, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm8, xmmword [rsp + 0x70]
movaps xmm9, xmmword [rsp + 0x80]
movaps xmm10, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, [0x007f727b]
mov rcx, r13
call fcn.0041da10
mov rcx, rbx
mov rdx, rsi
add rbx, 0x50
call fcn.004084d0
lea rdx, [0x007f7278]
mov rcx, r12
call fcn.0041da10
cmp rbp, rbx
jne 0x4094d0
jmp 0x409533
mov r9d, dword [rsi + 4]
mov r10d, dword [rcx + 0xc]
mov ecx, dword [rcx + 8]
movzx edi, byte [rsi + 0x11a]
lea eax, [r9 + r9*4]
lea eax, [rcx + rax*2]
lea edx, [rdi - 2]
cmp eax, 0x32
je 0x409c10
cmp eax, 0x33
je 0x409bf0
cmp eax, 0x34
je 0x409c20
cmp eax, 0x3c
je 0x409c50
cmp eax, 0x3d
je 0x409c60
cmp eax, 0x3e
je 0x409c70
cmp eax, 0x3f
je 0x409cc0
cmp eax, 0x40
je 0x409cd0
cmp eax, 0x64
je 0x409ce3
mov r8, qword [rsi + 0x8b8]
mov dword [rsp + 0x20], ecx
mov rcx, qword [0x00826910]
lea rdx, str._S___d._d._d__
mov dword [rsp + 0x28], r10d
call fcn.0041da10
mov ecx, dword [rsi + 0x120]
lea rax, str.64_bit
lea r8, str.32_bit
lea rdx, [0x007f6fcd]
test ecx, ecx
mov rcx, qword [0x00826910]
cmovne r8, rax
call fcn.0041da10
mov r8d, dword [rsi + 0x8b0]
lea rax, str.Laptop
mov rcx, qword [0x00826910]
lea rdx, str._s_
test r8d, r8d
lea r8, str.Desktop
cmovne r8, rax
call fcn.0041da10
mov r8d, dword [rsi + 0x12c]
lea rdx, str.Product_S_
add r8, qword [rsi + 0x860]
mov rcx, qword [0x00826910]
call fcn.0041da10
mov r8d, dword [rsi + 0x128]
lea rdx, str.Model_S_
add r8, qword [rsi + 0x860]
mov rcx, qword [0x00826910]
call fcn.0041da10
mov r8d, dword [rsi + 0x124]
lea rdx, str.Manuf_S_n
add r8, qword [rsi + 0x860]
mov rcx, qword [0x00826910]
call fcn.0041da10
mov rax, qword [0x00826910]
mov eax, dword [rax + 0x2010]
jmp 0x4094a1
mov rcx, qword [0x00826910]
lea rdx, str.Windows_n
call fcn.0041da10
mov r9d, dword [rsi + 4]
mov ecx, dword [rsi + 8]
movzx edi, byte [rsi + 0x11a]
mov r10d, dword [rsi + 0xc]
lea eax, [r9 + r9*4]
lea eax, [rcx + rax*2]
lea edx, [rdi - 2]
cmp eax, 0x32
je 0x409c00
cmp eax, 0x33
je 0x409d53
cmp eax, 0x34
je 0x409d63
cmp eax, 0x3c
je 0x409d87
cmp eax, 0x3d
je 0x409d94
cmp eax, 0x3e
je 0x409da1
cmp eax, 0x3f
je 0x409dae
cmp eax, 0x40
je 0x409dbb
cmp eax, 0x64
je 0x409dd0
mov r8, qword [rsi + 0x8b8]
mov dword [rsp + 0x20], ecx
mov rcx, qword [0x00826910]
lea rdx, str.__Version:______S___d._d._d__n
mov dword [rsp + 0x28], r10d
call fcn.0041da10
mov r8d, dword [rsi + 0x10]
lea rdx, str.__PlatformId:___d_n
mov rcx, qword [0x00826910]
call fcn.0041da10
mov rcx, qword [0x00826910]
lea r8, [rsi + 0x14]
lea rdx, str.__Update:_______S_n
call fcn.0041da10
cmp dword [rsi], 0x11c
je 0x409df5
mov rcx, qword [0x00826910]
lea rdx, str._nEnvironment_n
call fcn.0041da10
mov r8d, dword [rsi + 0x138]
lea rdx, str.__windir:_______S_n
add r8, qword [rsi + 0x860]
mov rcx, qword [0x00826910]
call fcn.0041da10
mov r8d, dword [rsi + 0x13c]
lea rdx, str.__temp:_________S_n
add r8, qword [rsi + 0x860]
mov rcx, qword [0x00826910]
call fcn.0041da10
mov rcx, qword [0x00826910]
lea rdx, str._nMotherboard_n
call fcn.0041da10
mov r8d, dword [rsi + 0x12c]
lea rdx, str.__Product:______S_n
add r8, qword [rsi + 0x860]
mov rcx, qword [0x00826910]
call fcn.0041da10
mov r8d, dword [rsi + 0x128]
lea rdx, str.__Model:________S_n
add r8, qword [rsi + 0x860]
mov rcx, qword [0x00826910]
call fcn.0041da10
mov r8d, dword [rsi + 0x124]
lea rdx, str.__Manuf:________S_n
add r8, qword [rsi + 0x860]
mov rcx, qword [0x00826910]
call fcn.0041da10
mov r8d, dword [rsi + 0x144]
lea rdx, str.__cs_Model:_____S_n
add r8, qword [rsi + 0x860]
mov rcx, qword [0x00826910]
call fcn.0041da10
mov r8d, dword [rsi + 0x140]
lea rdx, str.__cs_Manuf:_____S_n
add r8, qword [rsi + 0x860]
mov rcx, qword [0x00826910]
call fcn.0041da10
mov r8d, dword [rsi + 0x148]
lea rdx, str.__Chassis:______d_n
mov rcx, qword [0x00826910]
call fcn.0041da10
mov rcx, qword [0x00826910]
lea rdx, str._nBattery_n
call fcn.0041da10
mov ebx, dword [rsi + 0x134]
lea rdx, str.__AC_Status:
add rbx, qword [rsi + 0x860]
mov rcx, qword [0x00826910]
call fcn.0041da10
movzx eax, byte [rbx]
test al, al
je 0x409ca0
cmp al, 1
jne 0x409c80
mov rcx, qword [0x00826910]
lea rdx, str.Online_n
call fcn.0041da10
movzx ebp, byte [rbx + 1]
lea rdx, str.__Flags:________d
mov rcx, qword [0x00826910]
mov r8d, ebp
mov edi, ebp
call fcn.0041da10
test bpl, 1
jne 0x409d0b
test dil, 2
jne 0x409cf3
test dil, 4
jne 0x409d3b
test dil, 8
jne 0x409d23
test dil, dil
js 0x409e53
cmp ebp, 0xff
je 0x409ddd
mov rcx, qword [0x00826910]
lea rdx, [0x007f71bb]
call fcn.0041da10
movzx r8d, byte [rbx + 2]
cmp r8b, 0xff
je 0x4099f8
mov rcx, qword [0x00826910]
lea rdx, str.__Charged:_______d_n
call fcn.0041da10
mov eax, dword [rbx + 4]
cmp eax, 0xffffffff
je 0x409a20
mov edx, 0x88888889
mov rcx, qword [0x00826910]
mul edx
shr edx, 5
mov r8d, edx
lea rdx, str.__LifeTime:______d_mins_n
call fcn.0041da10
mov eax, dword [rbx + 8]
cmp eax, 0xffffffff
je 0x409a48
mov edx, 0x88888889
mov rcx, qword [0x00826910]
mul edx
shr edx, 5
mov r8d, edx
lea rdx, str.__FullLifeTime:__d_mins_n
call fcn.0041da10
mov edi, dword [rsi + 0x130]
lea rdx, str._nMonitors_n
add rdi, qword [rsi + 0x860]
mov rcx, qword [0x00826910]
call fcn.0041da10
cmp word [rdi], 0
je 0x409b3e
mov rax, qword [0x00826910]
mov ebp, 1
xor ebx, ebx
pxor xmm9, xmm9
movsd xmm10, qword [0x007f8140]
lea r15, str.wide
movsd xmm8, qword [0x007f8148]
mov qword [rsp + 0x48], rax
mov eax, ebp
add ebx, 1
pxor xmm6, xmm6
pxor xmm0, xmm0
movzx r12d, word [rdi + rax*2]
lea eax, [rbx + rbx]
movzx r13d, word [rdi + rax*2]
lea r14, [0x007f6fbc]
cvtsi2sd xmm0, r12d
mov eax, r12d
cvtsi2sd xmm6, r13d
mov ecx, r13d
divsd xmm6, xmm0
pxor xmm0, xmm0
ucomisd xmm6, xmm10
cmova r14, r15
imul eax, r12d
imul ecx, r13d
add eax, ecx
cvtsi2sd xmm0, eax
ucomisd xmm9, xmm0
sqrtsd xmm7, xmm0
jbe 0x409b03
call fcn.0067dc40
divsd xmm7, xmm8
mov rcx, qword [rsp + 0x48]
mov r9d, r13d
mov r8d, r12d
mov qword [rsp + 0x30], r14
lea rdx, str.___dcmx_dcm___.1fin__t_.3f__s_n
add ebp, 2
movsd qword [rsp + 0x28], xmm6
movsd qword [rsp + 0x20], xmm7
call fcn.0041da10
movzx eax, word [rdi]
cmp eax, ebx
ja 0x409aa3
mov rcx, qword [0x00826910]
lea rdx, str._nMisc_n
call fcn.0041da10
mov eax, dword [rsi + 0x8b0]
lea r8, str.Laptop
mov rcx, qword [0x00826910]
lea rdx, str.__Type:_________s_n
test eax, eax
lea rax, str.Desktop
cmove r8, rax
call fcn.0041da10
mov r8d, dword [rsi + 0x11c]
lea rdx, str.__Locale:_______X_n
mov rcx, qword [0x00826910]
call fcn.0041da10
mov edx, dword [rsi + 0x120]
lea rax, str.64_bit
mov rcx, qword [0x00826910]
lea r8, str.32_bit
test edx, edx
cmovne r8, rax
lea rdx, str.__CPU_Arch:_____s_n
call fcn.0041da10
mov rcx, qword [0x00826910]
lea rdx, [0x007f71bb]
call fcn.0041da10
mov rax, qword [0x00826910]
mov eax, dword [rax + 0x2010]
jmp 0x4094a1
cmp dl, 1
jbe 0x40961d
mov eax, 1
jmp 0x409c30
cmp dl, 1
jbe 0x409791
xor eax, eax
jmp 0x409d70
cmp dl, 1
jbe 0x40961d
xor eax, eax
jmp 0x409c30
xor eax, eax
cmp dl, 2
setb al
add eax, 2
nop dword [rax + rax]
lea rdx, [0x007f8040]
cdqe
shl rax, 4
mov r8, qword [rdx + rax + 8]
jmp 0x409624
xor eax, eax
cmp dl, 2
setb al
add eax, 5
jmp 0x409c30
xor eax, eax
cmp dl, 1
seta al
add eax, 7
jmp 0x409c30
xor eax, eax
cmp dl, 1
seta al
add eax, 9
jmp 0x409c30
mov rcx, qword [0x00826910]
lea rdx, str.Unknown_n
call fcn.0041da10
jmp 0x40996e
mov rcx, qword [0x00826910]
lea rdx, str.Offline_n
call fcn.0041da10
jmp 0x40996e
xor eax, eax
cmp dl, 1
seta al
add eax, 0xb
jmp 0x409c30
cmp dl, 1
jbe 0x40961d
mov eax, 0xd
jmp 0x409c30
xor eax, eax
cmp dl, 1
seta al
add eax, 0xe
jmp 0x409c30
mov rcx, qword [0x00826910]
lea rdx, str._low_
call fcn.0041da10
jmp 0x40999e
mov rcx, qword [0x00826910]
lea rdx, str._high_
call fcn.0041da10
jmp 0x409994
mov rcx, qword [0x00826910]
lea rdx, str._charging_
call fcn.0041da10
jmp 0x4099b2
mov rcx, qword [0x00826910]
lea rdx, str._critical_
call fcn.0041da10
jmp 0x4099a8
cmp dl, 1
jbe 0x409791
mov eax, 1
jmp 0x409d70
xor eax, eax
cmp dl, 2
setb al
add eax, 2
nop
lea rdx, [0x007f8040]
cdqe
shl rax, 4
mov r8, qword [rdx + rax + 8]
jmp 0x409798
xor eax, eax
cmp dl, 2
setb al
add eax, 5
jmp 0x409d70
xor eax, eax
cmp dl, 1
seta al
add eax, 7
jmp 0x409d70
xor eax, eax
cmp dl, 1
seta al
add eax, 9
jmp 0x409d70
xor eax, eax
cmp dl, 1
seta al
add eax, 0xb
jmp 0x409d70
cmp dl, 1
jbe 0x409791
mov eax, 0xd
jmp 0x409d70
xor eax, eax
cmp dl, 1
seta al
add eax, 0xe
jmp 0x409d70
mov rcx, qword [0x00826910]
lea rdx, str._unknown_
call fcn.0041da10
jmp 0x4099c7
movzx r9d, word [rsi + 0x116]
lea rdx, str.__ServicePack:__d._d_n
movzx r8d, word [rsi + 0x114]
mov rcx, qword [0x00826910]
call fcn.0041da10
movzx r8d, word [rsi + 0x118]
lea rdx, str.__SuiteMask:____d_n
mov rcx, qword [0x00826910]
call fcn.0041da10
movzx r8d, byte [rsi + 0x11a]
lea rdx, str.__ProductType:__d_n
mov rcx, qword [0x00826910]
call fcn.0041da10
jmp 0x4097ee
mov rcx, qword [0x00826910]
lea rdx, str._no_battery_
call fcn.0041da10
jmp 0x4099bb