Function at 0x422791
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x410
push ebx
push esi
push edi
lea eax, [ebp - 0x310]
push dword [ebp + 8]
mov ebx, ecx
push eax
call fcn.00452490
lea eax, [ebp - 0x310]
push str.NBP.COM
push eax
call fcn.004524a0
mov eax, dword [ebp + 0xc]
lea esi, [eax + eax*8]
lea eax, [ebp - 0x310]
push eax
shl esi, 4
call fcn.00403f2e
mov ecx, dword [ebx + 0x88]
push dword [ebp + 8]
mov dword [esi + ecx + 0x88], eax
lea eax, [ebp - 0x310]
push eax
call fcn.00452490
lea eax, [ebp - 0x310]
push str.EFI.EFI
push eax
call fcn.004524a0
lea eax, [ebp - 0x310]
push eax
call fcn.00403f2e
mov ecx, dword [ebx + 0x88]
push dword [ebp + 8]
mov dword [esi + ecx + 0x8c], eax
lea eax, [ebp - 0x310]
push eax
call fcn.00452490
lea eax, [ebp - 0x310]
push str.wfbsver.ini
push eax
call fcn.004524a0
and byte [ebp - 0x110], 0
add esp, 0x38
xor eax, eax
lea edi, [ebp - 0x10f]
push 0x3f
pop ecx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x310]
push eax
lea eax, [ebp - 0x110]
push 0x100
push eax
push 0
push 0x475690
push str.WFBS
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
xor eax, eax
lea edi, [ebp - 7]
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [ebp - 0x10f]
and byte [ebp - 7], 0
mov byte [ebp - 8], al
lea eax, [ebp - 8]
push eax
call fcn.00452a87
mov ecx, dword [ebx + 0x88]
mov byte [esi + ecx], al
mov al, byte [ebp - 0x10d]
and byte [ebp - 7], 0
mov byte [ebp - 8], al
lea eax, [ebp - 8]
push eax
call fcn.00452a87
mov ecx, dword [ebx + 0x88]
mov byte [esi + ecx + 1], al
mov al, byte [ebp - 0x10b]
and byte [ebp - 6], 0
mov byte [ebp - 8], al
mov al, byte [ebp - 0x10a]
mov byte [ebp - 7], al
lea eax, [ebp - 8]
push eax
call fcn.00452a87
mov ecx, dword [ebx + 0x88]
mov word [esi + ecx + 4], ax
mov al, byte [ebp - 0x108]
and byte [ebp - 6], 0
mov byte [ebp - 8], al
mov al, byte [ebp - 0x107]
mov byte [ebp - 7], al
lea eax, [ebp - 8]
push eax
call fcn.00452a87
mov ecx, dword [ebx + 0x88]
lea edi, [esi + ecx + 2]
mov cl, byte [esi + ecx + 2]
mov dl, cl
xor dl, al
and dl, 0xf
xor dl, cl
mov byte [edi], dl
mov al, byte [ebp - 0x106]
and byte [ebp - 6], 0
mov byte [ebp - 8], al
mov al, byte [ebp - 0x105]
mov byte [ebp - 7], al
lea eax, [ebp - 8]
push eax
call fcn.00452a87
mov ecx, dword [ebx + 0x88]
add esp, 0x14
mov byte [esi + ecx + 3], al
mov eax, dword [ebx + 0x88]
add eax, esi
movzx edx, word [eax + 4]
movzx edi, byte [eax]
movzx ecx, byte [eax + 1]
mov dword [ebp + 0xc], edx
mov dl, byte [eax + 2]
movzx eax, byte [eax + 3]
and edx, 0xf
push eax
push edx
mov dword [ebp - 0x10], eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x410]
mov dword [ebp - 0xc], ecx
mov dword [ebp + 8], edx
push ecx
push edi
push str.NBP_d_d_d_d_d.COM
push eax
call fcn.00451ef5
lea eax, [ebp - 0x410]
push eax
mov eax, dword [ebx + 0x88]
lea eax, [esi + eax + 8]
push eax
call fcn.00452490
add esp, 0x24
lea eax, [ebp - 0x410]
push dword [ebp - 0x10]
push dword [ebp + 8]
push dword [ebp + 0xc]
push dword [ebp - 0xc]
push edi
push str.EFI_d_d_d_d_d.EFI
push eax
call fcn.00451ef5
lea eax, [ebp - 0x410]
push eax
mov eax, dword [ebx + 0x88]
lea eax, [esi + eax + 0x48]
push eax
call fcn.00452490
add esp, 0x24
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 8