Function at 0x47153a
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f5818
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x428
mov dword [ebp - 0x434], ecx
lea ecx, [ebp - 0x430]
call fcn.004de760
mov dword [ebp - 4], 0
push 0x208
push 0
lea eax, [ebp - 0x218]
push eax
call fcn.004b9030
add esp, 0xc
mov ecx, dword [ebp - 0x434]
add ecx, 0x2d4
push ecx
lea edx, [ebp - 0x218]
push edx
call fcn.004b9290
add esp, 8
push 0x5313b0
lea eax, [ebp - 0x218]
push eax
call fcn.004b92a0
add esp, 8
push 0x208
push 0
lea ecx, [ebp - 0x420]
push ecx
call fcn.004b9030
add esp, 0xc
push 0x10
push 0x53c240
lea edx, [ebp - 0x420]
push edx
call fcn.004b96d0
add esp, 0xc
movsx eax, byte [ebp - 0x420]
test eax, eax
jne 0x47162f
cmp dword [0x53b4b8], 0x979
jne 0x47160f
push 0x5313bc
lea ecx, [ebp - 0x420]
push ecx
call fcn.004b9290
add esp, 8
jmp 0x47162f
cmp dword [0x53b4b8], 0x97a
jne 0x47162f
push 0x5313c4
lea edx, [ebp - 0x420]
push edx
call fcn.004b9290
add esp, 8
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x218]
push ecx
call fcn.004b92a0
add esp, 8
push 0x5313cc
lea edx, [ebp - 0x218]
push edx
call fcn.004b92a0
add esp, 8
cmp dword [0x53c228], 0
je 0x4716f0
push 7
push 0
mov eax, dword [ebp - 0x434]
add eax, 0x1000
push eax
call fcn.004b9030
add esp, 0xc
mov ecx, dword [ebp - 0x434]
add ecx, 0x8ec
push ecx
push 7
mov edx, dword [ebp - 0x434]
add edx, 0x1000
push edx
push 0x53c624
push str.FWTAG
push 0x5313d8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 0x434]
movsx ecx, byte [eax + 0x1000]
test ecx, ecx
je 0x4716f0
mov edx, dword [ebp - 0x434]
add edx, 0x1000
push edx
lea eax, [ebp - 0x218]
push eax
call fcn.004b92a0
add esp, 8
push 0x5313e0
lea ecx, [ebp - 0x218]
push ecx
call fcn.004b92a0
add esp, 8
push 0x208
push 0
lea edx, [ebp - 0x420]
push edx
call fcn.004b9030
add esp, 0xc
mov eax, dword [ebp - 0x434]
add eax, 0x2d4
push eax
lea ecx, [ebp - 0x420]
push ecx
call fcn.004b9290
add esp, 8
push 0x5313e4
lea edx, [ebp - 0x420]
push edx
call fcn.004b92a0
add esp, 8
push 0
push 0x8040
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x430]
call fcn.004de912
test eax, eax
je 0x4717f7
lea ecx, [ebp - 0x430]
call fcn.004dec0c
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x434]
cmp dword [ecx + 0x1294], 0
jne 0x47178b
mov edx, dword [ebp - 0x10]
push edx
call fcn.004b9b1e
add esp, 4
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0x1294], eax
mov edx, dword [ebp - 0x434]
cmp dword [edx + 0x1294], 0
je 0x4717ec
mov eax, dword [ebp - 0x10]
push eax
push 0
mov ecx, dword [ebp - 0x434]
mov edx, dword [ecx + 0x1294]
push edx
call fcn.004b9030
add esp, 0xc
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x434]
mov edx, dword [ecx + 0x1294]
push edx
lea ecx, [ebp - 0x430]
call fcn.004dea2f
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0x1290], eax
mov edx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x1298], eax
lea ecx, [ebp - 0x430]
call fcn.004deb2d
push 0x208
push 0
lea ecx, [ebp - 0x420]
push ecx
call fcn.004b9030
add esp, 0xc
mov edx, dword [ebp - 0x434]
add edx, 0x2d4
push edx
lea eax, [ebp - 0x420]
push eax
call fcn.004b9290
add esp, 8
push str.DriveSettingMP_CIDtable.bin
lea ecx, [ebp - 0x420]
push ecx
call fcn.004b92a0
add esp, 8
push 0
push 0x8040
lea edx, [ebp - 0x420]
push edx
lea ecx, [ebp - 0x430]
call fcn.004de912
test eax, eax
je 0x4718ff
lea ecx, [ebp - 0x430]
call fcn.004dec0c
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x434]
cmp dword [eax + 0x12a0], 0
jne 0x471893
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.004b9b1e
add esp, 4
mov edx, dword [ebp - 0x434]
mov dword [edx + 0x12a0], eax
mov eax, dword [ebp - 0x434]
cmp dword [eax + 0x12a0], 0
je 0x4718f4
mov ecx, dword [ebp - 0x10]
push ecx
push 0
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0x12a0]
push eax
call fcn.004b9030
add esp, 0xc
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0x12a0]
push eax
lea ecx, [ebp - 0x430]
call fcn.004dea2f
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0x129c], eax
mov edx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x12a4], eax
lea ecx, [ebp - 0x430]
call fcn.004deb2d
push 0x208
push 0
lea ecx, [ebp - 0x420]
push ecx
call fcn.004b9030
add esp, 0xc
mov edx, dword [ebp - 0x434]
add edx, 0x2d4
push edx
lea eax, [ebp - 0x420]
push eax
call fcn.004b9290
add esp, 8
push str.DriveSettingMP_IDtable.bin
lea ecx, [ebp - 0x420]
push ecx
call fcn.004b92a0
add esp, 8
push 0
push 0x8040
lea edx, [ebp - 0x420]
push edx
lea ecx, [ebp - 0x430]
call fcn.004de912
test eax, eax
je 0x471a07
lea ecx, [ebp - 0x430]
call fcn.004dec0c
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x434]
cmp dword [eax + 0x12ac], 0
jne 0x47199b
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.004b9b1e
add esp, 4
mov edx, dword [ebp - 0x434]
mov dword [edx + 0x12ac], eax
mov eax, dword [ebp - 0x434]
cmp dword [eax + 0x12ac], 0
je 0x4719fc
mov ecx, dword [ebp - 0x10]
push ecx
push 0
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0x12ac]
push eax
call fcn.004b9030
add esp, 0xc
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0x12ac]
push eax
lea ecx, [ebp - 0x430]
call fcn.004dea2f
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0x12a8], eax
mov edx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x12b0], eax
lea ecx, [ebp - 0x430]
call fcn.004deb2d
push 0x208
push 0
lea ecx, [ebp - 0x420]
push ecx
call fcn.004b9030
add esp, 0xc
mov edx, dword [ebp - 0x434]
add edx, 0x2d4
push edx
lea eax, [ebp - 0x420]
push eax
call fcn.004b9290
add esp, 8
push str.DriveSettingMPINFO_Final.bin
lea ecx, [ebp - 0x420]
push ecx
call fcn.004b92a0
add esp, 8
push 0
push 0x8040
lea edx, [ebp - 0x420]
push edx
lea ecx, [ebp - 0x430]
call fcn.004de912
test eax, eax
je 0x471b0f
lea ecx, [ebp - 0x430]
call fcn.004dec0c
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x434]
cmp dword [eax + 0x12b8], 0
jne 0x471aa3
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.004b9b1e
add esp, 4
mov edx, dword [ebp - 0x434]
mov dword [edx + 0x12b8], eax
mov eax, dword [ebp - 0x434]
cmp dword [eax + 0x12b8], 0
je 0x471b04
mov ecx, dword [ebp - 0x10]
push ecx
push 0
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0x12b8]
push eax
call fcn.004b9030
add esp, 0xc
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0x12b8]
push eax
lea ecx, [ebp - 0x430]
call fcn.004dea2f
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0x12b4], eax
mov edx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x12bc], eax
lea ecx, [ebp - 0x430]
call fcn.004deb2d
push 0x208
push 0
lea ecx, [ebp - 0x420]
push ecx
call fcn.004b9030
add esp, 0xc
mov edx, dword [ebp - 0x434]
add edx, 0x2d4
push edx
lea eax, [ebp - 0x420]
push eax
call fcn.004b9290
add esp, 8
push str.TablesTLCSeedTable1Z.bin
lea ecx, [ebp - 0x420]
push ecx
call fcn.004b92a0
add esp, 8
push 0
push 0x8040
lea edx, [ebp - 0x420]
push edx
lea ecx, [ebp - 0x430]
call fcn.004de912
test eax, eax
je 0x471c17
lea ecx, [ebp - 0x430]
call fcn.004dec0c
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x434]
cmp dword [eax + 0x12c4], 0
jne 0x471bab
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.004b9b1e
add esp, 4
mov edx, dword [ebp - 0x434]
mov dword [edx + 0x12c4], eax
mov eax, dword [ebp - 0x434]
cmp dword [eax + 0x12c4], 0
je 0x471c0c
mov ecx, dword [ebp - 0x10]
push ecx
push 0
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0x12c4]
push eax
call fcn.004b9030
add esp, 0xc
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0x12c4]
push eax
lea ecx, [ebp - 0x430]
call fcn.004dea2f
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0x12c0], eax
mov edx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x12c8], eax
lea ecx, [ebp - 0x430]
call fcn.004deb2d
push 0x208
push 0
lea ecx, [ebp - 0x420]
push ecx
call fcn.004b9030
add esp, 0xc
lea edx, [ebp - 0x218]
push edx
lea eax, [ebp - 0x420]
push eax
call fcn.004b9290
add esp, 8
cmp dword [0x53b4b8], 0x979
jne 0x471c65
push str.BootISP2258.bin
lea ecx, [ebp - 0x420]
push ecx
call fcn.004b92a0
add esp, 8
jmp 0x471c85
cmp dword [0x53b4b8], 0x97a
jne 0x471c85
push str.BootISP2256.bin
lea edx, [ebp - 0x420]
push edx
call fcn.004b92a0
add esp, 8
push 0
push 0x8040
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x430]
call fcn.004de912
test eax, eax
je 0x471d47
lea ecx, [ebp - 0x430]
call fcn.004dec0c
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x434]
cmp dword [ecx + 0x12d0], 0
jne 0x471cdb
mov edx, dword [ebp - 0x10]
push edx
call fcn.004b9b1e
add esp, 4
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0x12d0], eax
mov edx, dword [ebp - 0x434]
cmp dword [edx + 0x12d0], 0
je 0x471d3c
mov eax, dword [ebp - 0x10]
push eax
push 0
mov ecx, dword [ebp - 0x434]
mov edx, dword [ecx + 0x12d0]
push edx
call fcn.004b9030
add esp, 0xc
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x434]
mov edx, dword [ecx + 0x12d0]
push edx
lea ecx, [ebp - 0x430]
call fcn.004dea2f
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0x12cc], eax
mov edx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x12d4], eax
lea ecx, [ebp - 0x430]
call fcn.004deb2d
push 0x208
push 0
lea ecx, [ebp - 0x420]
push ecx
call fcn.004b9030
add esp, 0xc
lea edx, [ebp - 0x218]
push edx
lea eax, [ebp - 0x420]
push eax
call fcn.004b9290
add esp, 8
cmp dword [0x53b4b8], 0x979
jne 0x471d95
push 0x5314a4
lea ecx, [ebp - 0x420]
push ecx
call fcn.004b92a0
add esp, 8
jmp 0x471db5
cmp dword [0x53b4b8], 0x97a
jne 0x471db5
push 0x5314b4
lea edx, [ebp - 0x420]
push edx
call fcn.004b92a0
add esp, 8
push 0
push 0x8040
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x430]
call fcn.004de912
test eax, eax
je 0x471e77
lea ecx, [ebp - 0x430]
call fcn.004dec0c
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x434]
cmp dword [ecx + 0x12dc], 0
jne 0x471e0b
mov edx, dword [ebp - 0x10]
push edx
call fcn.004b9b1e
add esp, 4
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0x12dc], eax
mov edx, dword [ebp - 0x434]
cmp dword [edx + 0x12dc], 0
je 0x471e6c
mov eax, dword [ebp - 0x10]
push eax
push 0
mov ecx, dword [ebp - 0x434]
mov edx, dword [ecx + 0x12dc]
push edx
call fcn.004b9030
add esp, 0xc
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x434]
mov edx, dword [ecx + 0x12dc]
push edx
lea ecx, [ebp - 0x430]
call fcn.004dea2f
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0x12d8], eax
mov edx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x12e0], eax
lea ecx, [ebp - 0x430]
call fcn.004deb2d
push 0x208
push 0
lea ecx, [ebp - 0x420]
push ecx
call fcn.004b9030
add esp, 0xc
lea edx, [ebp - 0x218]
push edx
lea eax, [ebp - 0x420]
push eax
call fcn.004b9290
add esp, 8
movsx ecx, byte [0x53c224]
test ecx, ecx
je 0x471ed6
push 0x53c224
lea edx, [ebp - 0x420]
push edx
call fcn.004b92a0
add esp, 8
push 0x5314c4
lea eax, [ebp - 0x420]
push eax
call fcn.004b92a0
add esp, 8
cmp dword [0x53b4b8], 0x979
jne 0x471f4f
mov ecx, dword [ebp - 0x434]
cmp dword [ecx + 0x1050], 0
je 0x471f07
push 0x5314c8
lea edx, [ebp - 0x420]
push edx
call fcn.004b92a0
add esp, 8
jmp 0x471f4d
push 0x208
push 0
lea eax, [ebp - 0x420]
push eax
call fcn.004b9030
add esp, 0xc
mov ecx, dword [ebp - 0x434]
add ecx, 0x2d4
push ecx
lea edx, [ebp - 0x420]
push edx
call fcn.004b9290
add esp, 8
push str.Linux_FileISP.bin
lea eax, [ebp - 0x420]
push eax
call fcn.004b92a0
add esp, 8
jmp 0x471f94
cmp dword [0x53b4b8], 0x97a
jne 0x471f94
mov ecx, dword [ebp - 0x434]
cmp dword [ecx + 0x1050], 0
je 0x471f80
push 0x5314ec
lea edx, [ebp - 0x420]
push edx
call fcn.004b92a0
add esp, 8
jmp 0x471f94
push 0x5314fc
lea eax, [ebp - 0x420]
push eax
call fcn.004b92a0
add esp, 8
push 0
push 0x8040
lea ecx, [ebp - 0x420]
push ecx
lea ecx, [ebp - 0x430]
call fcn.004de912
test eax, eax
je 0x4720a6
lea ecx, [ebp - 0x430]
call fcn.004dec0c
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x434]
cmp dword [edx + 0x12e8], 0
jne 0x471fec
mov eax, dword [ebp - 0x10]
push eax
call fcn.004b9b1e
add esp, 4
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0x12e8], eax
jmp 0x47203a
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0x12ec]
cmp eax, dword [ebp - 0x10]
je 0x47203a
mov ecx, dword [ebp - 0x434]
mov edx, dword [ecx + 0x12e8]
push edx
call fcn.004b9a0d
add esp, 4
mov eax, dword [ebp - 0x434]
mov dword [eax + 0x12e8], 0
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.004b9b1e
add esp, 4
mov edx, dword [ebp - 0x434]
mov dword [edx + 0x12e8], eax
mov eax, dword [ebp - 0x434]
cmp dword [eax + 0x12e8], 0
je 0x47209b
mov ecx, dword [ebp - 0x10]
push ecx
push 0
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0x12e8]
push eax
call fcn.004b9030
add esp, 0xc
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0x12e8]
push eax
lea ecx, [ebp - 0x430]
call fcn.004dea2f
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0x12e4], eax
mov edx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x12ec], eax
lea ecx, [ebp - 0x430]
call fcn.004deb2d
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x430]
call fcn.004de855
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret