Function at 0x40e439
Capabilities:
Check for time delay via gettickcount
Delete file
Set uefi variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x4542b0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
lea eax, [esi + 0x180]
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x398], ebx
mov dword [esi + 0x17c], ebx
call fcn.00402ec4
lea eax, [esi + 0x19c]
call fcn.00402ec4
lea eax, [esi + 0x1b8]
call fcn.00402ec4
lea eax, [esi + 0x1d8]
mov dword [esi + 0x1d4], ebx
mov dword [esi + 0x1f4], ebx
call fcn.00402ec4
lea eax, [esi + 0x1f8]
call fcn.00402ec4
lea eax, [esi + 0x214]
call fcn.0040831c
call fcn.00428e21
cdq
push 0xa
pop ecx
idiv ecx
mov edi, edx
call fcn.00428e21
cdq
push 0xa
pop ecx
idiv ecx
cmp edi, edx
setl al
cmp al, bl
je 0x40e4e4
movzx eax, al
mov dword [ebp - 8], eax
fild dword [ebp - 8]
call fcn.00439020
fstp dword [ebp - 8]
fld dword [ebp - 8]
jmp 0x40e4f1
fldz
call fcn.00438ef0
fstp dword [ebp - 8]
fld dword [ebp - 8]
call fcn.00439110
cmp eax, ebx
je 0x40e504
call fcn.00409d70
call fcn.00409db7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
push ebx
shr edi, 0x18
call fcn.0042a13f
imul eax, eax, 0x63
pop ecx
cmp edi, eax
jbe 0x40e524
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [esi + 0x22c]
call fcn.0040831c
lea eax, [esi + 0x244]
call fcn.00402ec4
push ebx
call fcn.0042a13f
pop ecx
lea eax, [esi + 0x260]
call fcn.00402ec4
call fcn.00428e21
cdq
push 0xa
pop ecx
idiv ecx
mov edi, edx
call fcn.00428e21
cdq
push 0xa
pop ecx
idiv ecx
cmp edi, edx
setl al
cmp al, bl
je 0x40e583
movzx eax, al
mov dword [ebp - 8], eax
fild dword [ebp - 8]
call fcn.00439020
fstp dword [ebp - 8]
fld dword [ebp - 8]
jmp 0x40e590
fldz
call fcn.00438ef0
fstp dword [ebp - 8]
fld dword [ebp - 8]
call fcn.00439110
cmp eax, ebx
je 0x40e5ab
call dword [sym.imp.USER32.dll_GetActiveWindow]
call dword [sym.imp.USER32.dll_GetCapture]
call dword [sym.imp.USER32.dll_GetClipboardOwner]
lea eax, [esi + 0x288]
mov dword [esi + 0x280], ebx
mov dword [esi + 0x284], ebx
call fcn.00402ec4
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov dword [ebp - 8], eax
fild dword [ebp - 8]
test eax, eax
jge 0x40e5da
fadd qword [0x44a9c8]
call fcn.00438ef0
fstp qword [ebp - 0x18]
push ebx
call fcn.0042a13f
mov dword [ebp - 8], eax
fild dword [ebp - 8]
pop ecx
test eax, eax
jge 0x40e5f9
fadd qword [0x44a9c8]
fcomp qword [ebp - 0x18]
fnstsw ax
test ah, 5
jp 0x40e613
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
xor eax, eax
inc eax
jmp 0x40e615
xor eax, eax
dec eax
jne 0x40e622
call fcn.00409e4b
call fcn.00409ebc
lea eax, [esi + 0x2a4]
call fcn.00402ec4
call edi
mov dword [ebp - 8], eax
fild dword [ebp - 8]
test eax, eax
jge 0x40e63f
fadd qword [0x44a9c8]
call fcn.00438ef0
fstp qword [ebp - 0x18]
push ebx
call fcn.0042a13f
mov dword [ebp - 8], eax
fild dword [ebp - 8]
pop ecx
test eax, eax
jge 0x40e65e
fadd qword [0x44a9c8]
fcomp qword [ebp - 0x18]
fnstsw ax
test ah, 5
jp 0x40e674
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor eax, eax
inc eax
jmp 0x40e676
xor eax, eax
dec eax
jne 0x40e690
call dword [sym.imp.USER32.dll_GetActiveWindow]
call dword [sym.imp.USER32.dll_GetCapture]
call dword [sym.imp.USER32.dll_GetClipboardOwner]
call fcn.0040cb42
lea edi, [esi + 0x2c0]
mov ebx, dword [edi + 0x10]
lea esi, [ebp - 0xc]
call fcn.004190fa
mov ebx, dword [edi + 0xc]
lea esi, [ebp - 0x18]
call fcn.004190fa
push dword [ebp - 8]
lea eax, [ebp - 0x18]
push dword [ebp - 0xc]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push eax
push edi
call fcn.00417c0d
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov dword [ebp - 8], eax
fild dword [ebp - 8]
test eax, eax
jge 0x40e6da
fadd qword [0x44a9c8]
call fcn.00438ef0
fstp qword [ebp - 0x18]
xor ebx, ebx
push ebx
call fcn.0042a13f
mov dword [ebp - 8], eax
fild dword [ebp - 8]
pop ecx
test eax, eax
jge 0x40e6fb
fadd qword [0x44a9c8]
fcomp qword [ebp - 0x18]
fnstsw ax
test ah, 5
jp 0x40e714
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetFirmwareEnvironmentVariableA]
call fcn.0040c1a4
mov esi, dword [ebp - 0x1c]
lea eax, [esi + 0x2d8]
call fcn.004175cb
mov dword [esi + 0x308], ebx
call fcn.00428e21
cdq
push 0x14
pop ecx
idiv ecx
mov ebx, edx
inc ebx
call fcn.00428e21
cdq
idiv ebx
cmp edx, ebx
jg 0x40e74f
mov eax, ebx
cdq
idiv ebx
xor ebx, ebx
cmp edx, ebx
je 0x40e75b
jmp 0x40e751
xor ebx, ebx
call fcn.00409f85
call fcn.0040a019
lea eax, [esi + 0x30c]
call fcn.00402ec4
lea eax, [esi + 0x328]
call fcn.00402ec4
call edi
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
test eax, eax
jge 0x40e783
fadd qword [0x44a9c8]
call fcn.00438ef0
fstp qword [ebp - 0x18]
push ebx
call fcn.0042a13f
mov dword [ebp - 0x1c], eax
fild dword [ebp - 0x1c]
pop ecx
test eax, eax
jge 0x40e7a2
fadd qword [0x44a9c8]
fcomp qword [ebp - 0x18]
fnstsw ax
test ah, 5
jp 0x40e7c1
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegNotifyChangeKeyValue]
call fcn.0040a05c
call fcn.00401d8f
lea eax, [esi + 0x344]
call fcn.00402ec4
call edi
dec eax
dec eax
je 0x40e7df
dec eax
dec eax
je 0x40e7df
sub eax, 4
je 0x40e7df
xor eax, eax
jmp 0x40e7e8
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor eax, eax
inc eax
dec eax
jne 0x40e7f5
call fcn.00401d8f
call fcn.00409b8b
lea eax, [esi + 0x360]
call fcn.00402ec4
lea eax, [esi + 0x37c]
call fcn.00402ec4
mov ecx, dword [ebp - 4]
pop edi
mov dword [esi + 0x3a0], ebx
mov dword [esi + 0x39c], 1
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.00428582
leave
ret