Function at 0x5246ae
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x514
mov dword [ebp - 0x514], ecx
mov dword [ebp - 0x40c], 0
mov dword [ebp - 4], 1
lea eax, [ebp - 0x510]
push eax
call fcn.00529440
add esp, 4
push str.UFD_MPPortMapping.cfg
lea ecx, [ebp - 0x510]
push ecx
call fcn.0054bea0
add esp, 8
cmp dword [ebp + 0x10], 0
je 0x5247ed
mov dword [ebp - 0x408], 0
jmp 0x524716
mov edx, dword [ebp - 0x408]
add edx, 1
mov dword [ebp - 0x408], edx
cmp dword [ebp - 0x408], 0x200
jge 0x5247e6
push 0x200
push 0
lea eax, [ebp - 0x404]
push eax
call fcn.0054bf90
add esp, 0xc
mov ecx, dword [ebp - 0x408]
push ecx
push 0x5cadd4
lea edx, [ebp - 0x404]
push edx
call fcn.0054c6e3
add esp, 0xc
lea eax, [ebp - 0x510]
push eax
push 0x68585c
lea ecx, [ebp - 0x404]
push ecx
push 0x5cade0
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 0x200
push 0
lea edx, [ebp - 0x404]
push edx
call fcn.0054bf90
add esp, 0xc
mov eax, dword [ebp - 0x408]
push eax
push 0x5cade8
lea ecx, [ebp - 0x404]
push ecx
call fcn.0054c6e3
add esp, 0xc
mov edx, dword [ebp - 0x408]
push edx
push 0x5cadf4
lea eax, [ebp - 0x204]
push eax
call fcn.0054c6e3
add esp, 0xc
lea ecx, [ebp - 0x510]
push ecx
lea edx, [ebp - 0x204]
push edx
lea eax, [ebp - 0x404]
push eax
push 0x5cadf8
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x524707
xor eax, eax
jmp 0x524d1b
mov dword [ebp - 0x408], 0
jmp 0x524808
mov ecx, dword [ebp - 0x408]
add ecx, 1
mov dword [ebp - 0x408], ecx
cmp dword [ebp - 0x408], 0x200
jge 0x524baf
cmp dword [ebp + 0xc], 0
je 0x524928
push 0x200
push 0
lea edx, [ebp - 0x404]
push edx
call fcn.0054bf90
add esp, 0xc
mov eax, dword [ebp - 0x408]
push eax
push 0x5cae00
lea ecx, [ebp - 0x404]
push ecx
call fcn.0054c6e3
add esp, 0xc
lea edx, [ebp - 0x510]
push edx
push 0x200
mov eax, dword [ebp - 0x408]
imul eax, eax, 0x42c
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x229]
push edx
push 0x685860
lea eax, [ebp - 0x404]
push eax
push 0x5cae0c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x200
push 0
lea ecx, [ebp - 0x404]
push ecx
call fcn.0054bf90
add esp, 0xc
mov edx, dword [ebp - 0x408]
push edx
push 0x5cae14
lea eax, [ebp - 0x404]
push eax
call fcn.0054c6e3
add esp, 0xc
push 0x200
push 0
lea ecx, [ebp - 0x204]
push ecx
call fcn.0054bf90
add esp, 0xc
lea edx, [ebp - 0x510]
push edx
push 0x200
lea eax, [ebp - 0x204]
push eax
push 0x685864
lea ecx, [ebp - 0x404]
push ecx
push 0x5cae20
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x204]
push edx
call fcn.0054c571
add esp, 4
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x42c
mov edx, dword [ebp - 0x514]
mov dword [edx + ecx + 8], eax
jmp 0x524baa
mov eax, dword [ebp - 0x514]
mov ecx, dword [ebp - 0x408]
cmp ecx, dword [eax + 4]
jne 0x524a7c
push 0x200
push 0
lea edx, [ebp - 0x404]
push edx
call fcn.0054bf90
add esp, 0xc
mov eax, dword [ebp - 0x514]
mov ecx, dword [eax + 4]
push ecx
push 0x5cae28
lea edx, [ebp - 0x404]
push edx
call fcn.0054c6e3
add esp, 0xc
lea eax, [ebp - 0x510]
push eax
mov ecx, dword [ebp - 0x514]
mov edx, dword [ecx + 4]
imul edx, edx, 0x42c
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x229]
push ecx
lea edx, [ebp - 0x404]
push edx
push 0x5cae34
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 0x200
push 0
lea eax, [ebp - 0x404]
push eax
call fcn.0054bf90
add esp, 0xc
mov ecx, dword [ebp - 0x514]
mov edx, dword [ecx + 4]
push edx
push 0x5cae3c
lea eax, [ebp - 0x404]
push eax
call fcn.0054c6e3
add esp, 0xc
mov ecx, dword [ebp - 0x514]
mov edx, dword [ecx + 4]
imul edx, edx, 0x42c
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx]
push ecx
push 0x5cae48
lea edx, [ebp - 0x204]
push edx
call fcn.0054c6e3
add esp, 0xc
lea eax, [ebp - 0x510]
push eax
lea ecx, [ebp - 0x204]
push ecx
lea edx, [ebp - 0x404]
push edx
push 0x5cae4c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 0x5cae54
lea eax, [ebp - 0x404]
push eax
call fcn.0054be90
add esp, 8
mov ecx, dword [ebp - 0x514]
mov edx, dword [ecx + 4]
add edx, 1
push edx
push 0x5cae60
lea eax, [ebp - 0x204]
push eax
call fcn.0054c6e3
add esp, 0xc
lea ecx, [ebp - 0x510]
push ecx
lea edx, [ebp - 0x204]
push edx
lea eax, [ebp - 0x404]
push eax
push 0x5cae64
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x524baa
push 0x200
push 0
lea ecx, [ebp - 0x404]
push ecx
call fcn.0054bf90
add esp, 0xc
mov edx, dword [ebp - 0x408]
push edx
push 0x5cae6c
lea eax, [ebp - 0x404]
push eax
call fcn.0054c6e3
add esp, 0xc
lea ecx, [ebp - 0x510]
push ecx
mov edx, dword [ebp - 0x408]
imul edx, edx, 0x42c
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x229]
push ecx
lea edx, [ebp - 0x404]
push edx
push 0x5cae78
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 0x200
push 0
lea eax, [ebp - 0x404]
push eax
call fcn.0054bf90
add esp, 0xc
mov ecx, dword [ebp - 0x408]
push ecx
push 0x5cae80
lea edx, [ebp - 0x404]
push edx
call fcn.0054c6e3
add esp, 0xc
mov eax, dword [ebp - 0x408]
imul eax, eax, 0x42c
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + eax]
push edx
push 0x5cae8c
lea eax, [ebp - 0x204]
push eax
call fcn.0054c6e3
add esp, 0xc
lea ecx, [ebp - 0x510]
push ecx
lea edx, [ebp - 0x204]
push edx
lea eax, [ebp - 0x404]
push eax
push 0x5cae90
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 0x5cae98
lea ecx, [ebp - 0x404]
push ecx
call fcn.0054be90
add esp, 8
mov edx, dword [ebp - 0x514]
mov eax, dword [edx + 4]
add eax, 1
push eax
push 0x5caea4
lea ecx, [ebp - 0x204]
push ecx
call fcn.0054c6e3
add esp, 0xc
lea edx, [ebp - 0x510]
push edx
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x404]
push ecx
push 0x5caea8
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x5247f9
cmp dword [ebp + 0xc], 0
je 0x524d18
mov dword [ebp - 0x408], 0
jmp 0x524bd4
mov edx, dword [ebp - 0x408]
add edx, 1
mov dword [ebp - 0x408], edx
cmp dword [ebp - 0x408], 0x200
jge 0x524c86
push 0x200
push 0
lea eax, [ebp - 0x404]
push eax
call fcn.0054bf90
add esp, 0xc
mov ecx, dword [ebp - 0x408]
push ecx
push str.szHUBPath_d
lea edx, [ebp - 0x404]
push edx
call fcn.0054c6e3
add esp, 0xc
lea eax, [ebp - 0x510]
push eax
push 0x200
mov ecx, dword [ebp - 0x408]
imul ecx, ecx, 0x42c
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0x229]
push eax
push 0x685868
lea ecx, [ebp - 0x404]
push ecx
push 0x5caebc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x68586c
mov edx, dword [ebp - 0x408]
imul edx, edx, 0x42c
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x229]
push ecx
call fcn.0054cf00
add esp, 8
test eax, eax
je 0x524c81
mov dword [ebp - 0x40c], 1
jmp 0x524bc5
cmp dword [ebp - 0x40c], 0
jne 0x524c96
mov dword [ebp - 4], 0
push 0x200
push 0
lea edx, [ebp - 0x404]
push edx
call fcn.0054bf90
add esp, 0xc
push str.DeviceCount
lea eax, [ebp - 0x404]
push eax
call fcn.0054be90
add esp, 8
push 0x200
push 0
lea ecx, [ebp - 0x204]
push ecx
call fcn.0054bf90
add esp, 0xc
lea edx, [ebp - 0x510]
push edx
push 0x200
lea eax, [ebp - 0x204]
push eax
push 0x685870
lea ecx, [ebp - 0x404]
push ecx
push 0x5caed0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x204]
push edx
call fcn.0054c571
add esp, 4
mov ecx, dword [ebp - 0x514]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret 0xc