Function at 0x4239b0
Capabilities:
Delete file
Set uefi variable

Disassembly:
push 0xffffffffffffffff
push 0x45130a
mov eax, dword fs:[0]
push eax
sub esp, 0x108
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4612b0]
xor eax, esp
push eax
lea eax, [esp + 0x11c]
mov dword fs:[0], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, 2
je 0x4239f8
sub eax, 2
je 0x4239f8
sub eax, 4
je 0x4239f8
xor ebx, ebx
xor ecx, ecx
jmp 0x423a06
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, 1
mov eax, 0x45ae9d0f
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0x3ac8
jle 0x423a33
push 0x3ac8
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.004191d0
call fcn.004192a0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push ebx
shr esi, 0x18
call fcn.0043a6c4
imul eax, eax, 0x63
add esp, 4
cmp esi, eax
jbe 0x423a5d
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetFirmwareEnvironmentVariableA]
call fcn.00419370
mov ebp, dword [esp + 0x12c]
mov ecx, dword [ebp + 0x2e8]
sub ecx, dword [ebp + 0x2e4]
add ebp, 0x2d8
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
xor esi, esi
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x18], esi
je 0x4240d5
jmp 0x423a9b
mov esi, dword [esp + 0x18]
push esi
mov eax, ebp
call fcn.0042a990
mov edx, dword [esp + 0x12c]
push eax
push edx
call fcn.00424100
test eax, eax
jl 0x423bb7
push esi
mov eax, ebp
call fcn.0042a990
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push 0xffffffffffffffff
add eax, 0x58
push ebx
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402d80
call fcn.0041d5f0
cmp eax, ebx
jge 0x4240ab
mov esi, dword [esp + 0x18]
push esi
mov eax, ebp
call fcn.0042a990
mov edi, dword [esp + 0x12c]
push eax
push edi
call fcn.00422890
cmp eax, ebx
jl 0x423bb7
push esi
mov eax, ebp
call fcn.0042a990
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push 0xffffffffffffffff
add eax, 0x58
push ebx
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402d80
push esi
mov eax, ebp
mov dword [esp + 0x144], ebx
call fcn.0042a990
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push 0xffffffffffffffff
add eax, 0x3c
push ebx
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402d80
mov ecx, edi
mov dword [esp + 0x15c], 0xffffffff
call fcn.0040da80
push esi
mov eax, ebp
call fcn.0042a990
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0xffffffffffffffff
add eax, 0x58
push ebx
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402d80
push edi
call fcn.0041c3d0
cmp eax, ebx
jge 0x4240ab
mov eax, dword [esp + 0x18]
push eax
mov eax, ebp
call fcn.0042a990
mov ecx, dword [esp + 0x12c]
push eax
push ecx
lea ecx, [esp + 0x34]
call fcn.00421bb0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push ebx
shr esi, 0x18
call fcn.0043a6c4
imul eax, eax, 0x63
add esp, 4
cmp esi, eax
jbe 0x423bfc
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetFirmwareEnvironmentVariableA]
cmp edi, ebx
mov dword [esp + 0x124], 0xffffffff
jge 0x423d6b
lea edx, [esp + 0x30]
push edx
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x18], 0xf
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x40], esp
cmp eax, 0x10
jb 0x423c38
mov ecx, dword [edi]
jmp 0x423c3a
mov ecx, edi
cmp ecx, 0x457400
ja 0x423c75
cmp eax, 0x10
jb 0x423c4b
mov ecx, dword [edi]
jmp 0x423c4d
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x457400
jbe 0x423c75
cmp eax, 0x10
jb 0x423c61
mov edi, dword [edi]
push 0x3b
mov eax, 0x457400
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402d80
jmp 0x423cb8
cmp eax, 0x3b
jae 0x423c87
mov ecx, dword [esi + 0x14]
push ecx
push 0x3b
mov ecx, esi
call fcn.004034b0
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x423c93
mov eax, dword [edi]
jmp 0x423c95
mov eax, edi
push 0x3b
push 0x457400
push ecx
push eax
call fcn.00439429
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0x3b
jb 0x423cb5
mov edi, dword [edi]
mov byte [edi + 0x3b], bl
lea esi, [esp + 0x88]
call fcn.004016b0
mov dword [esp + 0x128], 3
call fcn.00401850
mov esi, 0x10
mov byte [esp + 0x124], 4
cmp dword [eax + 0x18], esi
jb 0x423ceb
mov eax, dword [eax + 4]
jmp 0x423cee
add eax, 4
mov edx, dword [esp + 0x12c]
push eax
push 1
push edx
call fcn.0041d220
add esp, 0xc
cmp dword [esp + 0x48], esi
jb 0x423d14
mov eax, dword [esp + 0x34]
push eax
call fcn.004393c9
add esp, 4
lea esi, [esp + 0x68]
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
mov dword [esp + 0x124], 0xffffffff
call fcn.00429e20
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push ebx
shr esi, 0x18
call fcn.0043a6c4
imul eax, eax, 0x63
add esp, 4
cmp esi, eax
jbe 0x4240ab
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetFirmwareEnvironmentVariableA]
call fcn.00435810
jmp 0x4240ab
mov esi, dword [esp + 0x18]
push esi
mov eax, ebp
call fcn.0042a990
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0xffffffffffffffff
add eax, 0x58
push ebx
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402d80
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x148]
push ecx
push edx
call fcn.0040dc00
push ebx
call fcn.0043a6c4
lea eax, [esp + 0x23]
add esp, 4
mov dword [esp + 0x24], ebx
mov byte [esp + 0x1f], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x423dc3
sub eax, edx
je 0x423dd8
call fcn.00419420
call fcn.004194d0
push esi
mov eax, ebp
call fcn.0042a990
add eax, 4
cmp dword [eax + 0x18], 0x10
jb 0x423dee
mov esi, dword [eax + 4]
jmp 0x423df1
lea esi, [eax + 4]
mov eax, dword [esp + 0x18]
push eax
mov eax, ebp
call fcn.0042a990
mov edx, dword [eax]
lea ecx, [esp + 0x24]
push ecx
push 0xf003f
push ebx
push esi
push edx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
cmp eax, ebx
je 0x423f49
push eax
lea eax, [esp + 0x34]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x18], 0xf
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x44], esp
cmp eax, 0x10
jb 0x423e44
mov ecx, dword [edi]
jmp 0x423e46
mov ecx, edi
cmp ecx, str.3DRTSNX
ja 0x423e81
cmp eax, 0x10
jb 0x423e57
mov ecx, dword [edi]
jmp 0x423e59
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, str.3DRTSNX
jbe 0x423e81
cmp eax, 0x10
jb 0x423e6d
mov edi, dword [edi]
push 0x2f
mov eax, str.3DRTSNX
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402d80
jmp 0x423ec4
cmp eax, 0x2f
jae 0x423e93
mov ecx, dword [esi + 0x14]
push ecx
push 0x2f
mov ecx, esi
call fcn.004034b0
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x423e9f
mov eax, dword [edi]
jmp 0x423ea1
mov eax, edi
push 0x2f
push str.3DRTSNX
push ecx
push eax
call fcn.00439429
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0x2f
jb 0x423ec1
mov edi, dword [edi]
mov byte [edi + 0x2f], bl
lea esi, [esp + 0x8c]
call fcn.004016b0
mov dword [esp + 0x12c], 5
call fcn.00401ad0
mov esi, 0x10
mov byte [esp + 0x128], 6
cmp dword [eax + 0x18], esi
jb 0x423ef7
mov eax, dword [eax + 4]
jmp 0x423efa
add eax, 4
mov edx, dword [esp + 0x130]
push eax
push 1
push edx
call fcn.0041d220
add esp, 0x10
cmp dword [esp + 0x48], esi
jb 0x423f20
mov eax, dword [esp + 0x34]
push eax
call fcn.004393c9
add esp, 4
lea esi, [esp + 0x68]
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
mov dword [esp + 0x124], 0xffffffff
call fcn.00429e20
jmp 0x4240ab
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
push ecx
mov eax, ebp
call fcn.0042a990
cmp dword [eax + 0x88], ebx
je 0x423f70
mov esi, eax
call fcn.00422820
cmp eax, ebx
jge 0x42409c
lea edx, [esp + 0x4c]
push edx
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x18], 0xf
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x40], esp
cmp eax, 0x10
jb 0x423f99
mov ecx, dword [edi]
jmp 0x423f9b
mov ecx, edi
cmp ecx, 0x45746c
ja 0x423fd6
cmp eax, 0x10
jb 0x423fac
mov ecx, dword [edi]
jmp 0x423fae
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x45746c
jbe 0x423fd6
cmp eax, 0x10
jb 0x423fc2
mov edi, dword [edi]
push 0x3a
mov eax, 0x45746c
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402d80
jmp 0x424019
cmp eax, 0x3a
jae 0x423fe8
mov ecx, dword [esi + 0x14]
push ecx
push 0x3a
mov ecx, esi
call fcn.004034b0
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x423ff4
mov eax, dword [edi]
jmp 0x423ff6
mov eax, edi
push 0x3a
push 0x45746c
push ecx
push eax
call fcn.00439429
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0x3a
jb 0x424016
mov edi, dword [edi]
mov byte [edi + 0x3a], bl
lea esi, [esp + 0xe0]
call fcn.004016b0
mov dword [esp + 0x128], 7
call fcn.00401930
mov esi, 0x10
mov byte [esp + 0x124], 8
cmp dword [eax + 0x18], esi
jb 0x42404c
mov eax, dword [eax + 4]
jmp 0x42404f
add eax, 4
mov edx, dword [esp + 0x12c]
push eax
push 1
push edx
call fcn.0041d220
add esp, 0xc
cmp dword [esp + 0x64], esi
jb 0x424075
mov eax, dword [esp + 0x50]
push eax
call fcn.004393c9
add esp, 4
lea esi, [esp + 0xc0]
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], ebx
mov byte [esp + 0x50], bl
mov dword [esp + 0x124], 0xffffffff
call fcn.00429e20
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x4240ab
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x18]
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
inc esi
add ecx, edx
mov dword [esp + 0x18], esi
cmp esi, ecx
jb 0x423a97
xor eax, eax
mov ecx, dword [esp + 0x11c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret 4