Function at 0x40714f
Capabilities:
Check for time delay via gettickcount
Encode data using base64
Get memory capacity
Set uefi variable

Disassembly:
push 0xfc
mov eax, 0x43da70
call fcn.0042b376
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x50], eax
xor ebx, ebx
mov dword [ebp - 4], ebx
mov eax, dword [ebp + 0x1c]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x4c], ebx
call esi
push 2
pop edi
sub eax, edi
je 0x40718a
sub eax, edi
je 0x40718a
sub eax, 4
jne 0x407195
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call fcn.00404ca5
call esi
sub eax, edi
je 0x4071a4
sub eax, edi
je 0x4071a4
sub eax, 4
jne 0x4071ba
xor eax, eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
call fcn.00404d9d
call fcn.00404e0e
lea eax, [ebp - 0x80]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x3c], esp
push 0x40
push 0x445888
call fcn.0040801d
lea edi, [ebp - 0x108]
call fcn.00426ea5
mov byte [ebp - 4], 1
call fcn.00426f18
mov byte [ebp - 4], 2
cmp dword [eax + 0x18], 0x10
jb 0x4071f5
mov eax, dword [eax + 4]
jmp 0x4071f8
add eax, 4
push eax
lea ecx, [ebp - 0x30]
call fcn.00402e72
push 0
push 1
lea ecx, [ebp - 0x80]
call fcn.0040329c
lea esi, [ebp - 0x108]
mov byte [ebp - 4], 5
call fcn.00417161
cmp dword [ebp - 0x44], 0
je 0x407525
mov edi, dword [ebp - 0x4c]
dec dword [ebp - 0x44]
inc dword [ebp - 0x4c]
lea eax, [ebp + 8]
call fcn.00408121
mov al, byte [eax]
mov byte [ebp + ebx - 0x34], al
inc ebx
mov dword [ebp - 0x40], ebx
cmp ebx, 3
jne 0x40740c
mov al, byte [ebp - 0x34]
shr al, 2
mov byte [ebp - 0x38], al
call dword [sym.imp.KERNEL32.dll_GetTickCount]
dec eax
dec eax
je 0x40726a
dec eax
dec eax
je 0x40726a
sub eax, 4
je 0x40726a
xor eax, eax
jmp 0x40727a
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
xor eax, eax
inc eax
dec eax
jne 0x407287
call fcn.00404ea2
call fcn.00404f13
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
xor esi, esi
push esi
shr edi, 0x18
call fcn.0042a13f
imul eax, eax, 0x63
pop ecx
cmp edi, eax
jbe 0x4072ae
push esi
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
call fcn.00404f98
mov al, byte [ebp - 0x34]
mov cl, byte [ebp - 0x33]
and al, 3
shl al, 4
shr cl, 4
add al, cl
mov cl, byte [ebp - 0x32]
mov byte [ebp - 0x37], al
mov al, byte [ebp - 0x33]
and al, 0xf
shl al, 2
shr cl, 6
add al, cl
mov byte [ebp - 0x36], al
mov al, byte [ebp - 0x32]
and al, 0x3f
mov byte [ebp - 0x35], al
movzx edi, byte [ebp + esi - 0x38]
lea eax, [ebp - 0x30]
call fcn.00408121
mov al, byte [eax]
mov edi, dword [ebp - 0x50]
mov byte [ebp - 0x48], al
push dword [ebp - 0x48]
xor ebx, ebx
inc ebx
call fcn.0040842d
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
dec eax
dec eax
je 0x407311
dec eax
dec eax
je 0x407311
sub eax, 4
jne 0x40736c
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegNotifyChangeKeyValue]
call edi
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea eax, [ebp - 0x90]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
call fcn.00428e21
call fcn.00428e21
call fcn.00428e21
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.USER32.dll_GetCaretPos]
lea eax, [ebp - 0xb0]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
call fcn.0040502c
inc esi
cmp esi, 4
jl 0x4072dc
and dword [ebp - 0x40], 0
call fcn.00428e21
cdq
push 0xa
pop ecx
idiv ecx
mov esi, edx
call fcn.00428e21
cdq
push 0xa
pop ecx
idiv ecx
cmp esi, edx
setl al
test al, al
je 0x4073b1
movzx eax, al
mov dword [ebp - 0x3c], eax
fild dword [ebp - 0x3c]
call fcn.00439020
fstp dword [ebp - 0x3c]
fld dword [ebp - 0x3c]
jmp 0x4073be
fldz
call fcn.00438ef0
fstp dword [ebp - 0x3c]
fld dword [ebp - 0x3c]
call fcn.00439110
test eax, eax
je 0x407409
push 3
pop eax
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00427b8b
pop ecx
mov ebx, eax
push 0xa
pop eax
mov edi, ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor edi, edi
push dword [ebx + edi*4]
push edi
push str.bb9dd455219def5d
call fcn.00428dd6
add esp, 0xc
inc edi
cmp edi, 3
jl 0x4073eb
push ebx
call fcn.00428e04
pop ecx
mov ebx, dword [ebp - 0x40]
cmp dword [ebp - 0x44], 0
jne 0x407226
test ebx, ebx
je 0x407525
cmp ebx, 3
jge 0x407438
push 3
pop ecx
sub ecx, ebx
push ecx
lea eax, [ebp + ebx - 0x34]
push 0
push eax
call fcn.00431170
add esp, 0xc
mov al, byte [ebp - 0x34]
mov bl, byte [ebp - 0x33]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov cl, al
shr cl, 2
mov byte [ebp - 0x38], cl
and al, 3
mov cl, bl
shl al, 4
shr cl, 4
add al, cl
mov byte [ebp - 0x37], al
call edi
push 2
pop esi
sub eax, esi
je 0x40746d
sub eax, esi
je 0x40746d
sub eax, 4
jne 0x407483
xor eax, eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetFirmwareEnvironmentVariableA]
call fcn.004050cc
call fcn.004017c3
mov al, byte [ebp - 0x32]
and bl, 0xf
shr al, 6
shl bl, 2
add bl, al
mov byte [ebp - 0x36], bl
call fcn.00428e21
call fcn.00428e21
mov dword [ebp - 4], 5
call edi
sub eax, esi
je 0x4074b4
sub eax, esi
je 0x4074b4
sub eax, 4
jne 0x4074c8
xor esi, esi
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
call fcn.00409b8b
jmp 0x4074ca
xor esi, esi
mov al, byte [ebp - 0x32]
and al, 0x3f
mov byte [ebp - 0x35], al
mov eax, dword [ebp - 0x40]
inc eax
cmp eax, esi
mov dword [ebp - 0x48], eax
jle 0x40750a
movzx edi, byte [ebp + esi - 0x38]
lea eax, [ebp - 0x30]
call fcn.00408121
mov al, byte [eax]
mov edi, dword [ebp - 0x50]
mov byte [ebp - 0x3c], al
push dword [ebp - 0x3c]
xor ebx, ebx
inc ebx
call fcn.0040842d
inc esi
cmp esi, dword [ebp - 0x48]
mov dword [ebp - 4], 5
jl 0x4074dd
push 3
pop esi
cmp dword [ebp - 0x40], esi
jge 0x407525
sub esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x50]
xor ebx, ebx
push 0x3d
inc ebx
call fcn.0040842d
dec esi
jne 0x407515
push 0
push 1
lea ecx, [ebp - 0x30]
call fcn.0040329c
push 0
push 1
lea ecx, [ebp + 8]
call fcn.0040329c
xor eax, eax
call fcn.0042b3f9
ret 0x20