Function at 0x43ebf0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x464f35
mov eax, dword fs:[0]
push eax
sub esp, 0x284
mov eax, dword [0x48602c]
xor eax, ebp
mov dword [ebp - 0x3c], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0x34]
call fcn.004110c0
mov dword [ebp - 4], 0
mov ecx, 6
mov esi, str.bootmgfw.efi
lea edi, [ebp - 0x244]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x1ee
push 0
lea eax, [ebp - 0x22a]
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0
push 0
push 3
push 0
push 3
push 0xc0000000
lea ecx, [ebp - 0x244]
push ecx
call fcn.0043e860
add esp, 4
push eax
lea ecx, [ebp - 0x34]
call fcn.00411100
test eax, eax
jne 0x43ecc6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.open_bootmgfw.efi_file_fail:_d
push 0x4d
push 0x46c70c
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0xc
mov byte [ebp - 0x26d], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.004113d0
mov al, byte [ebp - 0x26d]
jmp 0x43ef38
lea ecx, [ebp - 0x34]
call fcn.004111d0
push eax
call fcn.0043acf2
add esp, 4
mov dword [ebp - 0x274], eax
mov edx, dword [ebp - 0x274]
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], 0
jne 0x43ed31
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Alloc_buff_fail:_d
push 0x54
push 0x46c770
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0xc
mov byte [ebp - 0x275], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.004113d0
mov al, byte [ebp - 0x275]
jmp 0x43ef38
mov byte [ebp - 0xd], 0
mov dword [ebp - 0x268], 0
lea eax, [ebp - 0x268]
push eax
lea ecx, [ebp - 0x34]
call fcn.004111d0
push eax
push 0
push 0
mov ecx, dword [ebp - 0x38]
push ecx
lea ecx, [ebp - 0x34]
call fcn.00411210
test eax, eax
jne 0x43ed8c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Read_local_bootx64.efi_fail:_d
push 0x5e
push 0x46c7ec
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0xc
jmp 0x43ef02
mov esi, dword [ebp - 0x268]
xor edi, edi
lea ecx, [ebp - 0x34]
call fcn.004111d0
mov dword [ebp - 0x288], esi
mov dword [ebp - 0x284], edi
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x28c], edx
mov edx, dword [ebp - 0x288]
cmp edx, dword [ebp - 0x290]
jne 0x43edd0
mov eax, dword [ebp - 0x284]
cmp eax, dword [ebp - 0x28c]
je 0x43edf7
push str.realReadSize___bootx64.GetSize__
push str.Read_local_bootx64.efi_fail:_s
push 0x64
push 0x46c8ac
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0xc
jmp 0x43ef02
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x43ee26
mov edx, dword [ebp + 8]
push edx
push str.Exist_bootx64.efi_delete:__s_.
push 0x6a
push 0x46c928
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0xc
lea ecx, [ebp - 0x264]
call fcn.004110c0
push 0
push 0
push 2
push 0
push 3
push 0xc0000000
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x264]
call fcn.00411100
test eax, eax
jne 0x43ee89
lea ecx, [ebp - 0x264]
call fcn.004111f0
push eax
push str.Create_bootefi.efi_bootx64.efi_or_bootmgfw.efi__fail:_d
push 0x70
push 0x46c9d8
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0xc
lea ecx, [ebp - 0x264]
call fcn.004113d0
jmp 0x43ef02
mov dword [ebp - 0x26c], 0
lea ecx, [ebp - 0x26c]
push ecx
mov edx, dword [ebp - 0x268]
push edx
push 0
push 0
mov eax, dword [ebp - 0x38]
push eax
lea ecx, [ebp - 0x264]
call fcn.004112d0
test eax, eax
jne 0x43eeeb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Write_bootefi.efi_bootx64.efi_or_bootmgfw.efi___fail:_d
push 0x76
push 0x46ca88
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0xc
lea ecx, [ebp - 0x264]
call fcn.004113d0
jmp 0x43ef02
mov byte [ebp - 0xd], 1
lea ecx, [ebp - 0x264]
call fcn.004113d0
xor ecx, ecx
jne 0x43ed35
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x27c], edx
mov eax, dword [ebp - 0x27c]
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
add esp, 4
mov cl, byte [ebp - 0xd]
mov byte [ebp - 0x27d], cl
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.004113d0
mov al, byte [ebp - 0x27d]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x3c]
xor ecx, ebp
call fcn.0043ad38
mov esp, ebp
pop ebp
ret