Function at 0x42a3a0
Capabilities:
Get uefi variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45a7d8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x68
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x38], ecx
mov eax, dword [0x476478]
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], 0
mov eax, dword [0x476478]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 1
mov byte [ebp - 4], 2
lea eax, [ebp - 0x18]
push eax
call fcn.0040db70
add esp, 4
mov byte [ebp - 4], 3
push 1
push str.utf_8
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x18]
call fcn.0040a3f0
mov byte [ebp - 4], 4
push str.Info
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x34]
call fcn.0040a210
mov byte [ebp - 4], 5
lea eax, [ebp - 0x40]
push eax
call fcn.00435490
add esp, 4
mov esi, eax
mov byte [ebp - 4], 6
push str.CompName
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x14]
call fcn.0040a210
mov byte [ebp - 4], 7
mov edx, dword [esi]
mov ecx, dword [edx - 8]
add ecx, ecx
mov dword [edx - 4], ecx
push 0
push 0
push dword [esi]
mov ecx, eax
call fcn.0042b410
mov byte [ebp - 4], 6
push dword [ebp - 0x3c]
call fcn.0043d220
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.004087b0
lea eax, [ebp - 0x48]
push eax
call fcn.00415550
add esp, 4
mov esi, eax
mov byte [ebp - 4], 8
push 0x4614b8
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x14]
call fcn.0040a210
mov byte [ebp - 4], 9
mov edx, dword [esi]
mov ecx, dword [edx - 8]
add ecx, ecx
mov dword [edx - 4], ecx
push 0
push 0
push dword [esi]
mov ecx, eax
call fcn.0042b410
mov byte [ebp - 4], 8
push dword [ebp - 0x44]
call fcn.0043d220
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x48]
call fcn.004087b0
lea eax, [ebp - 0x50]
push eax
call fcn.00417ad0
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0xa
push str.UserName
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x14]
call fcn.0040a210
mov byte [ebp - 4], 0xb
mov edx, dword [esi]
mov ecx, dword [edx - 8]
add ecx, ecx
mov dword [edx - 4], ecx
push 0
push 0
push dword [esi]
mov ecx, eax
call fcn.0042b410
mov byte [ebp - 4], 0xa
push dword [ebp - 0x4c]
call fcn.0043d220
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x50]
call fcn.004087b0
push 0x463b38
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x14]
call fcn.0040a210
mov esi, eax
mov byte [ebp - 4], 0xc
push 0
push 0
push str.00000000_0000_0000_0000_000000000000
push 0x461502
call dword [sym.imp.KERNEL32.dll_GetFirmwareEnvironmentVariableA]
call dword [sym.imp.KERNEL32.dll_GetLastError]
dec eax
neg eax
sbb eax, eax
neg eax
push eax
mov ecx, esi
call fcn.0042ae00
mov byte [ebp - 4], 5
push dword [ebp - 0x50]
call fcn.0043d220
add esp, 4
push str.SecureBoot
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x14]
call fcn.0040a210
mov edi, eax
mov byte [ebp - 4], 0xd
mov ecx, dword [0x476478]
mov dword [ebp - 0x68], ecx
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x70], SysReAllocString
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x64], 0x100
mov dword [ebp - 0x5c], 0
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x70], reloc.OLEAUT32.dll_SysReAllocString
push 0xf003f
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.SYSTEMCurrentControlSetControlSecureBootState
call fcn.004054c0
mov byte [ebp - 4], 0x10
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x74]
call fcn.0042b170
test eax, eax
jne 0x42a606
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x74]
call fcn.00408bd0
xor esi, esi
jmp 0x42a636
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.UEFISecureBootEnabled
call fcn.004054c0
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x74]
call fcn.00427710
mov esi, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x74]
call fcn.00408bd0
push esi
mov ecx, edi
call fcn.0042ae00
mov byte [ebp - 4], 5
push dword [ebp - 0x54]
call fcn.0043d220
add esp, 4
push 0x463b58
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x14]
call fcn.0040a210
mov esi, eax
mov byte [ebp - 4], 0x12
call fcn.00416ed0
push edx
push eax
mov ecx, esi
call fcn.0042b0d0
mov byte [ebp - 4], 5
push dword [ebp - 0x54]
call fcn.0043d220
add esp, 4
push 0x463b60
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x14]
call fcn.0040a210
mov byte [ebp - 4], 0x13
push 0x463b68
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0040a210
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x2c]
push eax
call fcn.00410fc0
add esp, 4
push str.Devices
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x14]
call fcn.0040a210
mov byte [ebp - 4], 0x15
push 0
lea eax, [ebp - 0x28]
push eax
call fcn.00410330
add esp, 8
push str.Software
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x14]
call fcn.0040a210
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x24]
push eax
call fcn.00410860
add esp, 4
push 1
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x18]
call fcn.004293f0
mov byte [ebp - 4], 0x15
push dword [ebp - 0x24]
call fcn.0043d220
mov byte [ebp - 4], 0x14
push dword [ebp - 0x28]
call fcn.0043d220
mov byte [ebp - 4], 0x13
push dword [ebp - 0x2c]
call fcn.0043d220
mov byte [ebp - 4], 5
push dword [ebp - 0x30]
call fcn.0043d220
mov byte [ebp - 4], 4
push dword [ebp - 0x14]
call fcn.0043d220
mov byte [ebp - 4], 3
push dword [ebp - 0x34]
call fcn.0043d220
mov byte [ebp - 4], 2
push dword [ebp - 0x18]
call fcn.0043d220
add esp, 0x1c
mov dword [ebp - 4], 1
mov esi, dword [ebp - 0x38]
lea edi, [esi + 0xe8]
lea ecx, [edi + 4]
mov eax, dword [ecx]
push dword [ecx + 8]
push 0
call dword [eax + 4]
lea ecx, [edi + 0x18]
mov eax, dword [ecx]
push dword [ecx + 8]
push 0
call dword [eax + 4]
lea ecx, [edi + 0x2c]
mov eax, dword [ecx]
push dword [ecx + 8]
push 0
call dword [eax + 4]
lea ecx, [edi + 0x40]
mov eax, dword [ecx]
push dword [ecx + 8]
push 0
call dword [eax + 4]
lea ecx, [edi + 0x54]
mov eax, dword [ecx]
push dword [ecx + 8]
push 0
call dword [eax + 4]
lea eax, [esi + 0x28c]
push eax
lea ecx, [ebp - 0x18]
call fcn.00405440
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x18]
push eax
mov ecx, edi
call fcn.00408f00
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x18]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x42a7ff
lea ecx, [eax - 0x20]
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x42a7ff
mov eax, dword [ebp - 0x18]
add eax, 0xffffffe0
push eax
call fcn.004471aa
add esp, 4
push ecx
mov dword [ebp - 0x50], esp
mov ecx, esp
mov dword [ebp - 0x34], ecx
mov eax, dword [0x476478]
mov dword [ecx], eax
mov edx, str.installer
mov eax, edx
shr eax, 0x10
test eax, eax
jne 0x42a834
movzx eax, dx
push eax
call fcn.0041c880
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
jmp 0x42a86d
push str.installer
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
call ebx
mov dword [ebp - 0x54], eax
test eax, eax
je 0x42a86d
push eax
mov ecx, dword [ebp - 0x34]
call fcn.0040a900
test eax, eax
je 0x42a86d
mov eax, dword [ebp - 0x54]
add eax, eax
push eax
push str.installer
mov eax, dword [ebp - 0x34]
push dword [eax]
call fcn.004480a0
add esp, 0xc
mov byte [ebp - 4], 0x19
push ecx
mov dword [ebp - 0x4c], esp
mov ecx, esp
mov dword [ebp - 0x34], ecx
mov eax, dword [0x476478]
mov dword [ecx], eax
mov edx, 0x463ed8
mov eax, edx
shr eax, 0x10
test eax, eax
jne 0x42a89a
movzx eax, dx
push eax
call fcn.0041c880
jmp 0x42a8cd
push 0x463ed8
call ebx
mov dword [ebp - 0x54], eax
test eax, eax
je 0x42a8cd
push eax
mov ecx, dword [ebp - 0x34]
call fcn.0040a900
test eax, eax
je 0x42a8cd
mov eax, dword [ebp - 0x54]
add eax, eax
push eax
push 0x463ed8
mov eax, dword [ebp - 0x34]
push dword [eax]
call fcn.004480a0
add esp, 0xc
mov byte [ebp - 4], 0x1a
mov byte [ebp - 4], 1
mov ecx, edi
call fcn.0040a340
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push 0x47ff44
call fcn.00405440
mov byte [ebp - 4], 0x1b
push ecx
mov dword [ebp - 0x4c], esp
mov ecx, esp
mov dword [ebp - 0x34], ecx
mov eax, dword [0x476478]
mov dword [ecx], eax
mov edx, 0x463edc
mov eax, edx
shr eax, 0x10
test eax, eax
jne 0x42a919
movzx eax, dx
push eax
call fcn.0041c880
jmp 0x42a94c
push 0x463edc
call ebx
mov dword [ebp - 0x54], eax
test eax, eax
je 0x42a94c
push eax
mov ecx, dword [ebp - 0x34]
call fcn.0040a900
test eax, eax
je 0x42a94c
mov eax, dword [ebp - 0x54]
add eax, eax
push eax
push 0x463edc
mov eax, dword [ebp - 0x34]
push dword [eax]
call fcn.004480a0
add esp, 0xc
mov byte [ebp - 4], 0x1c
mov byte [ebp - 4], 1
mov ecx, edi
call fcn.0040a340
lea eax, [esi + 0x31c]
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push eax
call fcn.00405440
mov byte [ebp - 4], 0x1d
push ecx
mov dword [ebp - 0x4c], esp
mov ecx, esp
mov dword [ebp - 0x34], ecx
mov eax, dword [0x476478]
mov dword [ecx], eax
mov edx, 0x463ee4
mov eax, edx
shr eax, 0x10
test eax, eax
jne 0x42a99a
movzx eax, dx
push eax
call fcn.0041c880
jmp 0x42a9cd
push 0x463ee4
call ebx
mov dword [ebp - 0x54], eax
test eax, eax
je 0x42a9cd
push eax
mov ecx, dword [ebp - 0x34]
call fcn.0040a900
test eax, eax
je 0x42a9cd
mov eax, dword [ebp - 0x54]
add eax, eax
push eax
push 0x463ee4
mov eax, dword [ebp - 0x34]
push dword [eax]
call fcn.004480a0
add esp, 0xc
mov byte [ebp - 4], 0x1e
mov byte [ebp - 4], 1
mov ecx, edi
call fcn.0040a340
lea eax, [esi + 0x1fc]
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push eax
call fcn.00405440
mov byte [ebp - 4], 0x1f
push ecx
mov dword [ebp - 0x4c], esp
mov ecx, esp
mov dword [ebp - 0x34], ecx
mov eax, dword [0x476478]
mov dword [ecx], eax
mov edx, 0x463ee8
mov eax, edx
shr eax, 0x10
test eax, eax
jne 0x42aa1b
movzx eax, dx
push eax
call fcn.0041c880
jmp 0x42aa4e
push 0x463ee8
call ebx
mov dword [ebp - 0x54], eax
test eax, eax
je 0x42aa4e
push eax
mov ecx, dword [ebp - 0x34]
call fcn.0040a900
test eax, eax
je 0x42aa4e
mov eax, dword [ebp - 0x54]
add eax, eax
push eax
push 0x463ee8
mov eax, dword [ebp - 0x34]
push dword [eax]
call fcn.004480a0
add esp, 0xc
mov byte [ebp - 4], 0x20
mov byte [ebp - 4], 1
mov ecx, edi
call fcn.0040a340
push dword [esi + 0x27c]
lea ecx, [ebp - 0x1c]
call fcn.00414060
push ecx
mov esi, esp
mov dword [ebp - 0x50], esp
push ecx
mov ecx, esp
mov dword [ebp - 0x54], esp
lea eax, [ebp - 0x1c]
push eax
call fcn.00405440
mov byte [ebp - 4], 0x21
push esi
mov byte [ebp - 4], 1
call fcn.00410010
mov byte [ebp - 4], 0x22
add esp, 4
mov dword [ebp - 0x4c], esp
mov esi, esp
mov eax, dword [0x476478]
mov dword [esi], eax
mov ecx, 0x464f9c
mov eax, ecx
shr eax, 0x10
test eax, eax
jne 0x42aabc
movzx eax, cx
push eax
mov ecx, esi
call fcn.0041c880
jmp 0x42aaeb
push 0x464f9c
call ebx
mov dword [ebp - 0x54], eax
test eax, eax
je 0x42aaeb
push eax
mov ecx, esi
call fcn.0040a900
test eax, eax
je 0x42aaeb
mov eax, dword [ebp - 0x54]
add eax, eax
push eax
push 0x464f9c
push dword [esi]
call fcn.004480a0
add esp, 0xc
mov byte [ebp - 4], 0x23
mov byte [ebp - 4], 1
mov ecx, edi
call fcn.0040a340
push ecx
mov esi, esp
mov dword [ebp - 0x54], esp
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
lea eax, [ebp - 0x20]
push eax
call fcn.00405440
mov byte [ebp - 4], 0x24
push esi
mov byte [ebp - 4], 1
call fcn.00410010
mov byte [ebp - 4], 0x25
add esp, 4
mov dword [ebp - 0x50], esp
mov esi, esp
mov eax, dword [0x476478]
mov dword [esi], eax
mov ecx, 0x463b88
mov eax, ecx
shr eax, 0x10
test eax, eax
jne 0x42ab4b
movzx eax, cx
push eax
mov ecx, esi
call fcn.0041c880
jmp 0x42ab77
push 0x463b88
call ebx
mov ebx, eax
test ebx, ebx
je 0x42ab77
push ebx
mov ecx, esi
call fcn.0040a900
test eax, eax
je 0x42ab77
lea eax, [ebx + ebx]
push eax
push 0x463b88
push dword [esi]
call fcn.004480a0
add esp, 0xc
mov byte [ebp - 4], 0x26
mov byte [ebp - 4], 1
mov ecx, edi
call fcn.0040a340
push edi
mov esi, dword [ebp - 0x38]
lea ecx, [esi + 0x64]
call fcn.00408e60
mov ecx, esi
call fcn.004198a0
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x1c]
lea ecx, [eax - 0x20]
or edx, 0xffffffff
cmp ecx, dword [0x476474]
je 0x42abc8
lea ecx, [eax - 0x20]
mov eax, edx
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x42abc8
push ecx
call fcn.004471aa
add esp, 4
or edx, 0xffffffff
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20]
lea ecx, [eax - 0x20]
cmp ecx, dword [0x476474]
je 0x42abf2
add eax, 0xffffffe0
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x42abf2
push eax
call fcn.004471aa
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret