Function at 0x412d30
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x46f326
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x638
push ebx
push esi
mov esi, ecx
push edi
push 0x4b1a08
lea ecx, [esi + 0x2034]
call fcn.0045866d
xor ebx, ebx
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x2e]
mov word [esp + 0x2c], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x2c]
mov ecx, esi
push eax
call fcn.00413000
test eax, eax
je 0x412fe0
mov edx, dword [0x4b1ca8]
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x43e]
mov word [esp + 0x43c], bx
push ebp
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x440]
push ecx
push edx
stosw word es:[edi], ax
call fcn.00430b00
add esp, 8
lea ecx, [esp + 0x14]
call fcn.004372eb
mov eax, dword [0x4ad780]
mov dword [esp + 0x650], ebx
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x440]
lea edx, [esp + 0x10]
push ecx
push str._sBMFileType.ini
push edx
mov byte [esp + 0x65c], 1
call fcn.00451685
mov eax, dword [esp + 0x1c]
add esp, 0xc
lea ecx, [esp + 0x14]
push ebx
push eax
call fcn.004373b0
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x412e2c
mov ecx, dword [esp + 0x10]
push ecx
push 0x10000
push str.MaxReadLength
push str.DownloadNV
call ebp
mov dword [esi + 0x1f3c], eax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x23a]
mov edx, dword [esp + 0x10]
mov word [esp + 0x238], bx
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push edx
lea eax, [esp + 0x23c]
push 0x104
push eax
push 0x4b1a08
push str.ATPort
push str.AT_REBOOT_SETTING
call ebx
lea ecx, [esi + 0x2078]
push 0x2c
lea edx, [esp + 0x23c]
push ecx
push edx
call fcn.00430fe0
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x244]
add esp, 0xc
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x238]
push eax
push 0x104
push ecx
push 0x4b1a08
push str.DLPort
push str.AT_REBOOT_SETTING
call ebx
lea edx, [esi + 0x208c]
push 0x2c
lea eax, [esp + 0x23c]
push edx
push eax
call fcn.00430fe0
add esp, 0xc
lea ecx, [esp + 0x440]
lea edx, [esi + 0x2004]
push ecx
push str._sBMError.ini
push edx
call fcn.00451685
add esp, 0xc
lea eax, [esp + 0x30]
push eax
push 0
push str.CheckCali
push str.Settings
call ebp
lea ecx, [esp + 0x30]
mov dword [esi + 0x1d64], eax
push ecx
push 0
push str.ShowFailedMsgBox
push 0x4a9f94
call ebp
lea edx, [esp + 0x30]
mov dword [esi + 0x2008], eax
push edx
push 0
push str.PowerManageFlag
push 0x4a9f94
call ebp
mov dword [esi + 0x2028], eax
lea eax, [esp + 0x30]
push eax
push 0xa
push str.PowerManageInterval
push 0x4a9f94
call ebp
lea ecx, [esp + 0x30]
mov dword [esi + 0x2030], eax
push ecx
push 1
push str.InDLProcess
push 0x4a9f94
call ebp
lea edx, [esp + 0x30]
mov dword [esi + 0x202c], eax
push edx
push 1
push str.NeedPhaseCheck
push 0x4a90e8
call ebp
mov dword [esi + 0x1d6c], eax
lea eax, [esp + 0x30]
push eax
push 0
push 0x4aaa5c
push str.Report
call ebp
mov dword [esi + 0x1d78], eax
lea eax, [esi + 0x2034]
lea ecx, [esp + 0x30]
push eax
push ecx
lea ecx, [esi + 0x93c]
call fcn.0042f370
lea ecx, [esp + 0x10]
mov esi, eax
mov byte [esp + 0x650], 0
call fcn.004584d6
lea ecx, [esp + 0x14]
mov dword [esp + 0x650], 0xffffffff
call fcn.0043732a
mov eax, esi
pop ebp
mov ecx, dword [esp + 0x644]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x644
ret