Function at 0x51f70e
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x571e0d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x334
mov dword [ebp - 0x340], ecx
lea ecx, [ebp - 0x224]
call fcn.00438b80
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x330]
call fcn.00426870
lea eax, [ebp - 0x218]
push eax
call fcn.0053534c
add esp, 4
lea ecx, [ebp - 0x218]
push ecx
lea edx, [ebp - 0x328]
push edx
call fcn.0054bec0
add esp, 8
push 0x5b4aa0
lea eax, [ebp - 0x328]
push eax
call fcn.0054bed0
add esp, 8
lea ecx, [ebp - 0x218]
push ecx
mov edx, dword [ebp - 0x340]
mov eax, dword [edx + 0x4b4]
push eax
call fcn.004016bb
add esp, 8
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x33c]
call fcn.00438b60
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x330], ecx
mov dword [ebp - 0x32c], edx
push 0x93
lea ecx, [ebp - 0x224]
call fcn.00438ce0
push 0x5dcbd0
push 0
push 0x400
push 0
lea ecx, [ebp - 0x224]
call fcn.00438cb0
push 0
lea ecx, [ebp - 0x224]
call fcn.00438c80
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x114], 0
jmp 0x51f81f
mov eax, dword [ebp - 0x114]
add eax, 1
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x21c]
call fcn.00438c40
cmp dword [ebp - 0x114], eax
jge 0x51f9a1
mov ecx, dword [ebp - 0x114]
push ecx
mov ecx, dword [ebp - 0x21c]
call fcn.00438c60
mov dword [ebp - 0x334], eax
cmp dword [ebp - 0x334], 0
je 0x51f99c
cmp dword [ebp - 0x114], 4
jae 0x51f99c
lea edx, [ebp - 0x218]
push edx
push pe_nt_image_headers32
lea eax, [ebp - 0x110]
push eax
push 0x5dcbd4
mov ecx, dword [ebp - 0x114]
mov edx, dword [ecx*8 + 0x5b3d0c]
push edx
push 0x5b4ab4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x334]
push ecx
push 0
mov edx, dword [ebp - 0x334]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.00438cb0
mov eax, dword [ebp - 0x340]
mov ecx, dword [eax + 0x134]
neg ecx
sbb ecx, ecx
and ecx, 8
push ecx
mov edx, dword [ebp - 0x334]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.00530ad0
cmp dword [ebp - 0x334], 0x800b
jne 0x51f920
lea eax, [ebp - 0x328]
push eax
push 0
push str.EnableMultipleEraseAll
push str.Function
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
jne 0x51f91e
push 3
mov ecx, dword [ebp - 0x334]
push ecx
mov ecx, dword [ebp - 0x21c]
call fcn.00530aa0
jmp 0x51f99c
cmp dword [ebp - 0x334], 0x800c
jne 0x51f95f
lea edx, [ebp - 0x328]
push edx
push 0
push str.EnableCfgPortMapping
push 0x5b4b00
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
jne 0x51f95d
push 3
mov eax, dword [ebp - 0x334]
push eax
mov ecx, dword [ebp - 0x21c]
call fcn.00530aa0
jmp 0x51f99c
cmp dword [ebp - 0x334], 0x800d
jne 0x51f99c
lea ecx, [ebp - 0x328]
push ecx
push 0
push str.EnableMultipleEraseISP
push 0x5b4b20
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
jne 0x51f99c
push 3
mov edx, dword [ebp - 0x334]
push edx
mov ecx, dword [ebp - 0x21c]
call fcn.00530aa0
jmp 0x51f810
push 0
lea ecx, [ebp - 0x224]
call fcn.00438c80
mov dword [ebp - 0x10], eax
push 0
mov eax, dword [ebp - 0x340]
push eax
mov ecx, dword [ebp - 0x32c]
push ecx
mov edx, dword [ebp - 0x330]
push edx
push 0
mov ecx, dword [ebp - 0x10]
call fcn.005624a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x224]
call fcn.00438be0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8