Function at 0x4076a0
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x4484f1
mov eax, dword fs:[0]
push eax
sub esp, 0x8d4
mov eax, dword [0x457a00]
xor eax, esp
mov dword [esp + 0x8d0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x457a00]
xor eax, esp
push eax
lea eax, [esp + 0x8e8]
mov dword fs:[0], eax
mov eax, dword [esp + 0x8f8]
xor ebp, ebp
mov dword [esp + 0x40], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
push 0x1ff
lea edx, [esp + 0x2a9]
push ebp
mov dword [esp + 0x8f8], ebp
push edx
mov dword [esp + 0x5c], ebp
mov byte [esp + 0x3b], 0
mov byte [esp + 0x2b0], 0
call fcn.00433570
add esp, 0xc
push 0x37f
lea eax, [esp + 0x569]
push ebp
push eax
mov byte [esp + 0x570], 0
call fcn.00433570
add esp, 0xc
push 0x7f
lea ecx, [esp + 0x129]
push ebp
push ecx
mov byte [esp + 0x130], 0
call fcn.00433570
add esp, 0xc
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
xor ecx, ecx
push ecx
lea eax, [esp + 0x20]
push eax
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x50]
push eax
mov byte [esp + 0x900], 1
lea eax, [esp + 0x2c]
mov dword [esp + 0x28], str.MODEM_VER
call fcn.004141c0
mov eax, dword [esp + 0x20]
cmp eax, ebp
mov esi, dword [esp + 0x24]
mov dword [esp + 0x18], str.EFS_VER
je 0x4077cf
mov edx, dword [esp + 0x28]
mov ecx, esi
sub ecx, eax
sub edx, eax
sar ecx, 2
sar edx, 2
cmp ecx, edx
jae 0x4077cf
mov eax, esi
add eax, 4
mov dword [esi], str.EFS_VER
mov dword [esp + 0x24], eax
jmp 0x4077f1
cmp eax, esi
jbe 0x4077d8
call fcn.00430872
push esi
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x50]
push edx
call fcn.004141c0
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
cmp esi, ebp
mov dword [esp + 0x18], str.PC_VER
je 0x407824
mov edx, dword [esp + 0x28]
mov ecx, eax
sub ecx, esi
sub edx, esi
sar ecx, 2
sar edx, 2
cmp ecx, edx
jae 0x407824
mov dword [eax], str.PC_VER
add eax, 4
mov dword [esp + 0x24], eax
jmp 0x40784c
cmp esi, eax
mov edi, eax
jbe 0x40782f
call fcn.00430872
push edi
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x50]
push ecx
lea eax, [esp + 0x2c]
call fcn.004141c0
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
cmp esi, ebp
mov dword [esp + 0x18], 0x44d810
je 0x40787f
mov edx, dword [esp + 0x28]
mov ecx, eax
sub ecx, esi
sub edx, esi
sar ecx, 2
sar edx, 2
cmp ecx, edx
jae 0x40787f
mov dword [eax], 0x44d810
add eax, 4
mov dword [esp + 0x24], eax
jmp 0x4078a7
cmp esi, eax
mov edi, eax
jbe 0x40788a
call fcn.00430872
push edi
lea eax, [esp + 0x20]
push eax
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x2c]
call fcn.004141c0
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
cmp esi, ebp
mov dword [esp + 0x18], str.MCFG_CUST_VER
je 0x4078da
mov edx, dword [esp + 0x28]
mov ecx, eax
sub ecx, esi
sub edx, esi
sar ecx, 2
sar edx, 2
cmp ecx, edx
jae 0x4078da
mov dword [eax], str.MCFG_CUST_VER
add eax, 4
mov dword [esp + 0x24], eax
jmp 0x4078fe
cmp esi, eax
mov edi, eax
jbe 0x4078e5
call fcn.00430872
push edi
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x50]
push edx
call fcn.004141c0
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
cmp esi, ebp
mov dword [esp + 0x18], str.MCFG_BAND_VER
je 0x407931
mov edx, dword [esp + 0x28]
mov ecx, eax
sub ecx, esi
sub edx, esi
sar ecx, 2
sar edx, 2
cmp ecx, edx
jae 0x407931
lea edx, [eax + 4]
mov dword [eax], str.MCFG_BAND_VER
mov dword [esp + 0x24], edx
jmp 0x407959
cmp esi, eax
mov edi, eax
jbe 0x40793c
call fcn.00430872
push edi
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x50]
push ecx
lea eax, [esp + 0x2c]
call fcn.004141c0
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
cmp esi, ebp
mov dword [esp + 0x18], str.MCFG_BAND_HW_VER
je 0x40798e
mov ecx, dword [esp + 0x28]
mov eax, edx
sub eax, esi
sub ecx, esi
sar eax, 2
sar ecx, 2
cmp eax, ecx
jae 0x40798e
mov eax, edx
add eax, 4
mov dword [edx], str.MCFG_BAND_HW_VER
mov dword [esp + 0x24], eax
jmp 0x4079b2
cmp esi, edx
mov edi, edx
jbe 0x407999
call fcn.00430872
push edi
lea eax, [esp + 0x20]
push eax
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x2c]
call fcn.004141c0
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
mov esi, 0x45bb50
mov byte [esp + 0x8f0], 2
call fcn.00401520
mov eax, esi
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x4079d5
mov ecx, dword [str._back.ini]
mov edx, dword [0x44c704]
mov dword [eax], ecx
mov cx, word [0x44c708]
mov dword [eax + 4], edx
mov word [eax + 8], cx
xor esi, esi
lea ecx, [ecx]
mov eax, dword [esp + 0x20]
cmp eax, ebp
je 0x407b6b
mov ecx, dword [esp + 0x24]
sub ecx, eax
sar ecx, 2
cmp esi, ecx
jae 0x407b6b
mov eax, dword [eax + esi*4]
push 0x45bb50
mov edx, esi
push 0x80
shl edx, 7
lea edi, [esp + edx + 0x56c]
push edi
push 0x45029b
push eax
push str.INFO
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [esp + 0x34]
cmp ecx, ebp
mov ebx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], ebx
je 0x407a79
mov ebp, dword [esp + 0x3c]
mov edx, eax
sub edx, ecx
sub ebp, ecx
sar edx, 2
sar ebp, 2
cmp edx, ebp
jae 0x407a79
mov dword [eax], ebx
add eax, 4
mov dword [esp + 0x38], eax
jmp 0x407a99
cmp ecx, eax
mov ebx, eax
jbe 0x407a84
call fcn.00430872
push ebx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x50]
push edx
call fcn.004141c0
push edi
push 0x44c6f8
call fcn.00401000
mov eax, dword [esp + 0x3c]
add esp, 8
test eax, eax
je 0x407abe
mov edx, dword [esp + 0x38]
mov ecx, edx
sub ecx, eax
sar ecx, 2
cmp esi, ecx
jb 0x407acb
call fcn.00430872
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
cmp dword [eax + esi*4], 0
jne 0x407ad9
test esi, esi
je 0x407b61
test eax, eax
je 0x407ae8
mov ecx, edx
sub ecx, eax
sar ecx, 2
cmp esi, ecx
jb 0x407af5
call fcn.00430872
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
cmp dword [eax + esi*4], 0
jne 0x407b0a
cmp esi, 1
jne 0x407b0a
cmp byte [esp + 0x8fc], 0
jne 0x407b61
test eax, eax
je 0x407b19
mov ecx, edx
sub ecx, eax
sar ecx, 2
cmp esi, ecx
jb 0x407b26
call fcn.00430872
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
cmp dword [eax + esi*4], 0
jne 0x407b31
cmp esi, 3
je 0x407b61
test eax, eax
je 0x407b3e
sub edx, eax
sar edx, 2
cmp esi, edx
jb 0x407b47
call fcn.00430872
mov eax, dword [esp + 0x34]
cmp dword [eax + esi*4], 0
je 0x407b61
cmp esi, 4
je 0x407b5c
cmp esi, 5
je 0x407b5c
cmp esi, 6
jne 0x407b61
mov byte [esp + 0x2f], 1
add esi, 1
xor ebp, ebp
jmp 0x407a00
push 0xff
lea eax, [esp + 0x1a9]
push ebp
push eax
mov byte [esp + 0x1b0], 0
call fcn.00433570
add esp, 0xc
push 0xbf
lea ecx, [esp + 0x4a9]
push ebp
push ecx
mov byte [esp + 0x4b0], 0
call fcn.00433570
add esp, 0xc
push 0x3f
lea edx, [esp + 0xa9]
push ebp
push edx
mov byte [esp + 0xb0], 0
call fcn.00433570
add esp, 0xc
push 0x3f
lea eax, [esp + 0x69]
push ebp
push eax
mov byte [esp + 0x70], 0
call fcn.00433570
add esp, 0xc
push 0x3f
lea ecx, [esp + 0xe9]
push ebp
push ecx
mov byte [esp + 0xf0], 0
call fcn.00433570
mov ebp, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x4c]
add esp, 0xc
lea edx, [esp + 0x124]
push 0x80
push edx
mov edx, str.ATBMSWVER
mov ecx, edi
call fcn.0041d2f0
add esp, 8
test eax, eax
push 0xa
setne bl
call ebp
test bl, bl
jne 0x407c9d
mov eax, esi
add esi, 1
cmp eax, 0x14
jl 0x407c00
lea ecx, [esp + 0x124]
push ecx
push 0x44c6f8
call fcn.00401000
add esp, 8
push 0x10
push str.error
push str.Read_BMSWVER_failed_while_checkver_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ebx, [esp + 0x54]
call fcn.00414280
mov eax, dword [esp + 0x20]
xor esi, esi
cmp eax, esi
je 0x407c78
push eax
call fcn.0042504a
add esp, 4
mov eax, dword [esp + 0x34]
cmp eax, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
je 0x407c95
push eax
call fcn.0042504a
add esp, 4
or eax, 0xffffffff
jmp 0x408298
lea edx, [esp + 0x124]
push edx
push 0x44c6f8
call fcn.00401000
add esp, 8
cmp byte [esp + 0x124], 0
lea esi, [esp + 0x124]
je 0x407ce4
cmp byte [esi], 0x20
jne 0x407cdc
lea eax, [esi + 1]
mov edx, esi
sub edx, eax
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x407cd0
add esi, 1
cmp byte [esi], 0
jne 0x407cc3
lea eax, [esp + 0x1a4]
push 0x44d88c
push eax
lea eax, [esp + 0x12c]
call fcn.004074e0
lea esi, [esp + 0x1ac]
mov ecx, esi
push 0x44ce50
push ecx
call fcn.00430890
add esp, 0x10
test eax, eax
je 0x407d36
lea edx, [esp + 0x4a4]
push 0x44ce50
push edx
mov eax, esi
call fcn.004074e0
add esp, 8
lea esi, [esp + 0x4e4]
mov eax, esi
lea edx, [eax + 1]
jmp 0x407d40
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x407d40
sub eax, edx
push eax
lea eax, [esp + 0x568]
push esi
push eax
call fcn.004317b3
add esp, 0xc
test eax, eax
setne cl
mov byte [0x458e70], cl
lea ecx, [esp + 0x1e4]
lea eax, [esp + 0x5e4]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407d96
test dl, dl
je 0x407d92
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407d96
add eax, 2
add ecx, 2
test dl, dl
jne 0x407d76
xor eax, eax
jmp 0x407d9b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne dl
mov byte [0x458e71], dl
lea ecx, [esp + 0x224]
lea eax, [esp + 0x664]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407dd4
test dl, dl
je 0x407dd0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407dd4
add eax, 2
add ecx, 2
test dl, dl
jne 0x407db4
xor eax, eax
jmp 0x407dd9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne al
mov byte [0x458e73], al
xor eax, eax
jmp 0x407df0
add eax, 1
cmp byte [esp + eax + 0x6e4], 0
jne 0x407df0
push eax
lea ecx, [esp + 0x268]
push ecx
lea edx, [esp + 0x6ec]
push edx
call fcn.004317b3
add esp, 0xc
test eax, eax
setne al
push esi
push str.Modem_ver_read___:__s_n
mov byte [0x458e72], al
call fcn.00401000
lea ecx, [esp + 0x56c]
push ecx
push str.Modem_ver_config_:__s_n
call fcn.00401000
lea edx, [esp + 0x1f4]
push edx
push str.EFS_ver_read___:__s_n
call fcn.00401000
lea eax, [esp + 0x5fc]
push eax
push str.EFS_ver_config_:__s_n
call fcn.00401000
lea ecx, [esp + 0x244]
push ecx
push str.PCSuit_ver_read___:__s_n
call fcn.00401000
lea edx, [esp + 0x68c]
push edx
push str.PCSuit_ver_config_:__s_n
call fcn.00401000
lea eax, [esp + 0x294]
push eax
push str.AP_ver_read___:__s_n
call fcn.00401000
lea ecx, [esp + 0x71c]
push ecx
push str.AP_ver_config_:__s_n
call fcn.00401000
mov dl, byte [0x45bf05]
add esp, 0x40
or dl, byte [0x458e70]
mov eax, str.DownloadModem_true_n
jne 0x407ec4
mov eax, str.DownloadModem_false_n
push eax
call fcn.00401000
mov al, byte [0x458e71]
and al, byte [esp + 0x900]
add esp, 4
or al, byte [0x45bf05]
mov eax, str.DownloadEFS_true_n
jne 0x407eeb
mov eax, str.DownloadEFS_false_n
push eax
call fcn.00401000
mov cl, byte [0x45bf05]
add esp, 4
or cl, byte [0x458e73]
mov eax, str.DownloadPCSuit_true_n
jne 0x407f0c
mov eax, str.DownloadPCSuit_false_n
push eax
call fcn.00401000
mov dl, byte [0x45bf05]
add esp, 4
or dl, byte [0x458e72]
mov eax, str.DownloadAP_true_n
jne 0x407f2d
mov eax, str.DownloadAP_false_n
push eax
call fcn.00401000
add esp, 4
cmp byte [esp + 0x2f], 0
je 0x4081d2
mov esi, dword [esp + 0x40]
xor edi, edi
jmp 0x407f50
push 0x200
lea eax, [esp + 0x2a8]
push 0
push eax
call fcn.00433570
add esp, 0xc
lea ecx, [esp + 0x2a4]
push 0x200
push ecx
mov edx, str.ATBMMBNVER
mov ecx, esi
call fcn.0041d2f0
lea edx, [esp + 0x2ac]
push edx
test eax, eax
push str.ATBMMBNVER_return_:_s_n
setne bl
call fcn.00401000
add esp, 0x10
push 0xa
call ebp
test bl, bl
jne 0x407fd2
mov eax, edi
add edi, 1
cmp eax, 0x14
jl 0x407f50
lea ecx, [esp + 0x2a4]
push ecx
push 0x44c6f8
call fcn.00401000
add esp, 8
push 0x10
push str.error
push str.Read_MBNVER_failed_while_checkver_
jmp 0x407c54
lea edx, [esp + 0x2a4]
push str.mcfg_cust_info:
push edx
call fcn.00430890
mov esi, eax
add esp, 8
test esi, esi
je 0x408040
push 0x44d88c
push esi
call fcn.00430890
add esp, 8
test eax, eax
je 0x408040
sub eax, esi
sub eax, 0xf
push eax
add esi, 0xf
lea eax, [esp + 0xa8]
push esi
push eax
call fcn.00430ca0
add esp, 0xc
lea ecx, [esp + 0xa4]
push ecx
push str.cust_ver_read___:__s_n
call fcn.00401000
lea edx, [esp + 0x76c]
push edx
push str.cust_ver_config_:__s_n
call fcn.00401000
add esp, 0x10
lea eax, [esp + 0x2a4]
push str.mcfg_band_info:
push eax
call fcn.00430890
mov esi, eax
add esp, 8
test esi, esi
je 0x4080a8
push 0x44d88c
push esi
call fcn.00430890
add esp, 8
test eax, eax
je 0x4080a8
sub eax, esi
sub eax, 0xf
push eax
add esi, 0xf
lea ecx, [esp + 0x68]
push esi
push ecx
call fcn.00430ca0
add esp, 0xc
lea edx, [esp + 0x7e4]
push edx
push str.band_ver_config_:__s_n
call fcn.00401000
lea eax, [esp + 0x6c]
push eax
push str.band_ver_read___:__s_n
call fcn.00401000
add esp, 0x10
lea ecx, [esp + 0x2a4]
push str.mcfg_band_hw_info:
push ecx
call fcn.00430890
add esp, 8
test eax, eax
je 0x4080fe
push 9
add eax, 0x12
push eax
lea edx, [esp + 0xec]
push edx
call fcn.00430ca0
add esp, 0xc
lea eax, [esp + 0x864]
push eax
push str.band_hw_ver_config_:__s_n
call fcn.00401000
lea ecx, [esp + 0xec]
push ecx
push str.band_hw_ver_read___:__s_n
call fcn.00401000
add esp, 0x10
lea ecx, [esp + 0xa4]
lea eax, [esp + 0x764]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x408130
test dl, dl
je 0x40812c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x408130
add eax, 2
add ecx, 2
test dl, dl
jne 0x408110
xor eax, eax
jmp 0x408135
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4081b2
lea ecx, [esp + 0x64]
lea eax, [esp + 0x7e4]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x408168
test dl, dl
je 0x408164
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x408168
add eax, 2
add ecx, 2
test dl, dl
jne 0x408148
xor eax, eax
jmp 0x40816d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4081b2
lea ecx, [esp + 0xe4]
lea eax, [esp + 0x864]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4081a0
test dl, dl
je 0x40819c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4081a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x408180
xor eax, eax
jmp 0x4081a5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4081b2
xor al, al
mov byte [0x458e74], al
jmp 0x4081b7
mov al, byte [0x458e74]
or al, byte [0x45bf05]
mov eax, str.DownloadMCFG__true_n
jne 0x4081c9
mov eax, str.lsDownloadMCFG_false_n
push eax
call fcn.00401000
add esp, 4
mov esi, dword [esp + 0x40]
xor edi, edi
jmp 0x4081e0
push 0x200
lea edx, [esp + 0x2a8]
push 0
push edx
call fcn.00433570
add esp, 0xc
lea eax, [esp + 0x2a4]
push 0x80
push eax
mov edx, str.ATBMFTM
mov ecx, esi
call fcn.0041d2f0
lea ecx, [esp + 0x2ac]
push ecx
test eax, eax
push str.ATBMFTM_return_:_s_n
setne bl
call fcn.00401000
add esp, 0x10
push 0xa
call ebp
test bl, bl
jne 0x408242
mov edx, edi
add edi, 1
cmp edx, 0x14
jl 0x4081e0
mov eax, dword [esp + 0x4c]
mov byte [eax], bl
lea ecx, [esp + 0x2a4]
push ecx
call fcn.00430dd5
add esp, 4
test eax, eax
mov eax, dword [esp + 0x4c]
sete dl
lea ebx, [esp + 0x54]
mov byte [eax], dl
call fcn.00414280
mov eax, dword [esp + 0x20]
xor esi, esi
cmp eax, esi
je 0x408279
push eax
call fcn.0042504a
add esp, 4
mov eax, dword [esp + 0x34]
cmp eax, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
je 0x408296
push eax
call fcn.0042504a
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x8e8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x8d0]
xor ecx, esp
call fcn.0042fb8f
add esp, 0x8e0
ret