Function at 0x423cbc
Capabilities:
Set uefi variable

Disassembly:
push 0x120
mov eax, 0x43eec4
call fcn.0042bb26
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 4], ebx
lea edi, [ebp - 0x11c]
call fcn.00424017
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 8]
push eax
mov ecx, edi
mov byte [ebp - 4], 9
call fcn.004034e3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
push ebx
shr edi, 0x18
call fcn.0042a8e7
imul eax, eax, 0x63
pop ecx
cmp edi, eax
jbe 0x423d17
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
call fcn.0041f190
call fcn.004295cd
cdq
push 0xa
pop ecx
idiv ecx
mov edi, edx
call fcn.004295cd
cdq
push 0xa
pop ecx
idiv ecx
cmp edi, edx
setl al
cmp al, bl
je 0x423d5a
movzx eax, al
mov dword [ebp - 0x120], eax
fild dword [ebp - 0x120]
call fcn.004397d0
fstp dword [ebp - 0x120]
fld dword [ebp - 0x120]
jmp 0x423d6d
fldz
call fcn.004396a0
fstp dword [ebp - 0x120]
fld dword [ebp - 0x120]
call fcn.004398c0
dec eax
jne 0x423d7f
call fcn.0041f216
call fcn.0041f2aa
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x24]
push eax
lea ecx, [ebp - 0x100]
call fcn.004034e3
push 0xffffffffffffffff
lea eax, [ebp - 0xe4]
push eax
xor ebx, ebx
lea eax, [ebp + 0x40]
call fcn.0042531e
or edi, 0xffffffff
push edi
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp + 0x5c]
call fcn.0042531e
push edi
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp + 0x78]
call fcn.0042531e
push edi
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp + 0x94]
mov dword [ebp - 4], 9
call fcn.0042531e
push edi
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp + 0xb0]
call fcn.0042531e
push edi
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp + 0xcc]
call fcn.0042531e
call fcn.004295cd
cdq
push 0x14
pop ecx
idiv ecx
mov ebx, edx
inc ebx
call fcn.004295cd
cdq
idiv ebx
cmp edx, ebx
jg 0x423e24
mov eax, ebx
cdq
idiv ebx
test edx, edx
je 0x423e29
call fcn.0040c095
push edi
lea eax, [ebp - 0x3c]
push eax
xor ebx, ebx
lea eax, [ebp + 0xe8]
call fcn.0042531e
mov eax, dword [ebp + 0x104]
mov dword [ebp - 0x20], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x120], eax
fild dword [ebp - 0x120]
test eax, eax
jge 0x423e60
fadd qword [0x44b078]
call fcn.004396a0
fstp qword [ebp - 0x12c]
xor edi, edi
push edi
call fcn.0042a8e7
mov dword [ebp - 0x120], eax
fild dword [ebp - 0x120]
pop ecx
test eax, eax
jge 0x423e8a
fadd qword [0x44b078]
fcomp qword [ebp - 0x12c]
fnstsw ax
test ah, 5
jp 0x423eab
push edi
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_SetFirmwareEnvironmentVariableA]
call fcn.0041f338
call fcn.0040c39c
mov ecx, dword [esi + 0xc]
mov eax, dword [ebp + 0x108]
mov dword [ebp - 0x1c], eax
cmp ecx, edi
jne 0x423ec3
mov dword [ebp - 0x120], edi
jmp 0x423ed6
mov eax, dword [esi + 0x14]
sub eax, ecx
cdq
mov edi, 0x104
idiv edi
mov dword [ebp - 0x120], eax
mov edi, dword [esi + 0x10]
mov eax, edi
sub eax, ecx
cdq
mov ebx, 0x104
idiv ebx
cmp eax, dword [ebp - 0x120]
jae 0x423f01
lea eax, [ebp - 0x11c]
push eax
push 1
push edi
call fcn.004254e4
mov dword [esi + 0x10], eax
jmp 0x423f21
cmp ecx, edi
jbe 0x423f0a
call fcn.004294c3
mov eax, dword [esi]
push edi
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.00425461
call fcn.004295cd
cdq
push 0xa
pop ecx
idiv ecx
mov esi, edx
call fcn.004295cd
cdq
push 0xa
pop ecx
idiv ecx
cmp esi, edx
setl al
xor ebx, ebx
cmp al, bl
je 0x423f66
movzx eax, al
mov dword [ebp - 0x120], eax
fild dword [ebp - 0x120]
call fcn.004397d0
fstp dword [ebp - 0x120]
fld dword [ebp - 0x120]
jmp 0x423f79
fldz
call fcn.004396a0
fstp dword [ebp - 0x120]
fld dword [ebp - 0x120]
call fcn.004398c0
cmp eax, ebx
je 0x423f99
call fcn.0041f39b
call dword [sym.imp.USER32.dll_GetActiveWindow]
call dword [sym.imp.USER32.dll_GetCapture]
call dword [sym.imp.USER32.dll_GetClipboardOwner]
lea edi, [ebp - 0x11c]
call fcn.00424097
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp + 8]
call fcn.004035bd
push ebx
push edi
lea ecx, [ebp + 0x24]
call fcn.004035bd
push ebx
push edi
lea esi, [ebp + 0x40]
call fcn.0042541a
push ebx
push edi
lea esi, [ebp + 0x5c]
call fcn.0042541a
push ebx
push edi
lea esi, [ebp + 0x78]
call fcn.0042541a
push ebx
push edi
lea esi, [ebp + 0x94]
call fcn.0042541a
push ebx
push edi
lea esi, [ebp + 0xb0]
call fcn.0042541a
push ebx
push edi
lea esi, [ebp + 0xcc]
call fcn.0042541a
push ebx
push edi
lea esi, [ebp + 0xe8]
call fcn.0042541a
xor eax, eax
call fcn.0042bba9
ret 0x104