Function at 0x402830
Capabilities:
Read .ini file

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x60
mov edx, dword [esp + 0x64]
push ebx
push esi
push edi
push ebp
mov esi, ecx
push eax
mov ebp, 5
push edx
xor ebx, ebx
mov edi, 0x100
call sub.SV221MN.dll_Ordinal_1956
mov word [esp + 0x40], bp
lea eax, [esp + 0x3c]
push eax
lea ecx, [esi + 0x114]
mov dword [esp + 0x40], ebx
push esi
mov word [esp + 0x4a], di
call sub.SV221MN.dll_Ordinal_2109
lea ecx, [esi + 0x220]
call sub.SV221MN.dll_Ordinal_1700
mov byte [esi + 0x2d4], 1
mov word [esi + 0x2d2], bx
lea ecx, [esp + 0x3c]
mov word [esi + 0x2d0], bx
push ecx
push esi
lea ecx, [esi + 0x2d8]
mov dword [esi + 0x114], 0x410108
mov word [esp + 0x48], 6
mov dword [esp + 0x44], ebx
mov word [esp + 0x4a], di
call sub.SV221MN.dll_Ordinal_2109
lea ecx, [esi + 0x3e4]
call sub.SV221MN.dll_Ordinal_1700
mov byte [esi + 0x498], 1
mov word [esi + 0x496], bx
lea ecx, [esp + 0x3c]
mov word [esi + 0x494], bx
push ecx
push esi
lea ecx, [esi + 0x49c]
mov dword [esi + 0x2d8], 0x410108
mov word [esp + 0x48], 7
mov dword [esp + 0x44], ebx
mov word [esp + 0x4a], di
call sub.SV221MN.dll_Ordinal_2109
lea ecx, [esi + 0x5a8]
call sub.SV221MN.dll_Ordinal_1700
mov word [esi + 0x65a], bx
mov byte [esi + 0x65c], bl
mov word [esi + 0x658], bx
lea ecx, [esp + 0x3c]
mov dword [esi + 0x49c], 0x410108
mov word [esp + 0x40], 1
mov dword [esp + 0x3c], ebx
mov word [esp + 0x42], di
push ecx
push esi
lea ecx, [esi + 0x660]
call sub.SV221MN.dll_Ordinal_2278
mov word [esp + 0x40], 2
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], ebx
mov word [esp + 0x42], di
push ecx
push esi
lea ecx, [esi + 0x76c]
call sub.SV221MN.dll_Ordinal_2278
mov word [esp + 0x40], 3
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], ebx
mov word [esp + 0x42], di
push ecx
push esi
lea ecx, [esi + 0x878]
call sub.SV221MN.dll_Ordinal_2278
mov word [esp + 0x40], 4
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], ebx
mov word [esp + 0x42], di
push ecx
push esi
lea ecx, [esi + 0x984]
call sub.SV221MN.dll_Ordinal_2278
mov word [esp + 0x40], bp
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], ebx
push ecx
mov word [esp + 0x46], di
push esi
lea ecx, [esi + 0xa90]
call sub.SV221MN.dll_Ordinal_2278
mov word [esp + 0x40], 6
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], ebx
mov word [esp + 0x42], di
push ecx
push esi
lea ecx, [esi + 0xb9c]
call sub.SV221MN.dll_Ordinal_2278
mov word [esp + 0x40], 1
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], ebx
mov word [esp + 0x42], di
push ecx
push esi
lea ecx, [esi + 0xca8]
mov ebp, 0xa
call sub.SV221MN.dll_Ordinal_2109
push 0x10
lea ecx, [esi + 0xdb4]
push 0x10
push 0x400
call sub.TL221MN.dll_Ordinal_225
mov word [esi + 0xdda], 0x1d6
mov word [esi + 0xdd6], bp
mov word [esi + 0xdd8], bx
mov word [esi + 0xddc], 0x165
push 1
lea ecx, [esi + 0xca8]
mov dword [esi + 0xca8], 0x410088
call fcn.00405280
lea eax, [esp + 0x3c]
lea ecx, [esi + 0xde0]
mov word [esp + 0x40], 2
mov dword [esp + 0x3c], ebx
push eax
mov word [esp + 0x46], di
push esi
call sub.SV221MN.dll_Ordinal_2109
push 0x10
lea ecx, [esi + 0xeec]
push 0x10
push 0x400
call sub.TL221MN.dll_Ordinal_225
mov dword [esi + 0xde0], 0x410088
mov word [esi + 0xf0e], bp
push ebx
mov word [esi + 0xf10], bx
lea ecx, [esi + 0xde0]
mov word [esi + 0xf12], 0x1d6
mov word [esi + 0xf14], 0x165
call fcn.00405280
mov word [esp + 0x40], 3
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], ebx
mov word [esp + 0x42], di
push ecx
push esi
lea ecx, [esi + 0xf18]
call sub.SV221MN.dll_Ordinal_2109
push 0x10
lea ecx, [esi + 0x1024]
push 0x10
push 0x400
call sub.TL221MN.dll_Ordinal_225
mov dword [esi + 0xf18], 0x410088
mov word [esi + 0x1046], bp
push ebx
mov word [esi + 0x1048], bx
lea ecx, [esi + 0xf18]
mov word [esi + 0x104a], 0x1d6
mov word [esi + 0x104c], 0x165
call fcn.00405280
mov word [esp + 0x40], 4
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], ebx
mov word [esp + 0x42], di
push ecx
push esi
lea ecx, [esi + 0x1050]
call sub.SV221MN.dll_Ordinal_2109
push 0x10
lea ecx, [esi + 0x115c]
push 0x10
push 0x400
call sub.TL221MN.dll_Ordinal_225
mov word [esi + 0x117e], bp
mov word [esi + 0x1180], bx
push ebx
lea ecx, [esi + 0x1050]
mov dword [esi + 0x1050], 0x410088
mov word [esi + 0x1182], 0x1d6
mov word [esi + 0x1184], 0x165
call fcn.00405280
mov word [esp + 0x40], 1
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], ebx
mov word [esp + 0x42], di
push ecx
push esi
lea ecx, [esi + 0x1188]
call sub.SV221MN.dll_Ordinal_2131
lea ecx, [esi + 4]
mov dword [esi], 0x4100c0
mov byte [esi + 0x129c], 1
push ecx
call sub.SV221MN.dll_Ordinal_46
mov ecx, eax
call sub.SV221MN.dll_Ordinal_54
lea ecx, [esp + 0x3c]
push ebx
mov word [esp + 0x40], 0x282
mov word [esp + 0x42], 0x12a
push ecx
lea ecx, [esi + 0x220]
call sub.SV221MN.dll_Ordinal_1706
mov word [esp + 0x36], bx
lea ecx, [esp + 0x3c]
mov word [esp + 0x34], bx
push ecx
mov word [esp + 0x44], 0x3e8
lea ecx, [esp + 0x3c]
mov dword [esp + 0x40], ebx
mov word [esp + 0x46], di
call sub.SV221MN.dll_Ordinal_1773
lea ecx, [esp + 0x34]
push eax
push ecx
lea ecx, [esi + 0x220]
call sub.SV221MN.dll_Ordinal_1646
lea ecx, [esp + 0x38]
call sub.SV221MN.dll_Ordinal_1775
lea ecx, [esp + 0x3c]
push ebx
mov word [esi + 0x2d0], 0x141
mov word [esi + 0x2d2], 0x12a
mov word [esp + 0x40], 0xb6
mov word [esp + 0x42], 0x62
push ecx
lea ecx, [esi + 0x3e4]
call sub.SV221MN.dll_Ordinal_1706
mov word [esp + 0x36], bx
lea ecx, [esp + 0x3c]
mov word [esp + 0x34], bx
push ecx
mov word [esp + 0x44], 0x45b
mov dword [esp + 0x40], ebx
mov word [esp + 0x46], di
lea ecx, [esp + 0x3c]
call sub.SV221MN.dll_Ordinal_1773
lea ecx, [esp + 0x34]
push eax
push ecx
lea ecx, [esi + 0x3e4]
call sub.SV221MN.dll_Ordinal_1646
lea ecx, [esp + 0x38]
call sub.SV221MN.dll_Ordinal_1775
mov word [esi + 0x494], 0x5b
mov word [esi + 0x496], 0x62
mov word [esp + 0x40], 0x45c
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], ebx
mov word [esp + 0x42], di
push ecx
lea ecx, [esp + 0x18]
call sub.SV221MN.dll_Ordinal_1773
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x18]
call sub.SV221MN.dll_Ordinal_1783
mov cx, word [eax]
push ebx
mov word [esi + 0x658], cx
lea edx, [esi + 0x658]
mov ax, word [eax + 2]
push edx
mov word [esi + 0x65a], ax
lea ebp, [esi + 0x5a8]
mov ecx, ebp
call sub.SV221MN.dll_Ordinal_1706
mov word [esp + 0x3e], bx
lea ecx, [esp + 0x14]
mov word [esp + 0x3c], bx
push ecx
lea ebx, [esp + 0x40]
lea ecx, [esi + 0x5a8]
push ebx
call sub.SV221MN.dll_Ordinal_1646
mov eax, dword [esp + 0x80]
lea ecx, [esi + 0x76c]
push eax
call sub.SV221MN.dll_Ordinal_1884
mov ecx, dword [esp + 0x7c]
push ecx
lea ecx, [esi + 0x878]
call sub.SV221MN.dll_Ordinal_1884
lea ecx, [esp + 0x10]
call sub.TL221MN.dll_Ordinal_136
lea eax, [esp + 0x4c]
push 0x18
push 1
push str._u__03u
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [esp + 0x48]
add esp, 0x10
push str._kb_memory_free_n_n
call sub.TL221MN.dll_Ordinal_134
mov edi, eax
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x3c]
push eax
call sub.TL221MN.dll_Ordinal_134
lea ecx, [esp + 0x30]
push eax
call sub.TL221MN.dll_Ordinal_125
lea ecx, [esp + 0x30]
push edi
call sub.TL221MN.dll_Ordinal_148
lea eax, [esp + 0x30]
lea ecx, [esp + 0x34]
push eax
call sub.TL221MN.dll_Ordinal_125
lea ecx, [esp + 0x30]
call sub.TL221MN.dll_Ordinal_137
lea eax, [esp + 0x34]
lea ecx, [esp + 0x10]
push eax
call sub.TL221MN.dll_Ordinal_138
lea ecx, [esp + 0x34]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x3c]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x38]
call sub.TL221MN.dll_Ordinal_137
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov bx, ax
push str.MS_Windows
lea ecx, [esp + 0x40]
call sub.TL221MN.dll_Ordinal_134
lea ecx, [esp + 0x10]
push eax
call sub.TL221MN.dll_Ordinal_148
lea ecx, [esp + 0x3c]
call sub.TL221MN.dll_Ordinal_137
cmp bh, 0x5f
jae 0x402e9a
lea ecx, [esp + 0x38]
push 0x411124
call sub.TL221MN.dll_Ordinal_134
mov edi, eax
lea ecx, [esp + 0x3c]
mov al, bl
and eax, 0xffff00ff
push eax
call sub.TL221MN.dll_Ordinal_129
lea ecx, [esp + 0x30]
push eax
call sub.TL221MN.dll_Ordinal_125
lea ecx, [esp + 0x30]
push edi
call sub.TL221MN.dll_Ordinal_148
lea eax, [esp + 0x30]
lea ecx, [esp + 0x34]
push eax
call sub.TL221MN.dll_Ordinal_125
lea ecx, [esp + 0x30]
call sub.TL221MN.dll_Ordinal_137
lea eax, [esp + 0x34]
lea ecx, [esp + 0x10]
push eax
call sub.TL221MN.dll_Ordinal_148
lea ecx, [esp + 0x34]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x3c]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x38]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x38]
push 0x411120
call sub.TL221MN.dll_Ordinal_134
mov edi, eax
lea ecx, [esp + 0x3c]
mov al, bh
and eax, 0xffff00ff
push eax
call sub.TL221MN.dll_Ordinal_129
lea ecx, [esp + 0x30]
push eax
call sub.TL221MN.dll_Ordinal_125
lea ecx, [esp + 0x30]
push edi
call sub.TL221MN.dll_Ordinal_148
lea eax, [esp + 0x30]
lea ecx, [esp + 0x34]
push eax
call sub.TL221MN.dll_Ordinal_125
lea ecx, [esp + 0x30]
call sub.TL221MN.dll_Ordinal_137
lea eax, [esp + 0x34]
lea ecx, [esp + 0x10]
push eax
call sub.TL221MN.dll_Ordinal_148
lea ecx, [esp + 0x34]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x3c]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x38]
call sub.TL221MN.dll_Ordinal_137
lea eax, [esp + 0x4c]
push str.system.ini
push 0x24
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push eax
push 0x411110
push str.display.drv
push str.boot
call ebp
lea ecx, [esp + 0x4c]
push ecx
call fcn.0040e3c8
lea eax, [esp + 0x50]
lea ecx, [esp + 0x3c]
add esp, 4
push eax
call sub.TL221MN.dll_Ordinal_134
mov edi, eax
push str.Display_driver__
lea ecx, [esp + 0x40]
call sub.TL221MN.dll_Ordinal_134
lea ecx, [esp + 0x28]
push eax
call sub.TL221MN.dll_Ordinal_125
lea ecx, [esp + 0x28]
push edi
call sub.TL221MN.dll_Ordinal_148
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x30]
call sub.TL221MN.dll_Ordinal_125
lea ecx, [esp + 0x28]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x34]
push 0x411120
call sub.TL221MN.dll_Ordinal_134
mov ebx, eax
lea ecx, [esp + 0x24]
lea eax, [esp + 0x2c]
push eax
call sub.TL221MN.dll_Ordinal_125
lea ecx, [esp + 0x24]
push ebx
call sub.TL221MN.dll_Ordinal_148
lea eax, [esp + 0x24]
lea ecx, [esp + 0x30]
push eax
call sub.TL221MN.dll_Ordinal_125
lea ecx, [esp + 0x24]
call sub.TL221MN.dll_Ordinal_137
lea eax, [esp + 0x30]
lea ecx, [esp + 0x10]
push eax
call sub.TL221MN.dll_Ordinal_148
lea ecx, [esp + 0x30]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x2c]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x3c]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x38]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x34]
call sub.TL221MN.dll_Ordinal_137
push esi
call sub.SV221MN.dll_Ordinal_1457
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
push 0x4110d4
lea ecx, [esp + 0x3c]
call sub.TL221MN.dll_Ordinal_134
mov ebp, eax
push 8
push edi
mov ebx, dword [sym.imp.GDI32.dll_GetDeviceCaps]
call ebx
lea ecx, [esp + 0x3c]
push eax
call sub.TL221MN.dll_Ordinal_130
lea ecx, [esp + 0x20]
push eax
call sub.TL221MN.dll_Ordinal_125
lea ecx, [esp + 0x20]
push ebp
call sub.TL221MN.dll_Ordinal_148
lea eax, [esp + 0x20]
lea ecx, [esp + 0x24]
push eax
call sub.TL221MN.dll_Ordinal_125
lea ecx, [esp + 0x20]
call sub.TL221MN.dll_Ordinal_137
push 0xa
push edi
call ebx
lea ecx, [esp + 0x34]
push eax
call sub.TL221MN.dll_Ordinal_130
mov ebp, eax
lea ecx, [esp + 0x1c]
lea eax, [esp + 0x24]
push eax
call sub.TL221MN.dll_Ordinal_125
lea ecx, [esp + 0x1c]
push ebp
call sub.TL221MN.dll_Ordinal_148
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x28]
push eax
call sub.TL221MN.dll_Ordinal_125
lea ecx, [esp + 0x1c]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x30]
push str._Resolution_n_n
call sub.TL221MN.dll_Ordinal_134
mov ebp, eax
lea ecx, [esp + 0x18]
lea eax, [esp + 0x28]
push eax
call sub.TL221MN.dll_Ordinal_125
lea ecx, [esp + 0x18]
push ebp
call sub.TL221MN.dll_Ordinal_148
lea eax, [esp + 0x18]
lea ecx, [esp + 0x2c]
push eax
call sub.TL221MN.dll_Ordinal_125
lea ecx, [esp + 0x18]
call sub.TL221MN.dll_Ordinal_137
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x10]
push eax
call sub.TL221MN.dll_Ordinal_148
lea ecx, [esp + 0x2c]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x28]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x24]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x3c]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x38]
mov ebp, 2
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x34]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x30]
call sub.TL221MN.dll_Ordinal_137
push 0xc
push edi
call ebx
cmp ax, bp
jb 0x403144
dec ax
add ebp, ebp
dec ax
jne 0x40313e
push 0x18
push edi
call ebx
cmp eax, ebp
jbe 0x403154
push 0x18
push edi
call ebx
mov ebp, eax
lea ecx, [esp + 0x38]
push str._Colors
call sub.TL221MN.dll_Ordinal_134
mov edi, eax
push ebp
lea ecx, [esp + 0x40]
call sub.TL221MN.dll_Ordinal_129
lea ecx, [esp + 0x30]
push eax
call sub.TL221MN.dll_Ordinal_125
lea ecx, [esp + 0x30]
push edi
call sub.TL221MN.dll_Ordinal_148
lea eax, [esp + 0x30]
lea ecx, [esp + 0x34]
push eax
call sub.TL221MN.dll_Ordinal_125
lea ecx, [esp + 0x30]
call sub.TL221MN.dll_Ordinal_137
lea eax, [esp + 0x34]
lea ecx, [esp + 0x10]
push eax
call sub.TL221MN.dll_Ordinal_148
lea ecx, [esp + 0x34]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x3c]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x38]
call sub.TL221MN.dll_Ordinal_137
lea eax, [esp + 0x10]
lea ecx, [esi + 0x660]
push eax
call sub.SV221MN.dll_Ordinal_1884
lea ecx, [esi + 0x49c]
call sub.SV221MN.dll_Ordinal_1851
lea ecx, [esi + 0x49c]
push ecx
lea ecx, [esi + 0xdb4]
call sub.TL221MN.dll_Ordinal_240
lea ecx, [esi + 0x114]
call sub.SV221MN.dll_Ordinal_1851
lea ecx, [esi + 0x114]
push ecx
lea ecx, [esi + 0xeec]
call sub.TL221MN.dll_Ordinal_240
lea ecx, [esi + 0x2d8]
call sub.SV221MN.dll_Ordinal_1851
lea ecx, [esi + 0x2d8]
push ecx
lea ecx, [esi + 0x1024]
call sub.TL221MN.dll_Ordinal_240
lea ecx, [esi + 0x984]
call sub.SV221MN.dll_Ordinal_1851
lea ecx, [esi + 0x984]
push ecx
lea ecx, [esi + 0x1024]
call sub.TL221MN.dll_Ordinal_240
lea ecx, [esi + 0xa90]
call sub.SV221MN.dll_Ordinal_1851
lea ecx, [esi + 0xa90]
push ecx
lea ecx, [esi + 0x1024]
call sub.TL221MN.dll_Ordinal_240
lea ecx, [esi + 0xb9c]
call sub.SV221MN.dll_Ordinal_1851
lea ecx, [esi + 0xb9c]
push ecx
lea ecx, [esi + 0x1024]
call sub.TL221MN.dll_Ordinal_240
lea ecx, [esi + 0x660]
call sub.SV221MN.dll_Ordinal_1851
lea ecx, [esi + 0x660]
push ecx
lea ecx, [esi + 0x115c]
call sub.TL221MN.dll_Ordinal_240
push 1
lea ecx, [esi + 0xca8]
call fcn.00405480
lea ecx, [esp + 0x10]
call sub.TL221MN.dll_Ordinal_137
lea ecx, [esp + 0x14]
call sub.SV221MN.dll_Ordinal_1775
mov eax, esi
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x60
ret 0x10