Function at 0x463357
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x524d04
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.0050df00
mov dword [ebp - 4], 0
push 0x208
push 0
lea eax, [ebp - 0x218]
push eax
call fcn.004e8440
add esp, 0xc
mov ecx, dword [ebp - 0x434]
add ecx, 0x2cc
push ecx
lea edx, [ebp - 0x218]
push edx
call fcn.004e86a0
add esp, 8
push 0x55bf58
lea eax, [ebp - 0x218]
push eax
call fcn.004e86b0
add esp, 8
push 0x208
push 0
lea ecx, [ebp - 0x420]
push ecx
call fcn.004e8440
add esp, 0xc
push 0x10
push 0x56ceec
lea edx, [ebp - 0x420]
push edx
call fcn.004e8ae0
add esp, 0xc
movsx eax, byte [ebp - 0x420]
test eax, eax
jne 0x46344c
cmp dword [0x56c138], 0x979
jne 0x46342c
push 0x55bf64
lea ecx, [ebp - 0x420]
push ecx
call fcn.004e86a0
add esp, 8
jmp 0x46344c
cmp dword [0x56c138], 0x97a
jne 0x46344c
push 0x55bf6c
lea edx, [ebp - 0x420]
push edx
call fcn.004e86a0
add esp, 8
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x218]
push ecx
call fcn.004e86b0
add esp, 8
push 0x55bf74
lea edx, [ebp - 0x218]
push edx
call fcn.004e86b0
add esp, 8
cmp dword [0x56ced8], 0
je 0x46350d
push 7
push 0
mov eax, dword [ebp - 0x434]
add eax, 0xda8
push eax
call fcn.004e8440
add esp, 0xc
mov ecx, dword [ebp - 0x434]
add ecx, 0x8e4
push ecx
push 7
mov edx, dword [ebp - 0x434]
add edx, 0xda8
push edx
push 0x56d2c8
push str.FWTAG
push 0x55bf80
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 0x434]
movsx ecx, byte [eax + 0xda8]
test ecx, ecx
je 0x46350d
mov edx, dword [ebp - 0x434]
add edx, 0xda8
push edx
lea eax, [ebp - 0x218]
push eax
call fcn.004e86b0
add esp, 8
push 0x55bf88
lea ecx, [ebp - 0x218]
push ecx
call fcn.004e86b0
add esp, 8
push 0x208
push 0
lea edx, [ebp - 0x420]
push edx
call fcn.004e8440
add esp, 0xc
mov eax, dword [ebp - 0x434]
add eax, 0x2cc
push eax
lea ecx, [ebp - 0x420]
push ecx
call fcn.004e86a0
add esp, 8
push str.DriveSettingDriveSettingTable.bin
lea edx, [ebp - 0x420]
push edx
call fcn.004e86b0
add esp, 8
push 0
push 0x8040
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x430]
call fcn.0050e0b2
test eax, eax
je 0x463618
lea ecx, [ebp - 0x430]
call fcn.0050e3ac
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x434]
cmp dword [ecx + 0xf68], 0
jne 0x4635a8
mov edx, dword [ebp - 0x10]
push edx
call fcn.004e8f2e
add esp, 4
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0xf68], eax
mov edx, dword [ebp - 0x434]
cmp dword [edx + 0xf68], 0
je 0x46360d
mov eax, dword [ebp - 0x434]
mov dword [eax + 0xf64], 1
mov ecx, dword [ebp - 0x10]
push ecx
push 0
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0xf68]
push eax
call fcn.004e8440
add esp, 0xc
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0xf68]
push eax
lea ecx, [ebp - 0x430]
call fcn.0050e1cf
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0xf6c], edx
lea ecx, [ebp - 0x430]
call fcn.0050e2cd
push 0x208
push 0
lea eax, [ebp - 0x420]
push eax
call fcn.004e8440
add esp, 0xc
mov ecx, dword [ebp - 0x434]
add ecx, 0x2cc
push ecx
lea edx, [ebp - 0x420]
push edx
call fcn.004e86a0
add esp, 8
push str.DriveSettingMP_CIDtable.bin
lea eax, [ebp - 0x420]
push eax
call fcn.004e86b0
add esp, 8
push 0
push 0x8040
lea ecx, [ebp - 0x420]
push ecx
lea ecx, [ebp - 0x430]
call fcn.0050e0b2
test eax, eax
je 0x463724
lea ecx, [ebp - 0x430]
call fcn.0050e3ac
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x434]
cmp dword [edx + 0xf74], 0
jne 0x4636b4
mov eax, dword [ebp - 0x10]
push eax
call fcn.004e8f2e
add esp, 4
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0xf74], eax
mov edx, dword [ebp - 0x434]
cmp dword [edx + 0xf74], 0
je 0x463719
mov eax, dword [ebp - 0x434]
mov dword [eax + 0xf70], 1
mov ecx, dword [ebp - 0x10]
push ecx
push 0
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0xf74]
push eax
call fcn.004e8440
add esp, 0xc
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0xf74]
push eax
lea ecx, [ebp - 0x430]
call fcn.0050e1cf
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0xf78], edx
lea ecx, [ebp - 0x430]
call fcn.0050e2cd
push 0x208
push 0
lea eax, [ebp - 0x420]
push eax
call fcn.004e8440
add esp, 0xc
mov ecx, dword [ebp - 0x434]
add ecx, 0x2cc
push ecx
lea edx, [ebp - 0x420]
push edx
call fcn.004e86a0
add esp, 8
push str.DriveSettingMP_IDtable.bin
lea eax, [ebp - 0x420]
push eax
call fcn.004e86b0
add esp, 8
push 0
push 0x8040
lea ecx, [ebp - 0x420]
push ecx
lea ecx, [ebp - 0x430]
call fcn.0050e0b2
test eax, eax
je 0x463830
lea ecx, [ebp - 0x430]
call fcn.0050e3ac
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x434]
cmp dword [edx + 0xf80], 0
jne 0x4637c0
mov eax, dword [ebp - 0x10]
push eax
call fcn.004e8f2e
add esp, 4
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0xf80], eax
mov edx, dword [ebp - 0x434]
cmp dword [edx + 0xf80], 0
je 0x463825
mov eax, dword [ebp - 0x434]
mov dword [eax + 0xf7c], 1
mov ecx, dword [ebp - 0x10]
push ecx
push 0
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0xf80]
push eax
call fcn.004e8440
add esp, 0xc
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0xf80]
push eax
lea ecx, [ebp - 0x430]
call fcn.0050e1cf
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0xf84], edx
lea ecx, [ebp - 0x430]
call fcn.0050e2cd
push 0x208
push 0
lea eax, [ebp - 0x420]
push eax
call fcn.004e8440
add esp, 0xc
mov ecx, dword [ebp - 0x434]
add ecx, 0x2cc
push ecx
lea edx, [ebp - 0x420]
push edx
call fcn.004e86a0
add esp, 8
push str.DriveSettingMPINFO_Final.bin
lea eax, [ebp - 0x420]
push eax
call fcn.004e86b0
add esp, 8
push 0
push 0x8040
lea ecx, [ebp - 0x420]
push ecx
lea ecx, [ebp - 0x430]
call fcn.0050e0b2
test eax, eax
je 0x46393c
lea ecx, [ebp - 0x430]
call fcn.0050e3ac
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x434]
cmp dword [edx + 0xf8c], 0
jne 0x4638cc
mov eax, dword [ebp - 0x10]
push eax
call fcn.004e8f2e
add esp, 4
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0xf8c], eax
mov edx, dword [ebp - 0x434]
cmp dword [edx + 0xf8c], 0
je 0x463931
mov eax, dword [ebp - 0x434]
mov dword [eax + 0xf88], 1
mov ecx, dword [ebp - 0x10]
push ecx
push 0
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0xf8c]
push eax
call fcn.004e8440
add esp, 0xc
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0xf8c]
push eax
lea ecx, [ebp - 0x430]
call fcn.0050e1cf
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0xf90], edx
lea ecx, [ebp - 0x430]
call fcn.0050e2cd
push 0x208
push 0
lea eax, [ebp - 0x420]
push eax
call fcn.004e8440
add esp, 0xc
mov ecx, dword [ebp - 0x434]
add ecx, 0x2cc
push ecx
lea edx, [ebp - 0x420]
push edx
call fcn.004e86a0
add esp, 8
push str.TablesTLCSeedTable1Z.bin
lea eax, [ebp - 0x420]
push eax
call fcn.004e86b0
add esp, 8
push 0
push 0x8040
lea ecx, [ebp - 0x420]
push ecx
lea ecx, [ebp - 0x430]
call fcn.0050e0b2
test eax, eax
je 0x463a48
lea ecx, [ebp - 0x430]
call fcn.0050e3ac
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x434]
cmp dword [edx + 0xf98], 0
jne 0x4639d8
mov eax, dword [ebp - 0x10]
push eax
call fcn.004e8f2e
add esp, 4
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0xf98], eax
mov edx, dword [ebp - 0x434]
cmp dword [edx + 0xf98], 0
je 0x463a3d
mov eax, dword [ebp - 0x434]
mov dword [eax + 0xf94], 1
mov ecx, dword [ebp - 0x10]
push ecx
push 0
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0xf98]
push eax
call fcn.004e8440
add esp, 0xc
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0xf98]
push eax
lea ecx, [ebp - 0x430]
call fcn.0050e1cf
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0xf9c], edx
lea ecx, [ebp - 0x430]
call fcn.0050e2cd
push 0x208
push 0
lea eax, [ebp - 0x420]
push eax
call fcn.004e8440
add esp, 0xc
lea ecx, [ebp - 0x218]
push ecx
lea edx, [ebp - 0x420]
push edx
call fcn.004e86a0
add esp, 8
cmp dword [0x56c138], 0x979
jne 0x463a96
push str.BootISP2258.bin
lea eax, [ebp - 0x420]
push eax
call fcn.004e86b0
add esp, 8
jmp 0x463ab6
cmp dword [0x56c138], 0x97a
jne 0x463ab6
push str.BootISP2256.bin
lea ecx, [ebp - 0x420]
push ecx
call fcn.004e86b0
add esp, 8
push 0
push 0x8040
lea edx, [ebp - 0x420]
push edx
lea ecx, [ebp - 0x430]
call fcn.0050e0b2
test eax, eax
je 0x463b7c
lea ecx, [ebp - 0x430]
call fcn.0050e3ac
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x434]
cmp dword [eax + 0xfa4], 0
jne 0x463b0c
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.004e8f2e
add esp, 4
mov edx, dword [ebp - 0x434]
mov dword [edx + 0xfa4], eax
mov eax, dword [ebp - 0x434]
cmp dword [eax + 0xfa4], 0
je 0x463b71
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0xfa0], 1
mov edx, dword [ebp - 0x10]
push edx
push 0
mov eax, dword [ebp - 0x434]
mov ecx, dword [eax + 0xfa4]
push ecx
call fcn.004e8440
add esp, 0xc
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x434]
mov ecx, dword [eax + 0xfa4]
push ecx
lea ecx, [ebp - 0x430]
call fcn.0050e1cf
mov edx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x10]
mov dword [edx + 0xfa8], eax
lea ecx, [ebp - 0x430]
call fcn.0050e2cd
push 0x208
push 0
lea ecx, [ebp - 0x420]
push ecx
call fcn.004e8440
add esp, 0xc
lea edx, [ebp - 0x218]
push edx
lea eax, [ebp - 0x420]
push eax
call fcn.004e86a0
add esp, 8
cmp dword [0x56c138], 0x979
jne 0x463bca
push 0x55c04c
lea ecx, [ebp - 0x420]
push ecx
call fcn.004e86b0
add esp, 8
jmp 0x463bea
cmp dword [0x56c138], 0x97a
jne 0x463bea
push 0x55c05c
lea edx, [ebp - 0x420]
push edx
call fcn.004e86b0
add esp, 8
push 0
push 0x8040
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x430]
call fcn.0050e0b2
test eax, eax
je 0x463cb0
lea ecx, [ebp - 0x430]
call fcn.0050e3ac
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x434]
cmp dword [ecx + 0xfb0], 0
jne 0x463c40
mov edx, dword [ebp - 0x10]
push edx
call fcn.004e8f2e
add esp, 4
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0xfb0], eax
mov edx, dword [ebp - 0x434]
cmp dword [edx + 0xfb0], 0
je 0x463ca5
mov eax, dword [ebp - 0x434]
mov dword [eax + 0xfac], 1
mov ecx, dword [ebp - 0x10]
push ecx
push 0
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0xfb0]
push eax
call fcn.004e8440
add esp, 0xc
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0xfb0]
push eax
lea ecx, [ebp - 0x430]
call fcn.0050e1cf
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0xfb4], edx
lea ecx, [ebp - 0x430]
call fcn.0050e2cd
push 0x208
push 0
lea eax, [ebp - 0x420]
push eax
call fcn.004e8440
add esp, 0xc
lea ecx, [ebp - 0x218]
push ecx
lea edx, [ebp - 0x420]
push edx
call fcn.004e86a0
add esp, 8
movsx eax, byte [0x56cecc]
test eax, eax
je 0x463d0f
push 0x56cecc
lea ecx, [ebp - 0x420]
push ecx
call fcn.004e86b0
add esp, 8
push 0x55c06c
lea edx, [ebp - 0x420]
push edx
call fcn.004e86b0
add esp, 8
cmp dword [0x56c138], 0x979
jne 0x463d56
mov eax, dword [ebp - 0x434]
cmp dword [eax + 0xdd8], 0
je 0x463d40
push 0x55c070
lea ecx, [ebp - 0x420]
push ecx
call fcn.004e86b0
add esp, 8
jmp 0x463d54
push 0x55c080
lea edx, [ebp - 0x420]
push edx
call fcn.004e86b0
add esp, 8
jmp 0x463d9b
cmp dword [0x56c138], 0x97a
jne 0x463d9b
mov eax, dword [ebp - 0x434]
cmp dword [eax + 0xdd8], 0
je 0x463d87
push 0x55c08c
lea ecx, [ebp - 0x420]
push ecx
call fcn.004e86b0
add esp, 8
jmp 0x463d9b
push 0x55c09c
lea edx, [ebp - 0x420]
push edx
call fcn.004e86b0
add esp, 8
push 0
push 0x8040
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x430]
call fcn.0050e0b2
test eax, eax
je 0x463eb1
lea ecx, [ebp - 0x430]
call fcn.0050e3ac
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x434]
cmp dword [ecx + 0xfbc], 0
jne 0x463df3
mov edx, dword [ebp - 0x10]
push edx
call fcn.004e8f2e
add esp, 4
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0xfbc], eax
jmp 0x463e41
mov edx, dword [ebp - 0x434]
mov eax, dword [edx + 0xfc0]
cmp eax, dword [ebp - 0x10]
je 0x463e41
mov ecx, dword [ebp - 0x434]
mov edx, dword [ecx + 0xfbc]
push edx
call fcn.004e8e1d
add esp, 4
mov eax, dword [ebp - 0x434]
mov dword [eax + 0xfbc], 0
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.004e8f2e
add esp, 4
mov edx, dword [ebp - 0x434]
mov dword [edx + 0xfbc], eax
mov eax, dword [ebp - 0x434]
cmp dword [eax + 0xfbc], 0
je 0x463ea6
mov ecx, dword [ebp - 0x434]
mov dword [ecx + 0xfb8], 1
mov edx, dword [ebp - 0x10]
push edx
push 0
mov eax, dword [ebp - 0x434]
mov ecx, dword [eax + 0xfbc]
push ecx
call fcn.004e8440
add esp, 0xc
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x434]
mov ecx, dword [eax + 0xfbc]
push ecx
lea ecx, [ebp - 0x430]
call fcn.0050e1cf
mov edx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x10]
mov dword [edx + 0xfc0], eax
lea ecx, [ebp - 0x430]
call fcn.0050e2cd
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x430]
call fcn.0050dff5
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret