Function at 0x4137b1
Capabilities:
Delete file
Set uefi variable

Disassembly:
push 0x108
mov eax, 0x441518
call fcn.0042babd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
xor ebx, ebx
push ebx
shr esi, 0x18
call fcn.0042a8e7
imul eax, eax, 0x63
pop ecx
cmp esi, eax
jbe 0x4137ea
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetFirmwareEnvironmentVariableA]
call fcn.0040b4a9
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x2e8]
sub eax, dword [edi + 0x2e4]
add edi, 0x2d8
cdq
mov ecx, 0x8c
idiv ecx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x28], edi
test eax, eax
jbe 0x413a97
push dword [ebp - 0x18]
mov eax, edi
call fcn.0041809f
mov ecx, dword [ebp + 8]
mov esi, eax
call fcn.00413caa
test eax, eax
jl 0x4139b9
push dword [ebp - 0x18]
mov eax, edi
call fcn.0041809f
sub esp, 0x1c
add eax, 0x58
mov ecx, esp
mov dword [ebp - 0x20], esp
push eax
call fcn.004031b5
call fcn.0040f0a8
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x11]
mov byte [ebp - 0x11], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41385d
sub eax, esi
je 0x4138ac
call fcn.00426054
push 4
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
cmp esi, ebx
jne 0x413891
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.7243e9b560c7323b2d3
call fcn.004294d3
pop ecx
pop ecx
jmp 0x4138ac
push esi
call dword [sym.imp.KERNEL32.dll_GlobalSize]
push eax
push str.eff1937383d14e751623d7a51b61c1
call fcn.004294d3
pop ecx
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0x20], ebx
jge 0x413a7d
call fcn.004295cd
cdq
push 0x14
pop ecx
idiv ecx
mov esi, edx
inc esi
call fcn.004295cd
cdq
idiv esi
cmp edx, esi
jg 0x4138d8
mov eax, esi
cdq
idiv esi
cmp edx, ebx
je 0x4138e2
call fcn.0040bb35
call fcn.0040bbc9
push dword [ebp - 0x18]
mov eax, edi
call fcn.0041809f
push eax
push dword [ebp + 8]
call fcn.00412b4b
mov dword [ebp - 0x20], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push ebx
shr esi, 0x18
call fcn.0042a8e7
imul eax, eax, 0x63
pop ecx
cmp esi, eax
jbe 0x41391c
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegNotifyChangeKeyValue]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push ebx
shr esi, 0x18
call fcn.0042a8e7
imul eax, eax, 0x63
pop ecx
cmp esi, eax
jbe 0x41393c
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x20], ebx
jl 0x4139b9
push dword [ebp - 0x18]
mov eax, edi
call fcn.0041809f
sub esp, 0x1c
add eax, 0x58
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.004031b5
push dword [ebp - 0x18]
mov eax, edi
mov dword [ebp - 4], 4
call fcn.0041809f
sub esp, 0x1c
add eax, 0x3c
mov ecx, esp
mov dword [ebp - 0x20], esp
push eax
call fcn.004031b5
mov ecx, dword [ebp + 8]
or dword [ebp - 4], 0xffffffff
call fcn.00424108
push dword [ebp - 0x18]
mov eax, edi
call fcn.0041809f
sub esp, 0x1c
add eax, 0x58
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.004031b5
push dword [ebp + 8]
call fcn.0040e40f
cmp eax, ebx
jge 0x413a7d
lea eax, [ebp - 0x2c]
push eax
push ecx
push dword [ebp - 0x18]
mov eax, edi
call fcn.0041809f
pop ecx
mov ecx, dword [ebp + 8]
push eax
call fcn.00412550
cmp eax, ebx
jge 0x413aa1
lea eax, [ebp - 0x48]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x1c], esp
push 0x3b
push 0x4492a8
call fcn.004081ed
lea edi, [ebp - 0xbc]
call fcn.00427366
push eax
mov dword [ebp - 4], 5
call fcn.00427738
mov byte [ebp - 4], 6
cmp dword [eax + 0x18], 0x10
jb 0x413a19
mov eax, dword [eax + 4]
jmp 0x413a1c
add eax, 4
mov ebx, dword [ebp + 8]
push eax
push 1
call fcn.0040eded
pop ecx
pop ecx
push 0
push 1
lea ecx, [ebp - 0x48]
call fcn.004035bd
or dword [ebp - 4], 0xffffffff
lea esi, [ebp - 0xbc]
call fcn.00404654
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push 0
shr esi, 0x18
call fcn.0042a8e7
imul eax, eax, 0x63
pop ecx
cmp esi, eax
jbe 0x413a69
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor eax, eax
inc eax
jmp 0x413a6b
xor eax, eax
dec eax
jne 0x413a78
call fcn.0040bc69
call fcn.0040bcfd
mov edi, dword [ebp - 0x28]
xor ebx, ebx
mov eax, dword [edi + 0x10]
sub eax, dword [edi + 0xc]
mov ecx, 0x8c
cdq
idiv ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jb 0x413815
xor eax, eax
call fcn.0042bb95
ret 4
push dword [ebp - 0x18]
mov eax, edi
call fcn.0041809f
sub esp, 0x1c
add eax, 0x58
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.004031b5
push dword [ebp - 0x2c]
push dword [ebp + 8]
call fcn.004241e3
mov dword [ebp - 0x24], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
dec eax
dec eax
je 0x413add
dec eax
dec eax
je 0x413add
sub eax, 4
jne 0x413aed
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
call fcn.0040bd79
lea eax, [ebp - 0x11]
mov byte [ebp - 0x11], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x413af6
sub eax, edx
je 0x413b0b
call fcn.0040be0d
call fcn.0040bea1
push dword [ebp - 0x18]
mov eax, edi
call fcn.0041809f
add eax, 4
cmp dword [eax + 0x18], 0x10
jb 0x413b23
mov esi, dword [eax + 4]
jmp 0x413b26
lea esi, [eax + 4]
push dword [ebp - 0x18]
mov eax, edi
call fcn.0041809f
lea ecx, [ebp - 0x24]
push ecx
push 0xf003f
push ebx
push esi
push dword [eax]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov esi, eax
call fcn.004295cd
call fcn.004295cd
or dword [ebp - 4], 0xffffffff
cmp esi, ebx
je 0x413be2
push esi
lea eax, [ebp - 0x48]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x1c], esp
push 0x2f
push 0x4492e4
call fcn.004081ed
lea edi, [ebp - 0xbc]
call fcn.00427366
mov dword [ebp - 4], 9
call fcn.00427546
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x18], 0x10
jb 0x413b9a
mov eax, dword [eax + 4]
jmp 0x413b9d
add eax, 4
mov ebx, dword [ebp + 8]
push eax
push 1
call fcn.0040eded
add esp, 0xc
push 0
push 1
lea ecx, [ebp - 0x48]
call fcn.004035bd
or dword [ebp - 4], 0xffffffff
lea esi, [ebp - 0xbc]
call fcn.00404654
call fcn.00401270
test eax, eax
je 0x413a78
call fcn.0040bee4
call fcn.0040bfdd
jmp 0x413a78
push dword [ebp - 0x18]
mov esi, dword [ebp - 0x24]
mov eax, edi
call fcn.0041809f
cmp dword [eax + 0x88], ebx
jne 0x413bfe
mov esi, 0x80004005
jmp 0x413c08
push esi
mov esi, eax
call fcn.00412ae7
mov esi, eax
call fcn.0040965a
test eax, eax
je 0x413c16
call fcn.00426054
cmp esi, ebx
jge 0x413c93
lea eax, [ebp - 0x64]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x1c], esp
push 0x3a
push 0x449314
call fcn.004081ed
lea edi, [ebp - 0x114]
call fcn.00427366
push eax
mov dword [ebp - 4], 0xb
call fcn.00427738
mov byte [ebp - 4], 0xc
cmp dword [eax + 0x18], 0x10
jb 0x413c59
mov eax, dword [eax + 4]
jmp 0x413c5c
add eax, 4
mov ebx, dword [ebp + 8]
push eax
push 1
call fcn.0040eded
pop ecx
pop ecx
push 0
push 1
lea ecx, [ebp - 0x64]
call fcn.004035bd
lea esi, [ebp - 0x114]
call fcn.00404654
call fcn.004295cd
call fcn.004295cd
or dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0x28]
xor ebx, ebx
cmp dword [ebp - 0x24], ebx
je 0x413a7d
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x413a7d