Function at 0x43fc90
Capabilities:
Read .ini file
Resolve function by parsing pe exports
Terminate process

Disassembly:
push 0xffffffffffffffff
push 0x45b448
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x49c
push ebx
push ebp
push esi
push edi
mov esi, ecx
lea eax, [esp + 0x4bc]
mov dword [esp + 0x4b4], 0
push eax
call fcn.00441b70
test eax, eax
jne 0x43fceb
lea ecx, [esp + 0x4bc]
mov dword [esp + 0x4b4], 0xffffffff
call sub.MFC42.DLL_CString::CString
xor eax, eax
jmp 0x441b46
push ecx
lea edx, [esp + 0x4c0]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.0045822c
mov ecx, esi
call fcn.00441bf0
test eax, eax
jne 0x43fd28
lea ecx, [esp + 0x4bc]
mov dword [esp + 0x4b4], 0xffffffff
call sub.MFC42.DLL_CString::CString
xor eax, eax
jmp 0x441b46
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x164]
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [esp + 0x38]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x4bc]
lea ecx, [esp + 0x38]
push eax
mov eax, dword [0x497be8]
push 0x104
lea edx, [esp + 0x16c]
push ecx
push edx
push 0x494f74
push eax
call ebp
push 1
call sub.MFC42.DLL_operatornew
push 1
mov edi, eax
call sub.MFC42.DLL_operatornew
mov cl, byte [esp + 0x40]
mov ebx, eax
mov byte [edi], cl
mov dl, byte [esp + 0x41]
mov byte [ebx], dl
mov al, byte [esp + 0x40]
add esp, 8
cmp al, 0x30
mov dword [esp + 0x14], ebx
jl 0x43fdd9
cmp al, 0x31
jg 0x43fdd9
mov al, byte [esp + 0x39]
cmp al, 0x30
jl 0x43fdd9
cmp al, 0x39
jg 0x43fdd9
mov ebx, dword [sym.imp.MSVCRT.dll_atoi]
push edi
call ebx
mov cl, 0xa
imul cl
mov dl, al
mov eax, dword [esp + 0x18]
push eax
mov byte [esp + 0x1b], dl
call ebx
mov cl, byte [esp + 0x1b]
mov ebx, dword [esp + 0x1c]
add esp, 8
add cl, al
mov byte [esi + 0xa], cl
jmp 0x43fde7
mov byte [esi + 0xa], 0xc
mov byte [esp + 0x38], 0x31
mov byte [esp + 0x39], 0x32
mov dl, byte [esp + 0x3b]
mov byte [edi], dl
mov al, byte [esp + 0x3c]
mov byte [ebx], al
mov al, byte [esp + 0x3b]
cmp al, 0x30
jl 0x43fe37
cmp al, 0x31
jg 0x43fe37
mov al, byte [esp + 0x3c]
cmp al, 0x30
jl 0x43fe37
cmp al, 0x39
jg 0x43fe37
mov ebx, dword [sym.imp.MSVCRT.dll_atoi]
push edi
call ebx
mov cl, 0xa
imul cl
mov dl, al
mov eax, dword [esp + 0x18]
push eax
mov byte [esp + 0x1b], dl
call ebx
mov cl, byte [esp + 0x1b]
mov ebx, dword [esp + 0x1c]
add esp, 8
add cl, al
mov byte [esi + 0xb], cl
jmp 0x43fe45
mov byte [esi + 0xb], 1
mov byte [esp + 0x3b], 0x30
mov byte [esp + 0x3c], 0x31
mov dl, byte [esp + 0x3e]
mov byte [edi], dl
mov al, byte [esp + 0x3f]
mov byte [ebx], al
mov al, byte [esp + 0x3e]
cmp al, 0x30
jl 0x43fe95
cmp al, 0x33
jg 0x43fe95
mov al, byte [esp + 0x3f]
cmp al, 0x30
jl 0x43fe95
cmp al, 0x39
jg 0x43fe95
mov ebx, dword [sym.imp.MSVCRT.dll_atoi]
push edi
call ebx
mov cl, 0xa
imul cl
mov dl, al
mov eax, dword [esp + 0x18]
push eax
mov byte [esp + 0x1b], dl
call ebx
mov cl, byte [esp + 0x1b]
mov ebx, dword [esp + 0x1c]
add esp, 8
add cl, al
mov byte [esi + 0xc], cl
jmp 0x43fea3
mov byte [esi + 0xc], 1
mov byte [esp + 0x3e], 0x30
mov byte [esp + 0x3f], 0x31
mov dl, byte [esp + 0x41]
mov byte [edi], dl
mov al, byte [esp + 0x42]
mov byte [ebx], al
mov al, byte [esp + 0x41]
cmp al, 0x30
jl 0x43fef3
cmp al, 0x39
jg 0x43fef3
mov al, byte [esp + 0x42]
cmp al, 0x30
jl 0x43fef3
cmp al, 0x39
jg 0x43fef3
mov ebx, dword [sym.imp.MSVCRT.dll_atoi]
push edi
call ebx
mov cl, 0xa
imul cl
mov dl, al
mov eax, dword [esp + 0x18]
push eax
mov byte [esp + 0x1b], dl
call ebx
mov cl, byte [esp + 0x1b]
mov ebx, dword [esp + 0x1c]
add esp, 8
add cl, al
mov byte [esi + 0xd], cl
jmp 0x43fefc
mov byte [esi + 0xd], 0
mov byte [esp + 0x40], 0
mov al, byte [esp + 0x44]
cmp al, 0x41
jl 0x43ff0d
cmp al, 0x5a
jg 0x43ff0d
mov byte [esi + 0xe], al
jmp 0x43ff26
cmp al, 0x61
jl 0x43ff19
cmp al, 0x7a
jg 0x43ff19
sub al, 0x20
jmp 0x43ff1f
test al, al
je 0x43ff26
mov al, 0x4e
mov byte [esi + 0xe], al
mov byte [esp + 0x44], al
push edi
call sub.MFC42.DLL_operatordelete
push ebx
call sub.MFC42.DLL_operatordelete
add esp, 8
lea edx, [esp + 0x38]
mov ecx, esi
mov byte [esp + 0x45], 0
push edx
call fcn.004581ae
mov eax, dword [esp + 0x4bc]
lea ecx, [esp + 0x38]
push eax
mov eax, dword [0x497be8]
push 0x104
lea edx, [esp + 0x16c]
push ecx
push edx
push str.CusInfo
push eax
call ebp
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esi + 4]
call fcn.004581ae
mov edx, dword [esp + 0x4bc]
mov ecx, dword [0x497be8]
push edx
lea eax, [esp + 0x3c]
push 0x104
push eax
push str.AlcorMP.ini
push str.IniName
push ecx
call ebp
lea ebx, [esi + 0x1c]
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
call fcn.004581ae
mov eax, dword [ebx]
mov edi, 0x4970cc
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x43ffd9
test cl, cl
je 0x43ffd5
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x43ffd9
add eax, 2
add edi, 2
test cl, cl
jne 0x43ffb5
xor eax, eax
jmp 0x43ffde
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x43ffee
push 0x497bec
mov ecx, ebx
call fcn.004581c0
mov eax, dword [esp + 0x4bc]
mov ecx, dword [0x497be8]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push eax
push 0
push str.BUTTON
push ecx
call ebx
mov edx, dword [esp + 0x4bc]
mov byte [esi + 8], al
mov eax, dword [0x497be8]
push edx
push 0
push str.MalabFlag
push eax
call ebx
mov edx, dword [esp + 0x4bc]
xor ecx, ecx
mov dword [esp + 0x38], ecx
mov byte [esi + 9], al
mov dword [esp + 0x3c], ecx
push edx
lea eax, [esp + 0x3c]
push 0xc
mov word [esp + 0x48], cx
mov ecx, dword [0x497be8]
push eax
push 0x4970cc
push str.CustomerSN
push ecx
call ebp
mov al, byte [esp + 0x38]
test al, al
je 0x4400ed
mov al, byte [esp + 0x42]
test al, al
je 0x440084
push 0
push 0
push str.You_have_input_more_than_10_CustomerSN_Numbers_
call sub.MFC42.DLL_AfxMessageBox
push 0
call dword [sym.imp.MSVCRT.dll_exit]
xor cl, cl
mov byte [esp + 0x18], cl
mov edx, dword [esp + 0x18]
and edx, 0xff
mov al, byte [esp + edx + 0x38]
cmp al, 0x30
jl 0x4400a0
cmp al, 0x39
jle 0x4400b0
cmp al, 0x61
jl 0x4400a8
cmp al, 0x7a
jle 0x4400b0
cmp al, 0x41
jl 0x4400d7
cmp al, 0x5a
jg 0x4400d7
inc cl
cmp cl, 0xa
mov byte [esp + 0x18], cl
jb 0x44008a
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
lea eax, [esi + 0xf]
mov dword [esi + 0xf], ecx
mov cx, word [esp + 0x40]
mov dword [eax + 4], edx
mov word [eax + 8], cx
jmp 0x4400fb
push 0
push 0
push str.Please_write_10_effective_CustomerSN_Numbers_
call sub.MFC42.DLL_AfxMessageBox
push 0
call dword [sym.imp.MSVCRT.dll_exit]
lea eax, [esi + 0xf]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
mov word [eax + 8], dx
mov ecx, dword [esp + 0x4bc]
mov edx, dword [0x497be8]
push ecx
push 0
push str.CheckHWP
push edx
call ebx
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x4bc]
mov ecx, dword [0x497be8]
push eax
push 0
push str.WriteProtect
push ecx
call ebx
mov edx, dword [esp + 0x4bc]
mov byte [esi + 0x24], al
mov eax, dword [0x497be8]
push edx
push 0
push str.CheckFAT
push eax
call ebx
mov ecx, dword [esp + 0x4bc]
mov dword [esi + 0x28], eax
mov edx, dword [0x497be8]
push ecx
push 0
push str.NotShowFlashInfo
push edx
call ebx
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x4bc]
mov ecx, dword [0x497be8]
push eax
push 0
push str.Unicode
push ecx
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0x30], eax
mov eax, dword [0x497be8]
push edx
push 0
push str.CheckCAPOverFlow
push eax
call ebx
mov ecx, dword [esp + 0x4bc]
mov dword [esi + 0x34], eax
mov edx, dword [0x497be8]
push ecx
push 0
push str.ControllerType
push edx
call ebx
mov dword [esi + 0x38], eax
mov eax, dword [esp + 0x4bc]
mov ecx, dword [0x497be8]
push eax
push 0
push str.MaxMpTime
push ecx
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0x3c], eax
mov eax, dword [0x497be8]
push edx
push 2
push str.WriteScriptSectorNum
push eax
call ebx
cmp al, 6
mov byte [esi + 0x40], al
jae 0x440200
and eax, 0xff
cmp eax, 1
jge 0x440205
mov eax, 1
jmp 0x440205
mov eax, 6
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0x40], al
push ecx
push 0
push str.FlashIndex
push 0x494e38
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0x44], eax
push edx
lea eax, [esp + 0x3c]
push 0x104
lea ecx, [esp + 0x16c]
push eax
push ecx
push str.FlashName
push 0x494e38
call ebp
lea edx, [esp + 0x38]
lea ecx, [esi + 0x48]
push edx
call fcn.004581ae
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.UnAutoCheck
push 0x494e38
call ebx
mov ecx, dword [esp + 0x4bc]
mov dword [esi + 0x4c], eax
push ecx
push 0
push str.FlashNum
push 0x494e38
call ebx
mov edx, dword [esp + 0x4bc]
mov byte [esi + 0x50], al
push edx
push 0
push str.ChannelNum
push 0x494e38
call ebx
mov byte [esi + 0x51], al
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.RWCycle
push 0x494e38
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0x52], al
push ecx
push 0
push str.Sorting
push str.Other
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0x54], eax
push edx
push 0
push str.SortPercent
push str.Other
call ebx
mov dword [esi + 0x58], eax
mov eax, dword [esp + 0x4bc]
push eax
push 0
push 0x494dec
push str.Other
call ebx
mov ecx, dword [esp + 0x4bc]
mov dword [esi + 0x5c], eax
push ecx
push 0
push str.ComValue88
push str.Other
call ebx
mov edx, dword [esp + 0x4bc]
mov byte [esi + 0x3d0], al
push edx
push 0
push str.ForceTo89L
push str.Other
call ebx
mov dword [esi + 0x60], eax
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.CacheWriteMode
push str.FlashModuleMode
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0x64], al
push ecx
push 0
push str.FirmwareCopyBack
push str.FlashModuleMode
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0x68], eax
push edx
push 0
push str.DisableReadStatus
push str.FlashModuleMode
call ebx
mov dword [esi + 0x6c], eax
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.ForceOneBank
push str.FlashModuleMode
call ebx
mov ecx, dword [esp + 0x4bc]
mov dword [esi + 0x70], eax
push ecx
push 0
push str.ForceOneDie
push str.FlashModuleMode
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0x74], eax
push edx
push 0
push str.ForceEnableCacheWrite
push str.FlashModuleMode
call ebx
mov byte [esi + 0x78], al
mov eax, dword [esp + 0x4bc]
push eax
push 0xff
push str.HomogenousMode
push str.FlashModuleMode
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0x79], al
push ecx
push 0
push str.ForceNoCasual
push str.FlashModuleMode
call ebx
mov edx, dword [esp + 0x4bc]
mov byte [esi + 0x7a], al
push edx
push 0
push str.RecheckEnable
push str.FlashModuleMode
call ebx
mov byte [esi + 0x7b], al
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.AllowPeakEcc
push str.FlashModuleMode
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0x7c], al
push ecx
push 0
push str.AllowAveEcc
push str.FlashModuleMode
call ebx
mov byte [esi + 0x7d], al
mov edx, dword [esp + 0x4bc]
push edx
push 0
push str.FailCntPerPage
push str.FlashModuleMode
call ebx
mov byte [esi + 0x7e], al
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.MaxRetryBlkCnt
push str.FlashModuleMode
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0x7f], al
push ecx
push 0
push str.NeedToMarkBB
push str.FlashModuleMode
call ebx
mov edx, dword [esp + 0x4bc]
mov byte [esi + 0x80], al
push edx
push 0
push str.QuickMode
push str.FlashModuleMode
call ebx
mov byte [esi + 0x81], al
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.MpMode
push str.Scan
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0x82], al
push ecx
push 0
push str.Optimize
push str.Scan
call ebx
mov edx, dword [esp + 0x4bc]
mov byte [esi + 0x83], al
push edx
push 0
push str.ScanMode
push str.Scan
call ebx
mov byte [esi + 0x84], al
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.ScanLevel
push str.Scan
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0x85], al
push ecx
push 0
push 0x494cb0
push str.Scan
call ebx
cmp al, 0xff
mov byte [esi + 0x86], al
je 0x44055e
cmp al, 0xf
jbe 0x440553
mov eax, 0xf
jmp 0x440558
and eax, 0xff
mov byte [esi + 0x86], al
mov edx, dword [esp + 0x4bc]
push edx
push 0
push str.NeedSorting
push str.Scan
call ebx
mov dword [esi + 0x88], eax
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.NeedChangMode
push str.Scan
call ebx
mov ecx, dword [esp + 0x4bc]
lea edx, [esp + 0x38]
push ecx
push 0x104
push edx
push str.50.0
push str.BadBlockPrecent
push str.Scan
mov dword [esi + 0x8c], eax
call ebp
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.MSVCRT.dll_atof]
mov ecx, dword [esp + 0x4c0]
add esp, 4
fstp dword [esi + 0x90]
push ecx
push 1
push str.CurSelCase
push str.Scan
call ebx
mov edx, dword [esp + 0x4bc]
mov word [esi + 0x94], ax
push edx
push 0
push str.FlashCase
push str.Scan
call ebx
mov byte [esi + 0x96], al
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.Pattern
push str.Scan
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0x97], al
push ecx
push 0
push str.NeedRecheck
push str.Scan
call ebx
mov edx, dword [esp + 0x4bc]
mov byte [esi + 0x98], al
push edx
push 0
push str.MinGoodBlockPerZone
push str.Scan
call ebx
mov word [esi + 0x9a], ax
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.SpecialFlash
push str.Scan
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0x9c], al
push ecx
push 0
push str.EnableXZone
push str.Scan
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0xa0], eax
push edx
push 2
push str.SortFixedBlockNum
push str.Scan
call ebx
mov word [esi + 0x420], ax
mov eax, dword [esp + 0x4bc]
push eax
push 1
push str.SortLevel
push str.Scan
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0x422], al
push ecx
push 0
push str.ScanTime
push str.Scan
call ebx
mov edx, dword [esp + 0x4bc]
mov byte [esi + 0xa4], al
push edx
push 0
push str.SkipBlockMode
push str.Scan
call ebx
mov byte [esi + 0x423], al
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.DrivingLevel
push str.Scan
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0x19], al
push ecx
push 0
push str.SuperChoice
push str.Scan
call ebx
mov edx, dword [esp + 0x4bc]
mov byte [esi + 0xa5], al
push edx
push 2
push str.MaxLlfCE
push str.Scan
call ebx
mov byte [esi + 0xa6], al
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.NeedShowFlashMode
push str.Scan
call ebx
mov ecx, dword [esp + 0x4bc]
mov dword [esi + 0xa8], eax
push ecx
push 0x8000
push str.ColorBlock
push str.Scan
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0xac], eax
push edx
push 0x8000
push str.ColorPage
push str.Scan
call ebx
mov dword [esi + 0xb0], eax
mov eax, dword [esp + 0x4bc]
push eax
push 0x8000
push str.ColorSector
push str.Scan
call ebx
mov ecx, dword [esp + 0x4bc]
mov dword [esi + 0xb4], eax
push ecx
push 0
push 0x494b80
push str.Enhance
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0xb8], eax
push edx
push 0
push 0x494cb0
push str.Enhance
call ebx
mov dword [esi + 0xbc], eax
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.ECC_MIN
push str.Enhance
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0xc0], al
push ecx
push 0
push str.ECC_MAX
push str.Enhance
call ebx
mov edx, dword [esp + 0x4bc]
mov byte [esi + 0xc1], al
push edx
push 0
push str.SECTOR_NUM
push str.Enhance
call ebx
mov byte [esi + 0xc2], al
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.BASE_SECTOR
push str.Enhance
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0xc3], al
push ecx
push 0
push str.FixCapMode
push str.Capacity
call ebx
mov dword [esi + 0x1e0], eax
lea edx, [esi + 0x2ac]
lea eax, [esi + 0x1e4]
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x18]
xor ecx, ecx
push edi
lea edx, [esp + 0x26c]
mov dword [esp + 0x26c], ecx
push str.Bin_d
push edx
mov dword [esp + 0x278], ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [esp + 0x4c8]
add esp, 0xc
lea ecx, [esp + 0x268]
push eax
push 0
push ecx
push str.Capacity
call ebx
mov edx, dword [esp + 0x1c]
push edi
lea ecx, [esp + 0x26c]
push str.Fix_d
mov word [edx], ax
xor eax, eax
mov dword [esp + 0x270], eax
push ecx
mov dword [esp + 0x278], eax
call dword [sym.imp.MSVCRT.dll_sprintf]
mov edx, dword [esp + 0x4c8]
add esp, 0xc
lea eax, [esp + 0x268]
push edx
push 0
push eax
push str.Capacity
call ebx
mov ecx, dword [esp + 0x14]
push edi
lea edx, [esp + 0x26c]
push str.Color_d
push edx
mov dword [ecx - 0xa0], eax
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [esp + 0x4c8]
add esp, 0xc
lea ecx, [esp + 0x268]
push eax
push 0
push ecx
push str.Capacity
call ebx
mov edx, dword [esp + 0x14]
push edi
push str.StrBin_d
mov dword [edx - 0x50], eax
lea eax, [esp + 0x270]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
push edi
mov edi, dword [esp + 0x24]
push 0x4929dc
push edi
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x4d4]
mov eax, dword [edi]
add esp, 0x18
lea edx, [esp + 0x38]
push ecx
push 0x104
push edx
push eax
lea eax, [esp + 0x278]
push eax
push str.Capacity
call ebp
lea edi, [esp + 0x38]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4409e3
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.004581ae
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
add eax, 2
add edi, 4
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], eax
dec eax
cmp eax, 0x14
jl 0x4408ae
mov edx, dword [esp + 0x4bc]
push edx
push 0
push str.ENABLE
push str.SPEED_BIN
call ebx
lea ecx, [esi + 0x308]
mov dword [esi + 0x300], eax
xor eax, eax
mov dword [esp + 0x18], ecx
inc eax
lea edx, [esp + 0x268]
push eax
push str.Bin_d
push edx
mov dword [esp + 0x28], eax
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [esp + 0x4c8]
add esp, 0xc
lea ecx, [esp + 0x38]
lea edx, [esp + 0x268]
push eax
push 0x104
push ecx
push 0x4970cc
push edx
push str.SPEED_BIN
call ebp
lea edi, [esp + 0x38]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x440a96
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.MSVCRT.dll_atof]
add esp, 4
jmp 0x440a9c
fld qword [0x4679b0]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
fstp qword [ecx]
add ecx, 8
cmp eax, 0x14
mov dword [esp + 0x18], ecx
jl 0x440a34
mov ecx, dword [esp + 0x4bc]
push ecx
push 0
push str.BurnInShow
push str.BurnIN
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0xc4], eax
push edx
push 0
push str.BurnInEnable
push str.BurnIN
call ebx
mov dword [esi + 0xc8], eax
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.BurnInCycle
push str.BurnIN
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0xcc], al
push ecx
push 0
push str.BurnInPercent
push str.BurnIN
call ebx
mov edx, dword [esp + 0x4bc]
mov byte [esi + 0xcd], al
push edx
push 0
push str.RWTestEnable
push str.BurnIN
call ebx
mov dword [esi + 0xd0], eax
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.BurnInFileEnable
push str.BurnIN
call ebx
mov ecx, dword [esp + 0x4bc]
mov dword [esi + 0xd4], eax
push ecx
lea edx, [esp + 0x3c]
push 0x104
lea eax, [esp + 0x16c]
push edx
push eax
push str.BurnInFilePath
push str.BurnIN
call ebp
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esi + 0xd8]
call fcn.004581ae
mov edx, dword [esp + 0x4bc]
push edx
push 0
push str.UFDMode
push 0x4943a8
call ebx
mov byte [esi + 0xdc], al
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.PartitionNum
push 0x4943a8
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0xdd], al
push ecx
push 0
push str.WriteiStar
push 0x4943a8
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0xe0], eax
push edx
push 0
push str.PartitionRate
push 0x4943a8
call ebx
mov byte [esi + 0xe4], al
mov eax, dword [esp + 0x4bc]
push eax
lea ecx, [esp + 0x3c]
push 0x104
lea edx, [esp + 0x16c]
push ecx
push edx
push str.P0VolumeLabel
push 0x4943a8
call ebp
lea eax, [esp + 0x38]
lea ecx, [esi + 0xe8]
push eax
call fcn.004581ae
mov ecx, dword [esp + 0x4bc]
lea edx, [esp + 0x38]
push ecx
push 0x104
lea eax, [esp + 0x16c]
push edx
push eax
push str.P1VolumeLabel
push 0x4943a8
call ebp
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esi + 0xec]
call fcn.004581ae
mov edx, dword [esp + 0x4bc]
lea eax, [esp + 0x38]
push edx
push 0x104
lea ecx, [esp + 0x16c]
push eax
push ecx
push str.DiskSN0
push 0x4943a8
call ebp
lea edx, [esp + 0x38]
lea ecx, [esi + 0xf0]
push edx
call fcn.004581ae
mov eax, dword [esp + 0x4bc]
lea ecx, [esp + 0x38]
push eax
push 0x104
lea edx, [esp + 0x16c]
push ecx
push edx
push str.DiskSN1
push 0x4943a8
call ebp
lea eax, [esp + 0x38]
lea ecx, [esi + 0xf4]
push eax
call fcn.004581ae
mov ecx, dword [esp + 0x4bc]
lea edx, [esp + 0x38]
push ecx
push 0x104
lea eax, [esp + 0x16c]
push edx
push eax
push str.OriginalityPw
push 0x4943a8
call ebp
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esi + 0xf8]
call fcn.004581ae
mov edx, dword [esp + 0x4bc]
lea eax, [esp + 0x38]
push edx
push 0x104
lea ecx, [esp + 0x16c]
push eax
push ecx
push str.Hint
push 0x4943a8
call ebp
lea edx, [esp + 0x38]
lea ecx, [esi + 0xfc]
push edx
call fcn.004581ae
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.FalseDiskSize
push 0x4943a8
call ebx
mov ecx, dword [esp + 0x4bc]
mov dword [esi + 0x100], eax
push ecx
lea edx, [esp + 0x3c]
push 0x104
lea eax, [esp + 0x16c]
push edx
push eax
push str.ReadOnlyFilePath
push 0x4943a8
call ebp
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esi + 0x104]
call fcn.004581ae
mov edx, dword [esp + 0x4bc]
lea eax, [esp + 0x38]
push edx
push 0x104
lea ecx, [esp + 0x16c]
push eax
push ecx
push str.DiskIMGFilePath
push 0x4943a8
call ebp
lea edi, [esi + 0x108]
lea edx, [esp + 0x38]
push edx
mov ecx, edi
call fcn.004581ae
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.WriteProtect
push 0x4943a8
call ebx
mov ecx, dword [esp + 0x4bc]
mov dword [esi + 0x110], eax
push ecx
push 0
push str.PreCopyFile
push 0x4943a8
call ebx
mov edx, dword [esp + 0x4bc]
mov byte [esi + 0x114], al
push edx
lea eax, [esp + 0x3c]
push 0x104
lea ecx, [esp + 0x16c]
push eax
push ecx
push str.PreCopyFilePath1
push 0x4943a8
call ebp
lea edx, [esp + 0x38]
lea ecx, [esi + 0x118]
push edx
call fcn.004581ae
mov eax, dword [esp + 0x4bc]
lea ecx, [esp + 0x38]
push eax
push 0x104
lea edx, [esp + 0x16c]
push ecx
push edx
push str.PreCopyFilePath2
push 0x4943a8
call ebp
lea eax, [esp + 0x38]
push eax
lea ecx, [esi + 0x11c]
call fcn.004581ae
mov ecx, dword [esp + 0x4bc]
push ecx
push 0
push str.PreCmpFile
push 0x4943a8
call ebx
mov edx, dword [esp + 0x4bc]
mov byte [esi + 0x120], al
push edx
push 0
push str.CDROMEnable
push 0x4943a8
call ebx
mov dword [esi + 0x130], eax
mov eax, dword [esp + 0x4bc]
push eax
lea ecx, [esp + 0x3c]
push 0x104
lea edx, [esp + 0x16c]
push ecx
push edx
push str.CDROMLabel
push 0x4943a8
call ebp
lea eax, [esp + 0x38]
lea ecx, [esi + 0x134]
push eax
call fcn.004581ae
mov ecx, dword [esp + 0x4bc]
push ecx
push 0
push str.FixSecondDiskCap
push 0x4943a8
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0x13c], eax
push edx
push 0
push str.FixReadOnlyCap
push 0x4943a8
call ebx
mov dword [esi + 0x140], eax
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.PureMode
push 0x4943a8
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0x122], al
push ecx
lea edx, [esp + 0x3c]
push 0x104
lea eax, [esp + 0x16c]
push edx
push eax
push str.SCSIRev
push 0x4943a8
call ebp
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esi + 0x124]
call fcn.004581ae
mov edx, dword [esp + 0x4bc]
push edx
push 0
push str.ForceSCSIRev
push 0x4943a8
call ebx
mov dword [esi + 0x128], eax
mov eax, dword [esp + 0x4bc]
push eax
push 2
push str.FatNum
push 0x4943a8
call ebx
mov byte [esi + 0x12c], al
cmp al, 1
je 0x440fb1
cmp al, 2
je 0x440fb1
mov byte [esi + 0x12c], 2
mov ecx, dword [esp + 0x4bc]
push ecx
push 0
push str.NoRemovable
push 0x4943a8
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0x138], eax
push edx
push 0
push str.ReserveUserSize
push str.AutoRun
call ebx
mov dword [esi + 0x148], eax
mov eax, dword [esp + 0x4bc]
push eax
lea ecx, [esp + 0x3c]
push 0x104
lea edx, [esp + 0x16c]
push ecx
push edx
push str.Authorize
push str.AutoRun
call ebp
lea eax, [esp + 0x38]
lea ecx, [esi + 0x144]
push eax
call fcn.004581ae
mov ecx, dword [esp + 0x4bc]
push ecx
push 0
push 0x494908
push str.AutoRun
call ebx
mov edx, dword [esp + 0x4bc]
mov byte [esi + 0x14c], al
push edx
lea eax, [esp + 0x3c]
push 0x104
lea ecx, [esp + 0x16c]
push eax
push ecx
push str.LoaderPath
push str.AutoRun
call ebp
lea edx, [esp + 0x38]
lea ecx, [esi + 0x150]
push edx
call fcn.004581ae
mov eax, dword [esp + 0x4bc]
lea ecx, [esp + 0x38]
push eax
push 0x104
lea edx, [esp + 0x16c]
push ecx
push edx
push str.ReservePath
push str.AutoRun
call ebp
lea eax, [esp + 0x38]
lea ecx, [esi + 0x154]
push eax
call fcn.004581ae
mov ecx, dword [esp + 0x4bc]
push ecx
push 0
push str.IMGorISO
push str.AutoRun
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0x164], eax
push edx
lea eax, [esp + 0x3c]
push 0x104
lea ecx, [esp + 0x16c]
push eax
push ecx
push str.ISOPath
push str.AutoRun
call ebp
lea edx, [esp + 0x38]
push edx
lea ecx, [esi + 0x168]
call fcn.004581ae
mov edi, dword [edi]
lea eax, [esp + 0x36c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edx, dword [esp + 0x4bc]
mov ecx, dword [esp + 0x38c]
push edx
push 0
shr ecx, 9
push str.Win98
push str.AutoRun
mov dword [esi + 0x10c], ecx
call ebx
mov dword [esi + 0x160], eax
mov eax, dword [esp + 0x4bc]
push eax
lea ecx, [esp + 0x3c]
push 0x104
lea edx, [esp + 0x16c]
push ecx
push edx
push 0x4948d0
push str.VendorInfo
call ebp
lea eax, [esp + 0x38]
lea ecx, [esi + 0x16c]
push eax
mov dword [esp + 0x20], ecx
call fcn.004581ae
mov ecx, dword [esp + 0x4bc]
lea edx, [esp + 0x38]
push ecx
push 0x104
lea eax, [esp + 0x16c]
push edx
push eax
push 0x4948c0
push str.VendorInfo
call ebp
lea edx, [esp + 0x38]
lea ecx, [esi + 0x170]
push edx
mov dword [esp + 0x1c], ecx
call fcn.004581ae
mov eax, dword [esp + 0x4bc]
lea ecx, [esp + 0x38]
push eax
push 0x104
lea edx, [esp + 0x16c]
push ecx
push edx
push 0x4948bc
push str.VendorInfo
call ebp
lea eax, [esp + 0x38]
lea ecx, [esi + 0x174]
push eax
call fcn.004581ae
mov ecx, dword [esp + 0x4bc]
lea edx, [esp + 0x38]
push ecx
push 0x104
lea eax, [esp + 0x16c]
push edx
push eax
push str.UsbMfInfo
push str.VendorInfo
call ebp
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esi + 0x178]
call fcn.004581ae
mov edx, dword [esp + 0x4bc]
lea eax, [esp + 0x38]
push edx
push 0x104
push eax
lea ecx, [esp + 0x170]
push ecx
push str.UsbPdInfo
push str.VendorInfo
call ebp
lea edx, [esp + 0x38]
lea ecx, [esi + 0x17c]
push edx
call fcn.004581ae
mov eax, dword [esp + 0x4bc]
lea ecx, [esp + 0x38]
push eax
push 0x104
lea edx, [esp + 0x16c]
push ecx
push edx
push str.ScsiMfInfo
push str.VendorInfo
call ebp
lea eax, [esp + 0x38]
lea ecx, [esi + 0x180]
push eax
call fcn.004581ae
mov ecx, dword [esp + 0x4bc]
lea edx, [esp + 0x38]
push ecx
push 0x104
lea eax, [esp + 0x16c]
push edx
push eax
push str.ScsiPdInfo
push str.VendorInfo
call ebp
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esi + 0x184]
call fcn.004581ae
mov edx, dword [esp + 0x4bc]
push edx
push 0
push str.SnSetMode
push 0x4923e0
call ebx
mov byte [esi + 0x188], al
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.SnLen
push 0x4923e0
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0x189], al
push ecx
lea edx, [esp + 0x3c]
push 0x104
lea eax, [esp + 0x16c]
push edx
push eax
push str.FixSN
push 0x4923e0
call ebp
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esi + 0x18c]
call fcn.004581ae
mov edx, dword [esp + 0x4bc]
lea eax, [esp + 0x38]
push edx
push 0x104
lea ecx, [esp + 0x16c]
push eax
push ecx
push str.SNPrefix
push 0x4923e0
call ebp
lea edx, [esp + 0x38]
lea ecx, [esi + 0x190]
push edx
call fcn.004581ae
mov eax, dword [esp + 0x4bc]
push eax
lea ecx, [esp + 0x3c]
push 0x104
lea edx, [esp + 0x16c]
push ecx
push edx
push str.SNStart
push 0x4923e0
call ebp
mov edi, dword [sym.imp.MSVCRT.dll__atoi64]
lea eax, [esp + 0x38]
push eax
call edi
mov ecx, dword [esp + 0x4c0]
add esp, 4
mov dword [esi + 0x198], eax
mov dword [esi + 0x19c], edx
push ecx
lea edx, [esp + 0x3c]
push 0x104
lea eax, [esp + 0x16c]
push edx
push eax
push str.SNCount
push 0x4923e0
call ebp
lea ecx, [esp + 0x38]
push ecx
call edi
mov dword [esi + 0x1a0], eax
add esp, 4
mov dword [esi + 0x1a4], edx
mov edx, dword [esp + 0x4bc]
push edx
lea eax, [esp + 0x3c]
push 0x104
lea ecx, [esp + 0x16c]
push eax
push ecx
push str.AsTimePrefix
push 0x4923e0
call ebp
lea edx, [esp + 0x38]
lea ecx, [esi + 0x1a8]
push edx
call fcn.004581ae
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.BadBlockSetMode
push str.BadBlock
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0x1b0], al
push ecx
push 0
push str.ExtraResNumOnDyn
push str.BadBlock
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0x1b4], eax
push edx
push 0
push str.FixResNum
push str.BadBlock
call ebx
mov dword [esi + 0x1b8], eax
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.FixCapMin
push str.BadBlock
call ebx
mov ecx, dword [esp + 0x4bc]
mov dword [esi + 0x1bc], eax
push ecx
push 0
push str.FixCapMax
push str.BadBlock
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0x1c0], eax
push edx
push 0
push str.Percent
push str.BadBlock
call ebx
mov dword [esi + 0x1c4], eax
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.FileSystem
push str.BadBlock
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0x1c8], al
push ecx
push 0
push 0x4947e0
push str.BadBlock
call ebx
mov edx, dword [esp + 0x4bc]
mov byte [esi + 0x1c9], al
push edx
push 0
push str.LoadDriver
push str.BadBlock
call ebx
mov dword [esi + 0x1d0], eax
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.HubPort
push str.BadBlock
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0x1d4], al
push ecx
push 0
push str.SWWriteProtect
push str.BadBlock
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0x1d8], eax
push edx
push 0
push str.SectorNumber
push str.BadBlock
call ebx
mov dword [esi + 0x1cc], eax
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.ForceFirstLun
push str.Reader
mov byte [esi + 0x1dc], 0
call ebx
test eax, eax
je 0x441595
mov cl, byte [0x483a10]
mov al, byte [esi + 0x1dc]
or al, cl
mov byte [esi + 0x1dc], al
mov edx, dword [esp + 0x4bc]
push edx
push 0
push str.ExternalPower
push str.Reader
call ebx
test eax, eax
je 0x4415c2
mov al, byte [0x483a11]
mov cl, byte [esi + 0x1dc]
or cl, al
mov byte [esi + 0x1dc], cl
mov ecx, dword [esp + 0x4bc]
push ecx
push 0
push str.UseLed0
push str.Reader
call ebx
test eax, eax
je 0x4415f0
mov dl, byte [0x483a12]
mov al, byte [esi + 0x1dc]
or al, dl
mov byte [esi + 0x1dc], al
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.EnableHWLED
push str.Reader
call ebx
test eax, eax
je 0x44161e
mov cl, byte [0x483a13]
mov al, byte [esi + 0x1dc]
or al, cl
mov byte [esi + 0x1dc], al
mov edx, dword [esp + 0x4bc]
push edx
push 0
push str.EnableReader
push str.Reader
call ebx
test eax, eax
je 0x44164b
mov al, byte [0x483a17]
mov cl, byte [esi + 0x1dc]
or cl, al
mov byte [esi + 0x1dc], cl
mov ecx, dword [esp + 0x4bc]
push ecx
push 0
push str.Enable
push str.SortingTest
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0x3a8], eax
push edx
push 0
push str.BlockCount
push str.SortingTest
call ebx
mov byte [esi + 0x3ac], al
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.Method
push str.SortingTest
call ebx
mov ecx, dword [esp + 0x4bc]
mov byte [esi + 0x3ad], al
push ecx
push 0x64
push str.Percent
push str.SortingTest
call ebx
mov edx, dword [esp + 0x4bc]
mov byte [esi + 0x3ae], al
push edx
lea eax, [esp + 0x3c]
push 0x104
lea ecx, [esp + 0x16c]
push eax
push ecx
push str.PatternPath
push str.SortingTest
call ebp
lea edx, [esp + 0x38]
lea ecx, [esi + 0x3b0]
push edx
call fcn.004581ae
mov al, byte [esi + 0x84]
test al, al
jne 0x44170d
mov al, byte [esi + 0x85]
cmp al, 0x40
je 0x44172a
cmp al, 0x50
je 0x44172a
cmp al, 0x70
je 0x44172a
mov eax, dword [esi + 0x54]
test eax, eax
jne 0x44172a
mov eax, dword [esi + 0x3a8]
test eax, eax
jne 0x44172a
mov dword [esi + 0x3b4], 1
jmp 0x441734
mov dword [esi + 0x3b4], 0
mov ecx, dword [esp + 0x4bc]
xor eax, eax
mov dword [esp + 0x24], eax
push ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
push eax
push str.SpecifyFlash
push str.AUTOMP
mov dword [esp + 0x44], eax
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0x3b8], eax
push edx
push 0xffffffffffffffff
push str.FlashIndex
push str.AUTOMP
call ebx
mov dword [esi + 0x3bc], eax
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.SpecifyFlashID
push str.AUTOMP
call ebx
mov ecx, dword [esp + 0x4bc]
lea edx, [esp + 0x38]
push ecx
push 0x104
push edx
push 0x4970cc
push 0x4930a4
push str.AUTOMP
mov dword [esi + 0x3c0], eax
call ebp
lea eax, [esp + 0x34]
lea ecx, [esp + 0x30]
push eax
lea edx, [esp + 0x30]
push ecx
lea eax, [esp + 0x30]
push edx
lea ecx, [esp + 0x30]
push eax
lea edx, [esp + 0x30]
push ecx
push edx
lea eax, [esp + 0x50]
push str.0x_02X_0x_02X_0x_02X_0x_02X_0x_02X_0x_02X
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0x20
xor eax, eax
lea edi, [esp + 0x20]
mov cl, byte [edi]
add edi, 4
mov byte [esi + eax + 0x3c4], cl
inc eax
cmp eax, 6
jl 0x4417ff
mov edx, dword [esp + 0x4bc]
push edx
push 0
push str.TimeDelay
push str.AUTOMP
call ebx
mov byte [esi + 0x3ca], al
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.ShowDeviceMode
push str.AUTOMP
call ebx
mov ecx, dword [esp + 0x4bc]
mov dword [esi + 0x3cc], eax
push ecx
push 0
push str.SupportAPDisk
push str.AUTOMP
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0x3d4], eax
push edx
push 0
push str.Enable
push str.IGNORE
call ebx
mov dword [esi + 0x3d8], eax
mov eax, dword [esp + 0x4bc]
mov ecx, dword [0x497be8]
push eax
push 0
push str.StartFlag
push ecx
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0x3e0], eax
push edx
push 0
push str.Mode
push 0x4946b8
call ebx
mov dword [esi + 0x3e4], eax
mov eax, dword [esp + 0x4bc]
push eax
lea ecx, [esp + 0x3c]
push 0x104
lea edx, [esp + 0x16c]
push ecx
push edx
push str.APName
push 0x4946b8
call ebp
lea eax, [esp + 0x38]
lea ecx, [esi + 0x3e8]
push eax
call fcn.004581ae
mov ecx, dword [esp + 0x4bc]
push ecx
push 0
push str.CheckRamMarkBlock
push str.Debug
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esi + 0x418], eax
push edx
push 0
push str.WriteLogFile
push str.Debug
call ebx
mov dword [esi + 0x41c], eax
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.BiwinFlag
push str.BIWIN
call ebx
mov ecx, dword [esp + 0x4bc]
mov dword [esi + 0x3ec], eax
push ecx
push 0
push str.512M
push str.BIWIN
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esp + 0x13c], eax
push edx
push 0
push 0x49466c
push str.BIWIN
call ebx
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x4bc]
push eax
push 0
push 0x494668
push str.BIWIN
call ebx
mov ecx, dword [esp + 0x4bc]
mov dword [esp + 0x144], eax
push ecx
push 0
push 0x494664
push str.BIWIN
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esp + 0x148], eax
push edx
push 0
push 0x494660
push str.BIWIN
call ebx
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x4bc]
push eax
push 0
push 0x49465c
push str.BIWIN
call ebx
mov ecx, dword [esp + 0x4bc]
mov dword [esp + 0x150], eax
push ecx
push 0
push 0x494658
push str.BIWIN
call ebx
mov edx, dword [esp + 0x4bc]
mov dword [esp + 0x154], eax
push edx
push 0
push 0x494654
push str.BIWIN
call ebx
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.128G
push str.BIWIN
call ebx
mov ecx, dword [esp + 0x4bc]
mov dword [esp + 0x15c], eax
push ecx
push 0
push str.256G
push str.BIWIN
call ebx
mov dword [esp + 0x160], eax
lea edx, [esp + 0x13c]
lea eax, [esi + 0x3f0]
mov ebp, 0xa
mov ecx, dword [edx]
test ecx, ecx
je 0x441a89
mov edi, dword [eax]
cmp edi, ecx
jae 0x441a87
mov ecx, edi
mov dword [eax], ecx
add edx, 4
add eax, 4
dec ebp
jne 0x441a79
cmp byte [esi + 0x9c], 1
jne 0x441aa3
mov byte [esi + 0x52], 3
mov byte [esi + 0x19], 0x44
mov edx, dword [esp + 0x4bc]
push edx
push 0
push str.ADisk
push 0x4943a8
call ebx
test al, al
mov byte [esi + 0x121], al
je 0x441ad1
mov dword [esi + 0x28], 0
mov byte [esi + 0x1c9], 0
mov eax, dword [esp + 0x4bc]
push eax
push 0
push str.SpeedClass
push str.SpeedClass
call ebx
mov byte [esi + 0x424], al
mov al, byte [esi + 0xdc]
test al, 0x20
je 0x441b2a
mov esi, dword [esp + 0x18]
push str.058f
mov ecx, dword [esi]
push ecx
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x441b2a
push str.0011
mov ecx, esi
call fcn.004581ae
mov ecx, dword [esp + 0x1c]
push str.7788
call fcn.004581ae
lea ecx, [esp + 0x4bc]
mov dword [esp + 0x4b4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 1
mov ecx, dword [esp + 0x4ac]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x4a8
ret 4