Function at 0x42a350
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x549c77
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x3040
call fcn.00531f30
mov eax, dword [0x5c5b9c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
push str.istdrv.debug.ini
xor ebx, ebx
push ebx
push str.DebugLevel
mov esi, ecx
push str.Setup
mov dword [ebp - 0x2fa0], esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edi, eax
cmp edi, ebx
je 0x42a3fd
push str.istdrv.debug.ini
push 0x100
lea eax, [ebp - 0x21c]
push eax
push 0x55a24c
push str.Class
push str.Setup
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push ebx
lea ecx, [ebp - 0x21c]
push ecx
call dword [sym.imp.USER32.dll_FindWindowW]
cmp eax, ebx
je 0x42a3ef
lea edx, [ebp - 0x21c]
push edx
push 2
jmp 0x42a3f2
push ebx
push 1
push 1
push edi
call fcn.00411360
add esp, 0x10
push ebx
lea ecx, [ebp - 0x23cc]
call fcn.0043c490
push ebx
lea ecx, [ebp - 0x1f28]
mov dword [ebp - 4], ebx
call fcn.00436760
push ebx
lea ecx, [ebp - 0x1118]
mov byte [ebp - 4], 1
call fcn.0042d2d0
push ebx
lea ecx, [ebp - 0xcb0]
mov byte [ebp - 4], 2
call fcn.00433390
push ebx
lea ecx, [ebp - 0x1590]
mov byte [ebp - 4], 3
call fcn.004354d0
push ebx
push ebx
lea ecx, [ebp - 0x1a60]
mov byte [ebp - 4], 4
call fcn.0042e710
push 0x13
xor eax, eax
mov edi, 7
push str._NOT_SPECIFIED_
lea ecx, [ebp - 0x88c]
mov byte [ebp - 4], 5
mov dword [ebp - 0x878], edi
mov dword [ebp - 0x87c], ebx
mov word [ebp - 0x88c], ax
call fcn.004026d0
xor ecx, ecx
push ebx
mov word [ebp - 0x870], cx
push 0x55a24c
lea ecx, [ebp - 0x870]
mov byte [ebp - 4], 6
mov dword [ebp - 0x85c], edi
mov dword [ebp - 0x860], ebx
call fcn.004026d0
push ebx
xor edx, edx
push 0x55a24c
lea ecx, [ebp - 0x8a8]
mov byte [ebp - 4], 7
mov dword [ebp - 0x894], edi
mov dword [ebp - 0x898], ebx
mov word [ebp - 0x8a8], dx
call fcn.004026d0
lea ecx, [ebp - 0x3050]
mov byte [ebp - 4], 8
mov dword [ebp - 0x2fa4], 1
mov dword [ebp - 0x2fb0], ebx
call fcn.00436c90
xor eax, eax
mov dword [ebp - 0x8b0], edi
mov dword [ebp - 0x8b4], ebx
mov word [ebp - 0x8c4], ax
mov byte [ebp - 4], 0xa
call fcn.0043d2a1
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x42a52f
push 0x80004005
call fcn.00401020
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2fac], eax
mov byte [ebp - 4], 0xb
call fcn.0043d2a1
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x42a55f
push 0x80004005
call fcn.00401020
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2fa8], eax
mov ecx, esi
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x2fe4], ebx
call fcn.00429b00
test eax, eax
jne 0x42c212
push 0x48
mov byte [ebp - 4], 0xd
call fcn.0043c75e
mov ecx, eax
add esp, 4
mov dword [ebp - 0x2fb4], ecx
mov byte [ebp - 4], 0xe
cmp ecx, ebx
je 0x42a5b1
call fcn.00410600
mov edi, eax
jmp 0x42a5b3
xor edi, edi
push str.CIstDrvApp::InitInstance___goto_GetInitInfo_n
push 5
mov dword [ebp - 0x2fb0], edi
mov dword [ebp - 4], 0xc
call fcn.00411380
mov edx, dword [edi]
mov edx, dword [edx + 4]
add esp, 8
lea eax, [esi + 0x420]
push eax
mov ecx, edi
call edx
push str.CIstDrvApp::InitInstance___goto_SetStatus_n
push 5
call fcn.00411380
mov eax, dword [edi]
mov edx, dword [eax + 8]
add esp, 8
push 1
mov ecx, edi
call edx
push str.CIstDrvApp::InitInstance___goto_NotifyStatus_n
push 5
call fcn.00411380
mov eax, dword [edi]
mov edx, dword [eax + 0xc]
add esp, 8
mov ecx, edi
call edx
push str.CIstDrvApp::InitInstance___goto_MyRegisterClass_n
push 5
call fcn.00411380
add esp, 8
call fcn.00445a97
mov eax, dword [eax + 8]
push str.__MFP_ISTDRV__
push eax
mov ecx, esi
call fcn.00428c10
call fcn.00445a97
mov eax, dword [eax + 8]
push ebx
push eax
push ebx
push ebx
push ebx
push SysReAllocString
push ebx
push SysReAllocString
push 0xcf0000
push ebx
push str.__MFP_ISTDRV__
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
jne 0x42a682
push str.CIstDrvApp::InitInstance___Not_CreateWindow___n
push 5
call fcn.00411380
mov eax, dword [edi]
mov edx, dword [eax + 8]
add esp, 8
push 5
mov ecx, edi
call edx
jmp 0x42c212
mov eax, dword [edi]
mov edx, dword [eax + 8]
push 2
mov ecx, edi
call edx
push str.CIstDrvApp::InitInstance___pExternalInterface__SetStatus___n
push 5
call fcn.00411380
mov eax, dword [edi]
mov edx, dword [eax + 0xc]
add esp, 8
mov ecx, edi
call edx
push str.CIstDrvApp::InitInstance___pExternalInterface__NotifyStatus___n
push 5
call fcn.00411380
mov esi, 1
add esp, 8
cmp dword [0x5cce78], esi
jle 0x42a835
mov eax, dword [0x5cce80]
mov edi, dword [eax + esi*4]
push edi
push 0x574bf8
push 5
call fcn.00411380
movzx eax, word [edi]
add esp, 0xc
cmp eax, 0x2f
je 0x42a6ee
cmp eax, 0x2d
jne 0x42a828
push 1
lea ebx, [edi + 2]
push 0x574bf4
push ebx
call fcn.005308f9
add esp, 0xc
test eax, eax
jne 0x42a715
mov ecx, dword [ebp - 0x2fa0]
mov dword [ecx + 0x424], 1
push 1
push 0x574bf0
push ebx
call fcn.005308f9
add esp, 0xc
test eax, eax
jne 0x42a74d
add edi, 4
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42a731
sub eax, edx
sar eax, 1
push eax
push edi
lea ecx, [ebp - 0x88c]
call fcn.004026d0
push 2
push 0x574be8
push ebx
call fcn.005308f9
add esp, 0xc
test eax, eax
jne 0x42a7b9
lea edx, [esi + 1]
cmp edx, dword [0x5cce78]
jge 0x42a7b9
mov eax, dword [0x5cce80]
mov edx, dword [eax + esi*4 + 4]
mov eax, edx
lea edi, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42a780
sub eax, edi
sar eax, 1
push eax
push edx
lea ecx, [ebp - 0x870]
call fcn.004026d0
cmp dword [ebp - 0x85c], 8
mov eax, dword [ebp - 0x870]
jae 0x42a7b1
lea eax, [ebp - 0x870]
push eax
push str._____DN___1_s___n
jmp 0x42a81e
push 4
push str.LANG
push ebx
call fcn.005308f9
add esp, 0xc
test eax, eax
jne 0x42a828
lea ecx, [esi + 1]
cmp ecx, dword [0x5cce78]
jge 0x42a828
mov edx, dword [0x5cce80]
mov edx, dword [edx + esi*4 + 4]
mov eax, edx
lea edi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42a7e7
sub eax, edi
sar eax, 1
push eax
push edx
lea ecx, [ebp - 0x8a8]
call fcn.004026d0
cmp dword [ebp - 0x894], 8
mov eax, dword [ebp - 0x8a8]
jae 0x42a818
lea eax, [ebp - 0x8a8]
push eax
push str._____LANG___1_s___n
push 5
call fcn.00411380
add esp, 0xc
inc esi
cmp esi, dword [0x5cce78]
jl 0x42a6c5
push str.CIstDrvApp::InitInstance___goto_GetInitInfo____n
push 5
call fcn.00411380
mov esi, dword [ebp - 0x2fb0]
movzx eax, word [esi + 0x14]
push eax
push str.CIstDrvApp::InitInstance___GetLangID_____6_x__n
push 5
call fcn.00411380
movzx ecx, word [esi + 0x16]
push ecx
push str.CIstDrvApp::InitInstance___GetDefaultLangID_____6_x__n
push 5
call fcn.00411380
mov edx, dword [ebp - 0x8a8]
add esp, 0x20
cmp dword [ebp - 0x894], 8
jae 0x42a881
lea edx, [ebp - 0x8a8]
movzx eax, word [esi + 0x16]
movzx ecx, word [esi + 0x14]
mov ebx, dword [ebp - 0x2fa0]
push edx
push eax
push ecx
mov ecx, ebx
call fcn.00429780
test eax, eax
jne 0x42a910
push str.CIstDrvApp::InitInstance___not_GetIniInfo____n
push 5
call fcn.00411380
add esp, 8
lea ecx, [ebx + 0xb8]
call fcn.004056d0
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42a8c0
sub eax, edx
sar eax, 1
je 0x42a900
lea ecx, [ebx + 0xb8]
call fcn.00403990
push eax
lea ecx, [ebx + 0xb8]
call fcn.00405710
push eax
lea ecx, [ebx + 0xb8]
call fcn.004056d0
push eax
lea ecx, [ebx + 0x420]
call fcn.00423800
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 5
mov ecx, esi
call eax
jmp 0x42c05d
mov esi, ebx
add esi, 0xb8
mov ecx, esi
call fcn.00403ba0
mov ecx, dword [ebp - 0x2fb0]
mov word [ecx + 0x14], ax
mov ecx, esi
call fcn.00403ba0
movzx edx, ax
push edx
push str.CIstDrvApp::InitInstance___SetSelectedLangID___1_d__n
push 5
call fcn.00411380
add esp, 0xc
push 0x2727
call fcn.00447046
test eax, eax
je 0x42a962
push 0x2727
push eax
lea ecx, [ebp - 0x2fac]
call fcn.00404cb0
mov ebx, dword [ebp - 0x2fac]
push 0x2ee2
call fcn.00447046
test eax, eax
je 0x42a987
push 0x2ee2
push eax
lea ecx, [ebp - 0x2fa8]
call fcn.00404cb0
mov ecx, esi
call fcn.00406a50
push eax
push 0x55fcdc
lea ecx, [ebp - 0x2fa8]
call fcn.00405750
mov edi, dword [ebp - 0x2fa8]
mov ecx, dword [edi - 8]
mov eax, 1
sub eax, dword [edi - 4]
or ecx, eax
jge 0x42a9c7
push 0
lea ecx, [ebp - 0x2fa8]
call fcn.004012e0
mov edi, dword [ebp - 0x2fa8]
mov ecx, dword [ebx - 8]
mov eax, 1
sub eax, dword [ebx - 4]
or ecx, eax
jge 0x42a9e9
push 0
lea ecx, [ebp - 0x2fac]
call fcn.004012e0
mov ebx, dword [ebp - 0x2fac]
push edi
push ebx
lea ecx, [ebp - 0x23cc]
call fcn.00429640
mov eax, dword [ebp - 0x2fa0]
mov ecx, dword [eax + 0x41c]
mov dword [ebp - 0x2334], ecx
mov ecx, dword [edi - 8]
mov eax, 1
sub eax, dword [edi - 4]
or ecx, eax
jge 0x42aa2a
push 0
lea ecx, [ebp - 0x2fa8]
call fcn.004012e0
mov edi, dword [ebp - 0x2fa8]
mov ecx, dword [ebx - 8]
mov eax, 1
sub eax, dword [ebx - 4]
or ecx, eax
jge 0x42aa4c
push 0
lea ecx, [ebp - 0x2fac]
call fcn.004012e0
mov ebx, dword [ebp - 0x2fac]
push edi
push ebx
lea ecx, [ebp - 0x1f28]
call fcn.00429640
mov edx, dword [ebp - 0x2fa0]
mov eax, dword [edx + 0x41c]
mov dword [ebp - 0x1e90], eax
mov ecx, dword [edi - 8]
mov eax, 1
sub eax, dword [edi - 4]
or ecx, eax
jge 0x42aa8d
push 0
lea ecx, [ebp - 0x2fa8]
call fcn.004012e0
mov edi, dword [ebp - 0x2fa8]
mov ecx, dword [ebx - 8]
mov eax, 1
sub eax, dword [ebx - 4]
or ecx, eax
jge 0x42aaaf
push 0
lea ecx, [ebp - 0x2fac]
call fcn.004012e0
mov ebx, dword [ebp - 0x2fac]
push edi
push ebx
lea ecx, [ebp - 0x1118]
call fcn.00429640
mov ecx, dword [ebp - 0x2fa0]
mov edx, dword [ecx + 0x41c]
mov dword [ebp - 0x1080], edx
mov ecx, dword [edi - 8]
mov eax, 1
sub eax, dword [edi - 4]
or ecx, eax
jge 0x42aaf0
push 0
lea ecx, [ebp - 0x2fa8]
call fcn.004012e0
mov edi, dword [ebp - 0x2fa8]
mov ecx, dword [ebx - 8]
mov eax, 1
sub eax, dword [ebx - 4]
or ecx, eax
jge 0x42ab12
push 0
lea ecx, [ebp - 0x2fac]
call fcn.004012e0
mov ebx, dword [ebp - 0x2fac]
push edi
push ebx
lea ecx, [ebp - 0xcb0]
call fcn.00429640
mov eax, dword [ebp - 0x2fa0]
mov ecx, dword [eax + 0x41c]
mov dword [ebp - 0xc18], ecx
mov ecx, dword [edi - 8]
mov eax, 1
sub eax, dword [edi - 4]
or ecx, eax
jge 0x42ab53
push 0
lea ecx, [ebp - 0x2fa8]
call fcn.004012e0
mov edi, dword [ebp - 0x2fa8]
mov ecx, dword [ebx - 8]
mov eax, 1
sub eax, dword [ebx - 4]
or ecx, eax
jge 0x42ab75
push 0
lea ecx, [ebp - 0x2fac]
call fcn.004012e0
mov ebx, dword [ebp - 0x2fac]
push edi
push ebx
lea ecx, [ebp - 0x1590]
call fcn.00429640
mov edx, dword [ebp - 0x2fa0]
mov eax, dword [edx + 0x41c]
mov dword [ebp - 0x14f8], eax
mov ecx, dword [edi - 8]
mov eax, 1
sub eax, dword [edi - 4]
or ecx, eax
jge 0x42abb6
push 0
lea ecx, [ebp - 0x2fa8]
call fcn.004012e0
mov edi, dword [ebp - 0x2fa8]
mov ecx, dword [ebx - 8]
mov eax, 1
sub eax, dword [ebx - 4]
or ecx, eax
jge 0x42abd8
push 0
lea ecx, [ebp - 0x2fac]
call fcn.004012e0
mov ebx, dword [ebp - 0x2fac]
push edi
push ebx
lea ecx, [ebp - 0x1a60]
call fcn.00429640
mov ecx, dword [ebp - 0x2fa0]
mov edx, dword [ecx + 0x41c]
mov dword [ebp - 0x19c8], edx
call fcn.004291c0
test eax, eax
jne 0x42ac14
mov ecx, dword [ebp - 0x2fb0]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 5
call edx
jmp 0x42c212
mov ebx, dword [ebp - 0x2fa0]
mov eax, dword [ebx + 0x68]
push eax
lea ecx, [ebx + 0x420]
call fcn.00424050
lea ecx, [ebx + 0x420]
call fcn.00425130
test eax, eax
jne 0x42ac4c
mov ecx, dword [ebp - 0x2fb0]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 5
call eax
jmp 0x42c05d
call fcn.00445a97
mov ecx, dword [eax + 4]
lea ecx, [ecx + 0xb8]
call fcn.00404410
mov ecx, eax
lea edi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x42ac64
sub ecx, edi
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x8c4]
call fcn.004026d0
cmp dword [ebp - 0x8b0], 8
mov eax, dword [ebp - 0x8c4]
jae 0x42ac95
lea eax, [ebp - 0x8c4]
lea ecx, [ebp - 0x2fe4]
push ecx
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
lea ecx, [ebp - 0x3050]
call fcn.00437450
test eax, eax
jne 0x42bf25
lea ecx, [ebp - 0x3050]
call fcn.004379c0
test eax, eax
jne 0x42bf25
mov ecx, esi
call fcn.00403590
push str.CIstDrvApp::InitInstance___MessageBox_Debug_Mode__n
push 5
call fcn.00411380
add esp, 8
push str.istdrv.debug.ini
push 0
push str.MessageBoxDebug
push str.Setup
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x42ad15
mov ecx, esi
call fcn.00406a50
mov ecx, dword [0x5c1220]
push eax
call fcn.00428f90
jmp 0x42c212
mov ecx, ebx
call fcn.00429ed0
test eax, eax
jne 0x42c212
push str.CIstDrvApp::InitInstance___DlgWelcome__n
push 5
call fcn.00411380
add esp, 8
cmp dword [ebx + 0x424], 0
mov ebx, dword [ebp - 0x2fb0]
jne 0x42ad5d
cmp byte [ebx + 5], 0
jne 0x42ad5d
lea ecx, [ebp - 0x23cc]
call fcn.0043bbf0
mov edi, eax
mov dword [ebp - 0x2fa4], edi
jmp 0x42ad63
mov edi, dword [ebp - 0x2fa4]
cmp edi, 2
jne 0x42ad78
mov edx, dword [ebx]
mov eax, dword [edx + 8]
push 6
mov ecx, ebx
call eax
jmp 0x42c05d
lea ecx, [ebp - 0x1f28]
call fcn.00435ab0
mov ecx, esi
call fcn.004035e0
lea ecx, [ebp - 0x11c]
push 3
mov dword [ebp - 0x120], ecx
push eax
lea ecx, [ebp - 0x120]
call fcn.00428e20
mov edx, dword [ebp - 0x120]
push edx
lea ecx, [ebp - 0x1118]
mov byte [ebp - 4], 0x12
call fcn.0042d870
mov eax, dword [ebp - 0x120]
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0xc
cmp eax, ecx
je 0x42ade0
push eax
call fcn.00532cbd
add esp, 4
jmp 0x42ade0
mov edx, dword [ebp - 0x2fa0]
cmp dword [edx + 0x424], 0
jne 0x42ae08
cmp byte [ebx + 7], 0
jne 0x42ae08
lea ecx, [ebp - 0x1118]
call fcn.0042cb10
mov edi, eax
mov dword [ebp - 0x2fa4], edi
cmp edi, 2
je 0x42b664
cmp edi, 0xc
je 0x42b659
lea ebx, [ebx]
mov edi, dword [ebp - 0x2fa0]
lea esi, [edi + 0xb8]
mov ecx, esi
call fcn.00403790
test eax, eax
je 0x42af90
lea ecx, [ebp - 0x850]
call fcn.0043a1a0
lea ecx, [ebp - 0x2ffc]
mov byte [ebp - 4], 0x13
call fcn.0043a1a0
cmp dword [ebp - 0x878], 8
mov eax, dword [ebp - 0x88c]
mov byte [ebp - 4], 0x14
jae 0x42ae6e
lea eax, [ebp - 0x88c]
mov ecx, str._NOT_SPECIFIED_
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42ae99
test dx, dx
je 0x42ae95
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42ae99
add eax, 4
add ecx, 4
test dx, dx
jne 0x42ae73
xor eax, eax
jmp 0x42ae9e
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, esi
test eax, eax
je 0x42af36
xor ebx, ebx
call fcn.00403790
test eax, eax
je 0x42af72
lea edi, [ebx + 8]
lea ebx, [ebx]
push 0x2c
push ebx
mov ecx, esi
call fcn.00403890
push eax
lea ecx, [ebp - 0x850]
call fcn.0043a510
push 0x7c
push 0
lea ecx, [ebp - 0x850]
call fcn.00438e80
push eax
lea ecx, [ebp - 0x2ffc]
call fcn.0043a510
mov eax, dword [ebp - 0x88c]
cmp dword [ebp - 0x878], edi
jae 0x42af05
lea eax, [ebp - 0x88c]
push eax
push 0
lea ecx, [ebp - 0x2ffc]
call fcn.00438e80
push eax
call fcn.00531ea5
add esp, 8
test eax, eax
je 0x42af2e
mov ecx, esi
inc ebx
call fcn.00403790
cmp ebx, eax
jb 0x42aec0
jmp 0x42af72
mov dword [ebp - 0x8f8], ebx
jmp 0x42af72
call fcn.00403790
cmp eax, 2
jb 0x42af68
cmp dword [edi + 0x424], 0
jne 0x42af72
mov eax, dword [ebp - 0x2fb0]
cmp byte [eax + 8], 0
jne 0x42af72
lea ecx, [ebp - 0xcb0]
call fcn.00432ac0
mov dword [ebp - 0x2fa4], eax
jmp 0x42af72
mov dword [ebp - 0x8f8], 0
lea ecx, [ebp - 0x2ffc]
mov byte [ebp - 4], 0x13
call fcn.0043a1b0
lea ecx, [ebp - 0x850]
mov byte [ebp - 4], 0xc
call fcn.0043a1b0
mov edi, dword [ebp - 0x2fa4]
cmp edi, 2
je 0x42b674
cmp edi, 0xc
je 0x42b64e
lea ecx, [ebp - 0x2ffc]
call fcn.0043a1a0
mov ecx, esi
mov byte [ebp - 4], 0x15
call fcn.00403e10
lea ecx, [ebp - 0x2fc8]
mov edi, eax
push ecx
mov ecx, esi
mov dword [ebp - 0x2fb8], edi
call fcn.0040b1e0
cmp dword [ebp - 0x860], 0
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x2fa4], 0
jbe 0x42b0b4
xor esi, esi
test edi, edi
je 0x42b068
jmp 0x42b000
mov eax, dword [ebp - 0x2fc8]
lea edx, [esi*8]
sub edx, esi
cmp dword [eax + edx*4 + 0x14], 8
lea eax, [eax + edx*4]
jb 0x42b01b
mov eax, dword [eax]
lea ecx, [ebp - 0x870]
mov ebx, eax
call fcn.00401fd0
mov cx, word [eax]
cmp cx, word [ebx]
jne 0x42b04e
test cx, cx
je 0x42b04a
mov cx, word [eax + 2]
cmp cx, word [ebx + 2]
jne 0x42b04e
add eax, 4
add ebx, 4
test cx, cx
jne 0x42b028
xor eax, eax
jmp 0x42b053
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42b05e
inc esi
cmp esi, edi
jb 0x42b000
jmp 0x42b068
mov dword [ebp - 0x2fa4], esi
cmp edi, esi
ja 0x42b0b4
mov eax, dword [ebp - 0x870]
mov edi, 8
cmp dword [ebp - 0x85c], edi
jae 0x42b081
lea eax, [ebp - 0x870]
push eax
push str.CIstDrvApp::InitInstance_Not_Support___1_s_._n
push 4
call fcn.00411380
mov eax, dword [ebp - 0x870]
add esp, 0xc
mov dword [ebp - 0x860], 0
cmp dword [ebp - 0x85c], edi
jae 0x42b0af
lea eax, [ebp - 0x870]
xor ecx, ecx
mov word [eax], cx
mov edi, dword [ebp - 0x2fa0]
mov edx, dword [ebp - 0x8f8]
push 0x2c
lea ebx, [edi + 0xb8]
push edx
mov ecx, ebx
call fcn.00403890
push eax
lea ecx, [ebp - 0x2ffc]
call fcn.0043a510
lea ecx, [ebp - 0x2ffc]
call fcn.00438c50
cmp eax, 1
ja 0x42b164
mov eax, dword [ebp - 0x2fb8]
test eax, eax
je 0x42b6e3
cmp eax, 1
jbe 0x42b6f2
cmp dword [ebp - 0x860], 0
jne 0x42b6cf
lea eax, [ebp - 0x2fc8]
push eax
lea ecx, [ebp - 0x1590]
call fcn.004359b0
lea ecx, [ebp - 0x1590]
call fcn.00434a00
mov dword [ebp - 0x2fa4], eax
cmp eax, 2
je 0x42b688
cmp eax, 0xc
jne 0x42b6b6
lea ecx, [ebp - 0x2fc8]
call 0x4093c0
lea ecx, [ebp - 0x2ffc]
mov byte [ebp - 4], 0xc
call fcn.0043a1b0
jmp 0x42ae20
xor esi, esi
mov dword [ebp - 0x28f4], esi
mov dword [ebp - 0x28f0], esi
mov dword [ebp - 0x28ec], esi
mov ecx, ebx
mov byte [ebp - 4], 0x17
mov dword [ebp - 0x2fa4], esi
call fcn.00404270
xor ecx, ecx
mov word [ebp - 0x854], cx
mov ecx, eax
mov dword [ebp - 0x840], 7
mov dword [ebp - 0x844], esi
lea edi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, si
jne 0x42b1a7
sub ecx, edi
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x854]
call fcn.004026d0
push 1
lea ecx, [ebp - 0x2ffc]
mov byte [ebp - 4], 0x18
call fcn.00438e80
mov ecx, eax
lea edi, [ecx + 2]
lea esp, [esp]
mov dx, word [ecx]
add ecx, 2
cmp dx, si
jne 0x42b1e0
sub ecx, edi
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x854]
call fcn.00405db0
lea edx, [ebp - 0x634]
push edx
push 0x105
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov eax, dword [ebp - 0x854]
mov edi, 8
cmp dword [ebp - 0x840], edi
jae 0x42b227
lea eax, [ebp - 0x854]
push esi
push esi
push esi
push esi
push 0x101
lea ecx, [ebp - 0x838]
push ecx
push 4
lea edx, [ebp - 0x1c]
push edx
push eax
call fcn.00530997
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x428]
push 0x105
push ecx
call fcn.00531d3f
lea edx, [ebp - 0x838]
push edx
lea eax, [ebp - 0x428]
push 0x105
push eax
call fcn.00531b8a
add esp, 0x3c
lea ecx, [ebp - 0x428]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov eax, dword [ebp - 0x854]
cmp dword [ebp - 0x840], edi
jae 0x42b294
lea eax, [ebp - 0x854]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
cmp edi, esi
je 0x42b56f
push 2
lea ecx, [ebp - 0x2ffc]
call fcn.00438e80
push 3
lea edx, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa0], edx
call fcn.004128c0
mov eax, dword [ebp - 0xa0]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x2fb4], esi
cmp eax, ecx
je 0x42b2fb
push eax
call fcn.00532cbd
add esp, 4
xor edi, edi
cmp esi, edi
je 0x42b571
push 0x73c
lea edx, [ebp - 0x2f9c]
push edi
push edx
call fcn.00531b10
add esp, 0xc
mov ecx, ebx
mov dword [ebp - 0x2f9c], edi
call fcn.00403ba0
movzx eax, ax
mov ecx, ebx
mov dword [ebp - 0x2f98], eax
call fcn.00404270
push eax
lea ecx, [ebp - 0x2f94]
push 0x208
push ecx
call fcn.00531d3f
mov edx, dword [ebp - 0x2fa0]
mov eax, dword [edx + 0x430]
add esp, 0xc
cmp dword [ebp - 0x85c], 8
mov dword [ebp - 0x2b80], eax
mov eax, dword [ebp - 0x870]
jae 0x42b373
lea eax, [ebp - 0x870]
push eax
lea ecx, [ebp - 0x2b7c]
push 0x104
push ecx
call fcn.00531d3f
add esp, 0xc
mov ecx, ebx
call fcn.00404500
push eax
lea edx, [ebp - 0x2974]
push 0x40
push edx
call fcn.00531d3f
add esp, 0xc
call fcn.00445a97
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x2fd8]
push ecx
lea ecx, [eax + 0xb8]
call fcn.0040b370
mov ecx, dword [ebp - 0x2fd4]
sub ecx, dword [ebp - 0x2fd8]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x2fb8], eax
mov edi, 0
je 0x42b4ec
mov edx, dword [ebp - 0x2fd8]
lea esi, [edi*8]
sub esi, edi
sub esp, 0x1c
mov ecx, esp
add esi, esi
mov dword [ebp - 0x2fa4], esp
add esi, esi
lea eax, [esi + edx]
xor edx, edx
push 0xffffffffffffffff
push edx
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], dx
call fcn.004025d0
mov ecx, ebx
call fcn.00405580
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2860], eax
mov eax, dword [ebp - 0x2fd8]
mov dword [ebp - 0x2fa4], esp
xor edx, edx
push 0xffffffffffffffff
add eax, esi
push edx
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], dx
call fcn.004025d0
mov ecx, ebx
call fcn.004052c0
push eax
lea eax, [ebp - 0x285c]
push 0x208
push eax
call fcn.00531d3f
add esi, dword [ebp - 0x2fd8]
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x2fa4], esp
xor edx, edx
push 0xffffffffffffffff
push edx
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push esi
mov word [ecx], dx
call fcn.004025d0
mov ecx, ebx
call fcn.00405130
push eax
lea eax, [ebp - 0x244c]
push 0x40
push eax
call fcn.00531d3f
add esp, 0xc
lea ecx, [ebp - 0x2860]
push ecx
lea ecx, [ebp - 0x28f4]
call fcn.0042a2c0
inc edi
cmp edi, dword [ebp - 0x2fb8]
jb 0x42b3ef
mov esi, dword [ebp - 0x2fb4]
mov ecx, ebx
call fcn.004043a0
push eax
lea edx, [ebp - 0x28e4]
push 0x40
push edx
call fcn.00531d3f
add esp, 0xc
lea eax, [ebp - 0x2f9c]
push eax
push 3
mov byte [ebp - 4], 0x1a
call esi
mov ebx, dword [ebp - 0x2fd8]
mov dword [ebp - 0x2fa4], eax
mov dword [ebp - 4], 0x18
test ebx, ebx
je 0x42b55b
mov edi, dword [ebp - 0x2fd4]
cmp ebx, edi
je 0x42b552
lea ecx, [ebp - 0x2fcc]
push ebx
push ecx
call fcn.00406920
add ebx, 0x1c
add esp, 8
cmp ebx, edi
jne 0x42b535
mov ebx, dword [ebp - 0x2fd8]
push ebx
call fcn.0043c798
add esp, 4
xor eax, eax
mov dword [ebp - 0x2fd8], eax
mov dword [ebp - 0x2fd4], eax
mov dword [ebp - 0x2fd0], eax
xor edi, edi
lea edx, [ebp - 0x634]
push edx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov eax, dword [ebp - 0x2fa4]
cmp eax, 0xc
jne 0x42ba13
cmp dword [ebp - 0x840], 8
mov dword [ebp - 0x2fa4], eax
jb 0x42b5ab
mov eax, dword [ebp - 0x854]
push eax
call fcn.0043c798
add esp, 4
mov eax, dword [ebp - 0x28f4]
xor ecx, ecx
mov dword [ebp - 0x840], 7
mov dword [ebp - 0x844], edi
mov word [ebp - 0x854], cx
cmp eax, edi
je 0x42b5d7
push eax
call fcn.0043c798
add esp, 4
mov ebx, dword [ebp - 0x2fc8]
mov dword [ebp - 0x28f4], edi
mov dword [ebp - 0x28f0], edi
mov dword [ebp - 0x28ec], edi
cmp ebx, edi
je 0x42b628
mov edi, dword [ebp - 0x2fc4]
cmp ebx, edi
je 0x42b61d
lea ecx, [ecx]
lea edx, [ebp - 0x2fbc]
push ebx
push edx
call fcn.00406920
add ebx, 0x1c
add esp, 8
cmp ebx, edi
jne 0x42b600
mov ebx, dword [ebp - 0x2fc8]
push ebx
call fcn.0043c798
add esp, 4
xor edi, edi
lea ecx, [ebp - 0x2ffc]
mov dword [ebp - 0x2fc8], edi
mov dword [ebp - 0x2fc4], edi
mov dword [ebp - 0x2fc0], edi
mov byte [ebp - 4], 0xc
call fcn.0043a1b0
jmp 0x42ae20
mov ebx, dword [ebp - 0x2fb0]
jmp 0x42ade0
mov ebx, dword [ebp - 0x2fa0]
jmp 0x42ad24
mov eax, dword [ebx]
mov edx, dword [eax + 8]
push 6
mov ecx, ebx
call edx
jmp 0x42c05d
mov ecx, dword [ebp - 0x2fb0]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 6
call edx
jmp 0x42c05d
mov ecx, dword [ebp - 0x2fb0]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 6
call edx
lea ecx, [ebp - 0x2fc8]
call 0x4093c0
lea ecx, [ebp - 0x2ffc]
mov byte [ebp - 4], 0xc
call fcn.0043a1b0
jmp 0x42c05d
lea ecx, [ebp - 0x1590]
call fcn.00434350
push eax
lea ecx, [edi + 0xb8]
call fcn.00403e80
jmp 0x42b6f2
mov eax, dword [ebp - 0x2fa4]
push eax
lea ecx, [edi + 0xb8]
call fcn.00403e80
jmp 0x42b6f2
push str.CIstDrvApp::InitInstance_Models_Uses_Default._n
push 4
call fcn.00411380
add esp, 8
cmp dword [edi + 0x424], 0
mov esi, dword [ebp - 0x2fb0]
jne 0x42b728
cmp byte [esi + 9], 0
je 0x42b728
lea ecx, [edi + 0x420]
mov dword [edi + 0x424], 1
call fcn.00427f20
mov dword [edi + 0x424], 0
jmp 0x42b733
lea ecx, [edi + 0x420]
call fcn.00427f20
mov eax, dword [edi + 0x428]
cmp eax, 0xffffffff
je 0x42b7a5
cmp eax, 0x64
jne 0x42b74c
push 1
mov ecx, esi
call fcn.00423310
push str.istdrv.debug.ini
push 0
push str.AlwaysReboot
push str.Setup
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x42b77f
push str.CIstDrvApp::InitInstance_DebugInfo_AlwaysReboot_is_TRUE._n
push 4
call fcn.00411380
add esp, 8
push 1
mov ecx, esi
call fcn.00423310
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 3
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 4
mov ecx, esi
call edx
xor edi, edi
jmp 0x42bd0d
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 5
mov ecx, esi
call edx
mov edi, dword [ebp - 0x2fc8]
test edi, edi
je 0x42b7ea
mov ebx, dword [ebp - 0x2fc4]
cmp edi, ebx
je 0x42b7e1
lea eax, [ebp - 0x2fbc]
push edi
push eax
call fcn.00406920
add edi, 0x1c
add esp, 8
cmp edi, ebx
jne 0x42b7c4
mov edi, dword [ebp - 0x2fc8]
push edi
call fcn.0043c798
add esp, 4
xor eax, eax
lea ecx, [ebp - 0x2ffc]
mov dword [ebp - 0x2fc8], eax
mov dword [ebp - 0x2fc4], eax
mov dword [ebp - 0x2fc0], eax
mov byte [ebp - 4], 0xc
call fcn.0043a1b0
jmp 0x42c05d
lea ecx, [ebp - 0x1f28]
call fcn.00435cc0
lea ecx, [ebp - 0x23cc]
mov dword [ebp - 4], 0xffffffff
call fcn.0043b9e0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00530f8d
mov esp, ebp
pop ebp
ret
cmp eax, 2
je 0x42be5c
cmp eax, edi
je 0x42be5c
cmp eax, 0xffffffff
je 0x42be5c
lea eax, [ebp - 0x2b7c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x42ba36
sub eax, edx
sar eax, 1
push eax
lea ecx, [ebp - 0x2b7c]
push ecx
lea ecx, [ebp - 0x870]
call fcn.004026d0
cmp dword [ebp - 0x860], edi
jbe 0x42bbba
mov esi, dword [ebp - 0x2fa0]
lea ecx, [esi + 0xb8]
call fcn.00403e10
lea edx, [ebp - 0x2fd8]
push edx
lea ecx, [esi + 0xb8]
mov ebx, eax
call fcn.0040b1e0
xor esi, esi
mov byte [ebp - 4], 0x1e
cmp ebx, edi
jbe 0x42bb06
jmp 0x42baa0
mov ecx, dword [ebp - 0x2fd8]
lea eax, [esi*8]
sub eax, esi
cmp dword [ecx + eax*4 + 0x14], 8
lea eax, [ecx + eax*4]
jb 0x42babb
mov eax, dword [eax]
lea ecx, [ebp - 0x870]
mov edi, eax
call fcn.00401fd0
mov cx, word [eax]
cmp cx, word [edi]
jne 0x42baee
test cx, cx
je 0x42baea
mov cx, word [eax + 2]
cmp cx, word [edi + 2]
jne 0x42baee
add eax, 4
add edi, 4
test cx, cx
jne 0x42bac8
xor eax, eax
jmp 0x42baf3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42bafe
inc esi
cmp esi, ebx
jb 0x42baa0
jmp 0x42bb06
cmp ebx, esi
ja 0x42bb97
mov ecx, dword [ebp - 0x2fb0]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 5
call eax
lea ecx, [ebp - 0x2fd8]
call 0x4093c0
cmp dword [ebp - 0x840], 8
jb 0x42bb38
mov ecx, dword [ebp - 0x854]
push ecx
call fcn.0043c798
add esp, 4
mov eax, dword [ebp - 0x28f4]
xor esi, esi
xor edx, edx
mov dword [ebp - 0x840], 7
mov dword [ebp - 0x844], esi
mov word [ebp - 0x854], dx
cmp eax, esi
je 0x42bb66
push eax
call fcn.0043c798
add esp, 4
lea ecx, [ebp - 0x2fc8]
mov dword [ebp - 0x28f4], esi
mov dword [ebp - 0x28f0], esi
mov dword [ebp - 0x28ec], esi
call 0x4093c0
lea ecx, [ebp - 0x2ffc]
mov byte [ebp - 4], 0xc
call fcn.0043a1b0
jmp 0x42c05d
mov ecx, dword [ebp - 0x2fa0]
push esi
add ecx, 0xb8
call fcn.00403e80
lea ecx, [ebp - 0x2fd8]
mov byte [ebp - 4], 0x18
call 0x4093c0
xor edi, edi
mov ecx, dword [ebp - 0x2fa0]
push edi
add ecx, 0x420
call fcn.00426120
test eax, eax
jne 0x42bc58
mov ecx, dword [ebp - 0x2fb0]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 5
call edx
cmp dword [ebp - 0x840], 8
jb 0x42bbfb
mov eax, dword [ebp - 0x854]
push eax
call fcn.0043c798
add esp, 4
mov eax, dword [ebp - 0x28f4]
xor ecx, ecx
mov dword [ebp - 0x840], 7
mov dword [ebp - 0x844], edi
mov word [ebp - 0x854], cx
cmp eax, edi
je 0x42bc27
push eax
call fcn.0043c798
add esp, 4
lea ecx, [ebp - 0x2fc8]
mov dword [ebp - 0x28f4], edi
mov dword [ebp - 0x28f0], edi
mov dword [ebp - 0x28ec], edi
call 0x4093c0
lea ecx, [ebp - 0x2ffc]
mov byte [ebp - 4], 0xc
call fcn.0043a1b0
jmp 0x42c05d
push str.istdrv.debug.ini
push edi
push str.AlwaysReboot
push str.Setup
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x42bc8b
push str.CIstDrvApp::InitInstance_DebugInfo_AlwaysReboot_is_TRUE._n
push 4
call fcn.00411380
add esp, 8
mov dword [ebp - 0x2b84], 1
mov esi, dword [ebp - 0x2fb0]
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 3
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 4
mov ecx, esi
call eax
cmp dword [ebp - 0x2fe4], edi
jne 0x42bcc0
cmp dword [ebp - 0x2b84], edi
je 0x42bcc9
push 1
mov ecx, esi
call fcn.00423310
cmp dword [ebp - 0x840], 8
jb 0x42bce1
mov ecx, dword [ebp - 0x854]
push ecx
call fcn.0043c798
add esp, 4
mov eax, dword [ebp - 0x28f4]
xor edx, edx
mov dword [ebp - 0x840], 7
mov dword [ebp - 0x844], edi
mov word [ebp - 0x854], dx
cmp eax, edi
je 0x42bd0d
push eax
call fcn.0043c798
add esp, 4
mov eax, dword [ebp - 0x2fc8]
cmp eax, edi
je 0x42bd49
mov esi, dword [ebp - 0x2fc4]
mov edi, eax
cmp eax, esi
je 0x42bd40
lea eax, [ebp - 0x2fbc]
push edi
push eax
call fcn.00406920
add edi, 0x1c
add esp, 8
cmp edi, esi
jne 0x42bd23
mov eax, dword [ebp - 0x2fc8]
push eax
call fcn.0043c798
add esp, 4
xor ebx, ebx
lea ecx, [ebp - 0x2ffc]
mov dword [ebp - 0x2fc8], ebx
mov dword [ebp - 0x2fc4], ebx
mov dword [ebp - 0x2fc0], ebx
mov byte [ebp - 4], 0xc
call fcn.0043a1b0
lea ecx, [ebp - 0x2fe0]
call fcn.0043a1a0
mov ecx, dword [ebp - 0x8f8]
mov esi, dword [ebp - 0x2fa0]
push 0x2c
lea edi, [esi + 0xb8]
push ecx
mov ecx, edi
mov byte [ebp - 4], 0x1f
call fcn.00403890
push eax
lea ecx, [ebp - 0x2fe0]
call fcn.0043a510
lea ecx, [ebp - 0x2fe0]
call fcn.00438c50
cmp eax, 1
ja 0x42bdda
cmp dword [esi + 0x424], ebx
jne 0x42bdda
lea ecx, [ebp - 0x1a60]
call fcn.0042dd90
cmp eax, 2
jne 0x42bdee
push 6
mov ecx, dword [ebp - 0x2fb0]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
lea ecx, [ebp - 0x2fe0]
mov byte [ebp - 4], 0xc
call fcn.0043a1b0
jmp 0x42c05d
cmp eax, 0xffffffff
jne 0x42bdf7
push 5
jmp 0x42bdcd
mov ecx, edi
call fcn.00404560
mov ecx, edi
mov esi, eax
call fcn.004045c0
mov ecx, esi
lea esi, [ecx + 2]
lea esp, [esp]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x42be10
sub ecx, esi
sar ecx, 1
je 0x42bdda
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x42be24
sub eax, edx
sar eax, 1
je 0x42bdda
call fcn.00445a97
mov ecx, dword [eax + 4]
lea ecx, [ecx + 0x420]
call fcn.00424bb0
lea ecx, [ebp - 0x2fe0]
mov byte [ebp - 4], 0xc
call fcn.0043a1b0
jmp 0x42c05d
mov ecx, dword [ebp - 0x2fb0]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 5
call eax
cmp dword [ebp - 0x840], 8
jb 0x42be83
mov ecx, dword [ebp - 0x854]
push ecx
call fcn.0043c798
add esp, 4
mov eax, dword [ebp - 0x28f4]
xor edx, edx
mov dword [ebp - 0x840], 7
mov dword [ebp - 0x844], edi
mov word [ebp - 0x854], dx
cmp eax, edi
je 0x42beaf
push eax
call fcn.0043c798
add esp, 4
mov eax, dword [ebp - 0x2fc8]
mov dword [ebp - 0x28f4], edi
mov dword [ebp - 0x28f0], edi
mov dword [ebp - 0x28ec], edi
cmp eax, edi
je 0x42beff
mov esi, dword [ebp - 0x2fc4]
mov edi, eax
cmp eax, esi
je 0x42bef4
lea eax, [ebp - 0x2fbc]
push edi
push eax
call fcn.00406920
add edi, 0x1c
add esp, 8
cmp edi, esi
jne 0x42bed7
mov eax, dword [ebp - 0x2fc8]
push eax
call fcn.0043c798
add esp, 4
xor edi, edi
lea ecx, [ebp - 0x2ffc]
mov dword [ebp - 0x2fc8], edi
mov dword [ebp - 0x2fc4], edi
mov dword [ebp - 0x2fc0], edi
mov byte [ebp - 4], 0xc
call fcn.0043a1b0
jmp 0x42c05d
mov ecx, dword [ebp - 0x2fb0]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 5
call eax
push 0x2726
call fcn.00447046
test eax, eax
je 0x42bf53
push 0x2726
push eax
lea ecx, [ebp - 0x2fac]
call fcn.00404cb0
mov edi, dword [0x5c1220]
lea ecx, [ebp - 0x2fb4]
push ecx
lea edx, [ebp - 0x2fb8]
push edx
lea ecx, [edi + 4]
mov dword [ebp - 0x2fb4], 0x2726
call fcn.00405af0
mov eax, dword [eax]
cmp eax, dword [edi + 8]
je 0x42bf85
mov edi, dword [eax + 0x10]
jmp 0x42bf87
xor edi, edi
push edi
call fcn.00447046
test eax, eax
je 0x42bf9e
push edi
push eax
lea ecx, [ebp - 0x2fa8]
call fcn.00404cb0
mov ecx, esi
call fcn.00406a50
push eax
push 0x55fcdc
lea ecx, [ebp - 0x2fac]
call fcn.00405750
mov ecx, esi
call fcn.00406a50
push eax
push 0x55fcdc
lea ecx, [ebp - 0x2fa8]
call fcn.00405750
mov edi, dword [0x5c1220]
lea eax, [ebp - 0x2fb4]
push eax
lea ecx, [ebp - 0x2fb8]
push ecx
lea ecx, [edi + 4]
mov dword [ebp - 0x2fb4], 0x2724
call fcn.00405af0
mov eax, dword [eax]
cmp eax, dword [edi + 8]
je 0x42c000
mov edi, dword [eax + 0x14]
jmp 0x42c002
xor edi, edi
mov esi, dword [ebp - 0x2fa8]
mov ecx, dword [esi - 8]
mov eax, 1
sub eax, dword [esi - 4]
or ecx, eax
jge 0x42c02a
push 0
lea ecx, [ebp - 0x2fa8]
call fcn.004012e0
mov esi, dword [ebp - 0x2fa8]
mov edx, dword [ebp - 0x2fac]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x42c052
push 0
lea ecx, [ebp - 0x2fac]
call fcn.004012e0
mov edx, dword [ebp - 0x2fac]
push edi
push esi
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov esi, dword [ebp - 0x2fa0]
cmp dword [esi + 0x424], 0
jne 0x42c212
mov edx, dword [ebp - 0x2fb0]
cmp dword [edx + 0x10], 1
jne 0x42c212
push 0x272a
call fcn.00447046
test eax, eax
je 0x42c09f
push 0x272a
push eax
lea ecx, [ebp - 0x2fac]
call fcn.00404cb0
mov edi, dword [0x5c1220]
mov ecx, dword [edi + 8]
mov eax, dword [ecx + 4]
cmp byte [eax + 0x19], 0
mov edx, 0x272a
jne 0x42c0ca
cmp dword [eax + 0xc], edx
jae 0x42c0c0
mov eax, dword [eax + 8]
jmp 0x42c0c4
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0x19], 0
je 0x42c0b6
mov eax, dword [edi + 8]
mov dword [ebp - 0x2fb4], ecx
cmp ecx, eax
je 0x42c0e4
cmp edx, dword [ecx + 0xc]
jb 0x42c0e4
lea eax, [ebp - 0x2fb4]
jmp 0x42c0f0
mov dword [ebp - 0x2fb8], eax
lea eax, [ebp - 0x2fb8]
mov eax, dword [eax]
cmp eax, dword [edi + 8]
je 0x42c0fc
mov edi, dword [eax + 0x10]
jmp 0x42c0fe
xor edi, edi
push edi
call fcn.00447046
test eax, eax
je 0x42c115
push edi
push eax
lea ecx, [ebp - 0x2fa8]
call fcn.00404cb0
lea ecx, [esi + 0xb8]
call fcn.00406a50
push eax
push 0x55fcdc
lea ecx, [ebp - 0x2fac]
call fcn.00405750
lea ecx, [esi + 0xb8]
call fcn.00406a50
push eax
push 0x55fcdc
lea ecx, [ebp - 0x2fa8]
call fcn.00405750
mov edi, dword [0x5c1220]
mov ecx, dword [edi + 8]
mov eax, dword [ecx + 4]
cmp byte [eax + 0x19], 0
mov edx, 0x272a
jne 0x42c178
cmp dword [eax + 0xc], edx
jae 0x42c16e
mov eax, dword [eax + 8]
jmp 0x42c172
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0x19], 0
je 0x42c164
mov eax, dword [edi + 8]
mov dword [ebp - 0x2fb4], ecx
cmp ecx, eax
je 0x42c192
cmp edx, dword [ecx + 0xc]
jb 0x42c192
lea eax, [ebp - 0x2fb4]
jmp 0x42c19e
mov dword [ebp - 0x2fb8], eax
lea eax, [ebp - 0x2fb8]
mov eax, dword [eax]
cmp eax, dword [edi + 8]
je 0x42c1aa
mov edi, dword [eax + 0x14]
jmp 0x42c1ac
xor edi, edi
mov ecx, dword [ebp - 0x2fa8]
mov eax, 1
sub eax, dword [ecx - 4]
or eax, dword [ecx - 8]
jge 0x42c1cc
push 0
lea ecx, [ebp - 0x2fa8]
call fcn.004012e0
mov ecx, dword [ebp - 0x2fac]
mov eax, 1
sub eax, dword [ecx - 4]
or eax, dword [ecx - 8]
jge 0x42c1ec
push 0
lea ecx, [ebp - 0x2fac]
call fcn.004012e0
mov eax, dword [ebp - 0x2fa8]
mov ecx, dword [ebp - 0x2fac]
push edi
push eax
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 1
je 0x42c20d
cmp eax, 6
jne 0x42c212
call fcn.00403490
mov eax, dword [ebp - 0x2fa0]
mov esi, dword [ebp - 0x2fb0]
mov edx, dword [eax + 0x428]
xor ebx, ebx
mov dword [eax + 0x4c0], edx
cmp esi, ebx
je 0x42c257
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax]
push 1
mov ecx, esi
call edx
call fcn.00445a97
mov eax, dword [eax + 8]
push eax
push str.__MFP_ISTDRV__
call dword [sym.imp.USER32.dll_UnregisterClassW]
mov eax, dword [ebp - 0x2fa8]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xb
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42c27d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x2fac]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42c2a3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, 8
cmp dword [ebp - 0x8b0], edi
jb 0x42c2bf
mov ecx, dword [ebp - 0x8c4]
push ecx
call fcn.0043c798
add esp, 4
xor edx, edx
mov esi, 7
lea ecx, [ebp - 0x3050]
mov dword [ebp - 0x8b0], esi
mov dword [ebp - 0x8b4], ebx
mov word [ebp - 0x8c4], dx
mov byte [ebp - 4], 8
call fcn.00437140
cmp dword [ebp - 0x894], edi
jb 0x42c2ff
mov eax, dword [ebp - 0x8a8]
push eax
call fcn.0043c798
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x894], esi
mov dword [ebp - 0x898], ebx
mov word [ebp - 0x8a8], cx
cmp dword [ebp - 0x85c], edi
jb 0x42c32b
mov edx, dword [ebp - 0x870]
push edx
call fcn.0043c798
add esp, 4
xor eax, eax
mov dword [ebp - 0x85c], esi
mov dword [ebp - 0x860], ebx
mov word [ebp - 0x870], ax
cmp dword [ebp - 0x878], edi
jb 0x42c357
mov ecx, dword [ebp - 0x88c]
push ecx
call fcn.0043c798
add esp, 4
xor edx, edx
lea ecx, [ebp - 0x1a60]
mov dword [ebp - 0x878], esi
mov dword [ebp - 0x87c], ebx
mov word [ebp - 0x88c], dx
mov byte [ebp - 4], 4
call fcn.0042db30
lea ecx, [ebp - 0x1590]
mov byte [ebp - 4], 3
call fcn.004356e0
lea ecx, [ebp - 0xcb0]
mov byte [ebp - 4], 2
call fcn.00432880
lea ecx, [ebp - 0x1118]
mov byte [ebp - 4], 1
call fcn.0042c880
mov byte [ebp - 4], bl
jmp 0x42b9d8