Function at 0x4370c4
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x414
push ebx
push esi
push edi
lea eax, [ebp - 0x314]
push dword [ebp + 8]
mov ebx, ecx
push eax
call fcn.00452490
lea eax, [ebp - 0x314]
push str.NBP.COM
push eax
call fcn.004524a0
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x314]
lea esi, [esi + esi*4]
push eax
shl esi, 5
call fcn.00423b8a
mov ecx, dword [ebx + 0x8c]
add esp, 0x18
mov dword [esi + ecx + 0x9c], eax
mov eax, dword [ebx + 0x8c]
add eax, esi
cmp dword [eax + 0x9c], 0
je 0x4371a5
mov ecx, dword [ebp - 0xc]
push dword [ebp + 8]
mov dword [eax + 0x94], ecx
mov eax, dword [ebx + 0x8c]
add eax, esi
mov edi, 0x1ff
mov ecx, dword [eax + 0x94]
add ecx, edi
shr ecx, 9
mov word [eax + 0x98], cx
lea eax, [ebp - 0x314]
push eax
call fcn.00452490
lea eax, [ebp - 0x314]
push str.EFI.EFI
push eax
call fcn.004524a0
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00423b8a
mov ecx, dword [ebx + 0x8c]
add esp, 0x18
mov dword [esi + ecx + 0x90], eax
mov eax, dword [ebx + 0x8c]
add eax, esi
cmp dword [eax + 0x90], 0
jne 0x4371af
mov eax, 0xc0000001
jmp 0x43739c
mov ecx, dword [ebp - 0xc]
push dword [ebp + 8]
mov dword [eax + 0x88], ecx
mov eax, dword [ebx + 0x8c]
add eax, esi
mov ecx, dword [eax + 0x88]
add ecx, edi
shr ecx, 9
mov word [eax + 0x8c], cx
lea eax, [ebp - 0x314]
push eax
call fcn.00452490
lea eax, [ebp - 0x314]
push str.wfbsver.ini
push eax
call fcn.004524a0
and byte [ebp - 0x114], 0
add esp, 0x10
xor eax, eax
lea edi, [ebp - 0x113]
push 0x3f
pop ecx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x314]
push eax
lea eax, [ebp - 0x114]
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 - 0x113]
and byte [ebp - 7], 0
mov byte [ebp - 8], al
lea eax, [ebp - 8]
push eax
call fcn.00452a87
mov ecx, dword [ebx + 0x8c]
mov byte [esi + ecx], al
mov al, byte [ebp - 0x111]
and byte [ebp - 7], 0
mov byte [ebp - 8], al
lea eax, [ebp - 8]
push eax
call fcn.00452a87
mov ecx, dword [ebx + 0x8c]
mov byte [esi + ecx + 1], al
mov al, byte [ebp - 0x10f]
and byte [ebp - 6], 0
mov byte [ebp - 8], al
mov al, byte [ebp - 0x10e]
mov byte [ebp - 7], al
lea eax, [ebp - 8]
push eax
call fcn.00452a87
mov ecx, dword [ebx + 0x8c]
mov word [esi + ecx + 4], ax
mov al, byte [ebp - 0x10c]
and byte [ebp - 6], 0
mov byte [ebp - 8], al
mov al, byte [ebp - 0x10b]
mov byte [ebp - 7], al
lea eax, [ebp - 8]
push eax
call fcn.00452a87
mov ecx, dword [ebx + 0x8c]
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 - 0x10a]
and byte [ebp - 6], 0
mov byte [ebp - 8], al
mov al, byte [ebp - 0x109]
mov byte [ebp - 7], al
lea eax, [ebp - 8]
push eax
call fcn.00452a87
mov ecx, dword [ebx + 0x8c]
add esp, 0x14
mov byte [esi + ecx + 3], al
mov eax, dword [ebx + 0x8c]
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 - 0x14], eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x414]
mov dword [ebp - 0x10], 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 - 0x414]
push eax
mov eax, dword [ebx + 0x8c]
lea eax, [esi + eax + 8]
push eax
call fcn.00452490
add esp, 0x24
lea eax, [ebp - 0x414]
push dword [ebp - 0x14]
push dword [ebp + 8]
push dword [ebp + 0xc]
push dword [ebp - 0x10]
push edi
push str.EFI_d_d_d_d_d.EFI
push eax
call fcn.00451ef5
lea eax, [ebp - 0x414]
push eax
mov eax, dword [ebx + 0x8c]
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