Function at 0x42e980
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x573d28
mov eax, dword fs:[0]
push eax
sub esp, 0x298
push ebx
push esi
push edi
mov eax, dword [0x5d1614]
xor eax, esp
push eax
lea eax, [esp + 0x2a8]
mov dword fs:[0], eax
push str.UI_MODE_:_VERSION_CHECK_:_START_r_n
push 0x5d9f60
call fcn.00403a60
mov ebx, dword [ebp + 8]
lea eax, [ebx + 0x88]
add esp, 8
push eax
mov dword [esp + 0x44], eax
call fcn.00417740
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x5a04b0
call fcn.00401a30
lea esi, [ebx + 0x1fc]
call fcn.0040ba50
mov eax, dword [ebx + 0x20]
xor edi, edi
push edi
push edi
push 0x2b1c
push eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x30], edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, eax
mov dword [ebx + 0x144], esi
call fcn.00447edb
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x42ea30
push 0x80004005
call fcn.00401fc0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x78], eax
lea ecx, [esp + 0x78]
call fcn.00401c70
xor eax, eax
mov dword [esp + 0x2b0], 0xffffffff
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
call fcn.00447edb
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x42ea82
push 0x80004005
call fcn.00401fc0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x88], eax
xor eax, eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
call fcn.00447edb
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x42eabf
push 0x80004005
call fcn.00401fc0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x94], eax
call fcn.00447edb
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x42eaec
push 0x80004005
call fcn.00401fc0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x98], eax
mov dword [esp + 0x2b0], 1
mov dword [esp + 0x9c], edi
cmp dword [ebx + 0x138], esi
jbe 0x42eb44
cmp esi, edi
jl 0x42ebf7
cmp esi, dword [ebx + 0x138]
jge 0x42ebf7
mov edx, dword [ebx + 0x134]
lea ecx, [esi + esi*4]
lea edi, [edx + ecx*8]
lea esi, [esp + 0x78]
call fcn.004307d0
xor edi, edi
mov eax, dword [esp + 0x78]
mov eax, dword [eax - 0xc]
cmp eax, edi
je 0x4306f2
mov esi, dword [esp + 0x7c]
cmp esi, 3
je 0x42eb65
cmp esi, 2
jne 0x4306f2
push 0x5a04b0
lea ecx, [esp + 0x4c]
call fcn.00401a30
lea ecx, [esp + 0x98]
push ecx
lea ecx, [esp + 0x4c]
mov byte [esp + 0x2b4], 2
call fcn.00401f10
cmp esi, 3
jne 0x42ebfc
mov eax, dword [esp + 0x78]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x14], esp
mov esi, esp
push eax
call fcn.00401fe0
add eax, 0x10
mov dword [esi], eax
add esp, 4
lea esi, [esp + 0x14]
call fcn.00409020
add esp, 4
lea ecx, [ebx + 0xbc]
push eax
mov byte [esp + 0x2b4], 3
call fcn.00401f10
mov byte [esp + 0x2b0], 2
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42ec11
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x42ec11
call fcn.00447de9
cmp esi, 2
jne 0x42ec11
lea edx, [esp + 0x48]
lea ecx, [ebx + 0xbc]
push edx
call fcn.00401f10
mov eax, dword [ebx + 0xbc]
push eax
push str.ModelName___s__r_n
push 0x5d9f60
call fcn.00403a60
mov eax, dword [ebx + 0xbc]
add esp, 8
sub eax, 0x10
mov dword [esp + 0x14], esp
mov esi, esp
push eax
call fcn.00401fe0
add eax, 0x10
add esp, 4
mov dword [esi], eax
mov byte [esp + 0x2b4], 4
call fcn.00451023
mov eax, dword [eax + 4]
mov ecx, eax
mov byte [esp + 0x2b4], 2
call fcn.00421410
cmp dword [esp + 0x7c], 3
mov dword [esp + 0x14], 1
jne 0x42ec9f
mov eax, dword [esp + 0x48]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x14], esp
mov esi, esp
push eax
call fcn.00401fe0
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.00411780
cmp eax, 2
je 0x42ec9f
mov dword [esp + 0x14], edi
cmp dword [ebx + 0x1f8], edi
je 0x42ecff
call fcn.00451023
mov esi, dword [eax + 4]
mov eax, dword [esi + 0x130]
cmp eax, edi
je 0x42ecc6
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [esi + 0x130], edi
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x5a49f8
call fcn.00401a30
mov byte [esp + 0x2b4], 5
call fcn.00451023
mov eax, dword [eax + 4]
add eax, 0xd0
mov byte [esp + 0x2b4], 2
call fcn.0040e480
mov dword [ebx + 0x1f8], edi
mov eax, dword [esp + 0x7c]
mov dword [ebx + 0xa4], edi
cmp eax, 3
jne 0x42f220
mov eax, dword [esp + 0x78]
lea ecx, [ebx + 0xa8]
push ecx
lea esi, [ebx + 0xb8]
push esi
lea edx, [ebx + 0xb4]
push edx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov edi, esp
push eax
call fcn.00401fe0
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.0042e0f0
cmp dword [ebx + 0xa4], 0
jne 0x42ed6e
mov esi, dword [esi]
push 0x5a5b04
push esi
call fcn.00541d4b
xor ecx, ecx
add esp, 8
test eax, eax
sete cl
mov dword [ebx + 0xa4], ecx
xor edi, edi
lea esi, [esp + 0x78]
call fcn.00437100
lea ecx, [esp + 0xcc]
push ecx
call fcn.00429520
mov byte [esp + 0x2b0], 7
mov eax, dword [ebx + 0x16c]
mov dword [esp + 0x1c], edi
cmp eax, edi
je 0x42edae
mov eax, dword [eax + 0x20]
push 0x14
push edi
push 0x2b12
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov esi, dword [esp + 0x90]
cmp esi, edi
jne 0x42edcb
mov dword [0x5da204], edi
mov dword [0x5da208], edi
mov dword [0x5da20c], edi
mov edx, dword [esp + 0x78]
push edx
push str.strCurrentProduct.csParameter___s__r_n
push 0x5d9f60
call fcn.00403a60
mov eax, dword [esp + 0x88]
add esp, 0xc
push eax
push str.strCurrentProduct.dwParameterType___d__r_n
push 0x5d9f60
call fcn.00403a60
mov ecx, dword [esp + 0x8c]
add esp, 0xc
push ecx
push str.strCurrentProduct.dwProductType___d__r_n
push 0x5d9f60
call fcn.00403a60
mov edx, dword [esp + 0xa4]
add esp, 0xc
push edx
push str.strCurrentProduct.csDriverName___s__r_n
push 0x5d9f60
call fcn.00403a60
mov eax, dword [esp + 0x94]
add esp, 0xc
push eax
push str.strCurrentProduct.csRegion___s__r_n
push 0x5d9f60
call fcn.00403a60
add esp, 0xc
push esi
push str.strCurrentProduct.bDefault___d__r_n
push 0x5d9f60
call fcn.00403a60
mov ecx, dword [esp + 0x90]
add esp, 0xc
push ecx
push str.strCurrentProduct.dwRegion__0x_08x__r_n
push 0x5d9f60
call fcn.00403a60
sub esp, 0x1c
mov edx, esp
mov dword [esp + 0x38], esp
push edx
lea edi, [esp + 0xa4]
call fcn.00424140
mov byte [esp + 0x2d8], 8
mov esi, dword [0x5d9f88]
call fcn.00451023
mov eax, dword [eax + 4]
push esi
push eax
mov byte [esp + 0x2e0], 7
call fcn.00421690
push 0x5a04b0
lea ecx, [esp + 0xa4]
call fcn.00401a30
sub esp, 0x28
mov byte [esp + 0x2d8], 9
mov eax, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00424140
push ecx
mov byte [esp + 0x2dc], 0xa
mov ecx, esp
mov dword [esp + 0x64], esp
push 0x5a04b0
call fcn.00401a30
lea ecx, [esp + 0x4c]
push ecx
mov esi, 1
push esi
lea ecx, [esp + 0x100]
mov edx, ebx
mov byte [esp + 0x2e4], 9
call fcn.00430c00
mov dword [esp + 0x44], esi
cmp eax, 0xfffffffb
je 0x42ef1f
cmp eax, 0xfffffffa
jne 0x42ef39
push str.UI_MODE_:_VERSION_CHECK_:_CHECK_CONNECTION__FALSE_r_n
push 0x5d9f60
call fcn.00403a60
add esp, 8
mov dword [esp + 0x44], 0
push str.UI_MODE_:_VERSION_CHECK_:_CHECK_CONNECTION__TRUE_r_n
push 0x5d9f60
call fcn.00403a60
mov eax, dword [ebx + 0x16c]
add esp, 8
test eax, eax
je 0x42ef68
mov eax, dword [eax + 0x20]
push 0x32
push 0x14
push 0x2b12
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
cmp dword [esp + 0x14], 0
je 0x42f40f
lea edi, [esp + 0xcc]
call fcn.004296a0
sub esp, 0x28
mov edx, esp
mov dword [esp + 0x38], esp
push edx
lea edi, [esp + 0xa4]
call fcn.00424140
push ecx
mov byte [esp + 0x2dc], 0xb
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x5a04b0
call fcn.00401a30
lea eax, [esp + 0x4c]
push eax
push 3
lea ecx, [esp + 0x100]
mov edx, ebx
mov byte [esp + 0x2e4], 9
call fcn.00430c00
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x42efd9
add dword [0x5da14c], esi
mov dword [esp + 0x18], ecx
test eax, eax
jne 0x42f2af
push str.UI_MODE_:_VERSION_CHECK_:_FIRMWARE__SUCCESS_r_n
push 0x5d9f60
call fcn.00403a60
add esp, 8
mov edi, 1
lea esi, [ebx + 0x1fc]
call fcn.0040b960
cmp dword [esp + 0x18], 0
je 0x42f0ad
push 0x3c
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x5d9f68
mov dword [esp + 0x184], edi
mov dword [ebx + 0xfc], 0
call fcn.00415230
push eax
lea ecx, [esp + 0x160]
mov byte [esp + 0x2b4], 0xc
call fcn.00401f10
lea ecx, [esp + 0x10]
mov byte [esp + 0x2b0], 9
call fcn.00401fa0
push 0x3d
lea edx, [esp + 0x14]
push edx
mov ecx, 0x5d9f68
call fcn.00415230
push eax
lea ecx, [esp + 0x16c]
mov byte [esp + 0x2b4], 0xd
call fcn.00401f10
lea ecx, [esp + 0x10]
mov byte [esp + 0x2b0], 9
call fcn.00401fa0
mov edi, dword [esp + 0x40]
lea eax, [esp + 0xcc]
push eax
mov dword [esp + 0xe4], 3
call fcn.004177c0
cmp dword [esp + 0x7c], 2
jne 0x42f40f
lea edi, [esp + 0xcc]
call fcn.004296a0
sub esp, 0x28
mov ecx, esp
mov dword [esp + 0x38], esp
push ecx
lea edi, [esp + 0xa4]
call fcn.00424140
push ecx
mov byte [esp + 0x2dc], 0x11
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x5a04b0
call fcn.00401a30
lea edx, [esp + 0x4c]
push edx
push 5
lea ecx, [esp + 0x100]
mov edx, ebx
mov byte [esp + 0x2e4], 9
call fcn.00430c00
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x42f11e
inc dword [0x5da14c]
or dword [esp + 0x18], ecx
test eax, eax
jne 0x42f40f
push str.UI_MODE_:_VERSION_CHECK_:_NETWORK_FIRMWARE__SUCCESS_r_n
push 0x5d9f60
call fcn.00403a60
add esp, 8
mov edi, 1
lea esi, [ebx + 0x1fc]
call fcn.0040b960
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x5a04b0
call fcn.00401a30
lea esi, [ebx + 0x1fc]
call fcn.0040ba50
cmp dword [esp + 0x18], 0
je 0x42f3fb
push 0x3c
lea eax, [esp + 0x18]
push eax
mov ecx, 0x5d9f68
mov dword [esp + 0x184], edi
mov dword [ebx + 0xfc], 0
call fcn.00415230
mov byte [esp + 0x2b0], 0x12
mov ecx, dword [esp + 0x14]
push ecx
lea edx, [esp + 0x160]
push str._s__Network_
push edx
call fcn.00402800
add esp, 0xc
push 0x3d
lea eax, [esp + 0x14]
push eax
mov ecx, 0x5d9f68
call fcn.00415230
push eax
lea ecx, [esp + 0x16c]
mov byte [esp + 0x2b4], 0x13
call fcn.00401f80
lea ecx, [esp + 0x10]
mov byte [esp + 0x2b0], 0x12
call fcn.00401fa0
mov edi, dword [esp + 0x40]
lea ecx, [esp + 0xcc]
push ecx
mov dword [esp + 0xe4], 5
call fcn.004177c0
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b0], 9
call fcn.00401fa0
jmp 0x42f40f
cmp eax, 2
jne 0x42ed70
lea eax, [ebx + 0xa8]
push eax
lea edx, [ebx + 0xb8]
push edx
lea eax, [ebx + 0xb4]
push eax
mov eax, dword [esp + 0x84]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov esi, esp
push eax
call fcn.00401fe0
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.0042e0f0
mov dword [esp + 0x10], vtable.CTimeZoneCheck.0
mov byte [esp + 0x2b0], 6
cmp dword [ebx + 0xa4], edi
jne 0x42f2a2
xor esi, esi
call fcn.0043dd40
cmp eax, 1
jne 0x42f288
mov esi, eax
mov dword [ebx + 0xa4], esi
cmp esi, edi
je 0x42f2a2
push 0x5a5b08
lea ecx, [ebx + 0xa8]
call fcn.004019e0
mov byte [esp + 0x2b0], 2
jmp 0x42ed70
cmp eax, 0xfffffffc
je 0x42f2e7
cmp eax, 0xfffffffb
je 0x42f2e7
push eax
push str.UI_MODE_:_VERSION_CHECK_:_FIRMWARE__FAILED__d__r_n
push 0x5d9f60
call fcn.00403a60
mov edi, 1
add esp, 0xc
lea esi, [ebx + 0x1fc]
mov dword [ebx + 0xfc], edi
call fcn.0040b960
jmp 0x42f0ad
push eax
push str.UI_MODE_:_VERSION_CHECK_:_FIRMWARE__FAILED__d__r_n
push 0x5d9f60
call fcn.00403a60
add esp, 0xc
xor edi, edi
lea esi, [ebx + 0x1fc]
mov dword [ebx + 0xfc], 1
call fcn.0040b960
push 0x32
lea ecx, [esp + 0x3c]
push ecx
mov ecx, 0x5d9f68
call fcn.00415230
lea ecx, [esp + 0x14]
call fcn.00401c40
push 0x3e
lea edx, [esp + 0x14]
push edx
mov ecx, 0x5d9f68
mov byte [esp + 0x2b8], 0xf
call fcn.00415230
mov byte [esp + 0x2b0], 0x10
mov ecx, dword [esp + 0x38]
mov eax, dword [eax]
push ecx
push eax
lea edx, [esp + 0x1c]
push edx
call fcn.00402800
mov byte [esp + 0x2bc], 0xf
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
add esp, 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f389
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x14]
push ecx
add edi, 0xfffffff0
mov dword [esp + 0x14], esp
mov esi, esp
push edi
call fcn.00401fe0
add eax, 0x10
mov dword [esi], eax
add esp, 4
lea esi, [ebx + 0x1fc]
call fcn.0040ba50
mov byte [esp + 0x2b0], 0xe
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f3d1
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov byte [esp + 0x2b0], 9
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42f40f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x42f40f
push 0
push str.UI_MODE_:_VERSION_CHECK_:_NETWORK_FIRMWARE__FAILED__d__r_n
push 0x5d9f60
call fcn.00403a60
add esp, 0xc
mov eax, dword [ebx + 0x16c]
test eax, eax
je 0x42f42c
mov eax, dword [eax + 0x20]
push 0x46
push 0x32
push 0x2b12
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
cmp dword [esp + 0x44], 0
je 0x42f6fc
cmp dword [esp + 0x7c], 3
jne 0x42f6fc
cmp dword [ebx + 0x36c], 0
jne 0x42f6fc
lea edi, [esp + 0xcc]
call fcn.004296a0
sub esp, 0x28
mov edx, esp
mov dword [esp + 0x38], esp
push edx
lea edi, [esp + 0xa4]
call fcn.00424140
push ecx
mov byte [esp + 0x2dc], 0x14
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x5a04b0
call fcn.00401a30
lea eax, [esp + 0x4c]
push eax
mov esi, 1
push esi
lea ecx, [esp + 0x100]
mov edx, ebx
mov byte [esp + 0x2e4], 9
call fcn.00430c00
mov ecx, dword [esp + 0x20]
or dword [esp + 0x18], ecx
test ecx, ecx
je 0x42f4bd
add dword [0x5da154], esi
test eax, eax
jne 0x42f6e9
push str.UI_MODE_:_VERSION_CHECK_:_PRINTER_DRIVER__SUCCESS_r_n
push 0x5d9f60
call fcn.00403a60
add esp, 8
push 0x38
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x5d9f68
call fcn.00415230
push eax
lea ecx, [esp + 0x160]
mov byte [esp + 0x2b4], 0x15
call fcn.00401f80
lea ecx, [esp + 0x10]
mov byte [esp + 0x2b0], 9
call fcn.00401fa0
push 0x39
lea edx, [esp + 0x14]
push edx
mov ecx, 0x5d9f68
call fcn.00415230
push eax
lea ecx, [esp + 0x16c]
mov byte [esp + 0x2b4], 0x16
call fcn.00401f80
lea ecx, [esp + 0x10]
mov byte [esp + 0x2b0], 9
call fcn.00401fa0
cmp dword [esp + 0x174], esi
jne 0x42f559
mov eax, dword [esp + 0x108]
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x1ac]
push ecx
call fcn.00429520
sub esp, 0x28
mov byte [esp + 0x2d8], 0x17
mov edx, esp
mov dword [esp + 0x38], esp
push edx
lea edi, [esp + 0xa4]
call fcn.00424140
push ecx
mov byte [esp + 0x2dc], 0x18
lea eax, [esp + 0x18c]
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call fcn.00402050
lea ecx, [esp + 0x4c]
push ecx
push 4
lea ecx, [esp + 0x1e0]
mov edx, ebx
mov byte [esp + 0x2e4], 0x17
call fcn.00430c00
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x42f5cb
add dword [0x5da15c], esi
or dword [esp + 0x18], ecx
test eax, eax
jne 0x42f68e
push str.UI_MODE_:_VERSION_CHECK_:_PRINTER_DRIVER_PATCH__SUCCESS_r_n
push 0x5d9f60
call fcn.00403a60
add esp, 8
lea edx, [esp + 0x240]
push edx
lea ecx, [esp + 0x164]
call fcn.00401f10
cmp dword [esp + 0x254], esi
mov dword [esp + 0x14c], 1
lea edi, [esp + 0x1ac]
lea esi, [esp + 0x10c]
jne 0x42f65f
call fcn.00417fd0
mov eax, dword [esp + 0x1e8]
add dword [esp + 0x1c], eax
cmp dword [esp + 0x174], 0
mov eax, dword [esp + 0x254]
jne 0x42f64f
test eax, eax
je 0x42f64f
mov dword [esp + 0x150], 1
mov dword [esp + 0x178], eax
mov dword [esp + 0x174], eax
jmp 0x42f678
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x1e8]
add edx, ecx
mov dword [esp + 0x1c], edx
call fcn.00417fd0
lea eax, [esp + 0x24c]
push eax
lea ecx, [esp + 0x170]
call fcn.00401f10
jmp 0x42f6b7
push eax
push str.UI_MODE_:_VERSION_CHECK_:_PRINTER_DRIVER_PATCH__FAILED__d__r_n
push 0x5d9f60
call fcn.00403a60
mov ecx, dword [esp + 0x114]
add esp, 0xc
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14c], 0
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x40]
lea eax, [esp + 0xcc]
push eax
mov dword [esp + 0x174], edx
call fcn.004177c0
lea esi, [esp + 0x1ac]
mov byte [esp + 0x2b0], 9
call fcn.004178e0
jmp 0x42f6fc
push eax
push str.UI_MODE_:_VERSION_CHECK_:_PRINTER_DRIVER__FAILED__d__r_n
push 0x5d9f60
call fcn.00403a60
add esp, 0xc
mov eax, dword [ebx + 0x16c]
test eax, eax
je 0x42f719
mov eax, dword [eax + 0x20]
push 0x50
push 0x46
push 0x2b12
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
cmp dword [esp + 0x44], 0
je 0x42f847
cmp dword [ebx + 0x36c], 0
jne 0x42f847
lea edi, [esp + 0xcc]
call fcn.004296a0
sub esp, 0x28
mov ecx, esp
mov dword [esp + 0x38], esp
push ecx
lea edi, [esp + 0xa4]
call fcn.00424140
push ecx
mov byte [esp + 0x2dc], 0x19
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x5a04b0
call fcn.00401a30
lea edx, [esp + 0xf8]
push edx
lea ecx, [esp + 0x50]
mov edx, ebx
mov byte [esp + 0x2e0], 9
call fcn.00431080
mov ecx, dword [esp + 0x20]
or dword [esp + 0x18], ecx
test ecx, ecx
je 0x42f799
inc dword [0x5da164]
test eax, eax
jne 0x42f834
push str.UI_MODE_:_VERSION_CHECK_:_SCANNER_DRIVER__SUCCESS_r_n
push 0x5d9f60
call fcn.00403a60
add esp, 8
push 0x3a
lea eax, [esp + 0x14]
push eax
mov ecx, 0x5d9f68
call fcn.00415230
push eax
lea ecx, [esp + 0x160]
mov byte [esp + 0x2b4], 0x1a
call fcn.00401f10
lea ecx, [esp + 0x10]
mov byte [esp + 0x2b0], 9
call fcn.00401fa0
push 0x3b
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x5d9f68
call fcn.00415230
push eax
lea ecx, [esp + 0x16c]
mov byte [esp + 0x2b4], 0x1b
call fcn.00401f10
lea ecx, [esp + 0x10]
mov byte [esp + 0x2b0], 9
call fcn.00401fa0
mov edi, dword [esp + 0x40]
lea edx, [esp + 0xcc]
push edx
call fcn.004177c0
jmp 0x42f847
push eax
push str.UI_MODE_:_VERSION_CHECK_:_SCANNER_DRIVER__FAILED__d__r_n
push 0x5d9f60
call fcn.00403a60
add esp, 0xc
mov eax, dword [ebx + 0x16c]
test eax, eax
je 0x42f864
mov eax, dword [eax + 0x20]
push 0x5f
push 0x50
push 0x2b12
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
cmp dword [ebx + 0xa4], 0
jne 0x42f968
cmp dword [esp + 0x44], 0
je 0x42f968
cmp dword [ebx + 0x36c], 0
jne 0x42f968
lea edi, [esp + 0xcc]
call fcn.004296a0
xor esi, esi
mov dword [esp + 0x24], vtable.CArray_class_CSoftwareDispInfo__class_CSoftwareDispInfo__.0
mov dword [esp + 0x28], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], esi
lea eax, [esp + 0x24]
push eax
mov byte [esp + 0x2b4], 0x1c
call fcn.00417740
mov ecx, edi
push ecx
lea edi, [esp + 0x28]
call fcn.004177c0
sub esp, 0x28
mov edx, esp
mov dword [esp + 0x38], esp
push edx
lea edi, [esp + 0xa4]
call fcn.00424140
push ebx
lea ecx, [esp + 0x50]
call fcn.00426310
cmp eax, esi
jne 0x42f91d
push str.UI_MODE_:_VERSION_CHECK_:_MANUAL__SUCCESS_r_n
push 0x5d9f60
call fcn.00403a60
add esp, 8
cmp dword [esp + 0x2c], esi
jle 0x42ebf7
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x40]
push eax
call fcn.004177c0
jmp 0x42f930
push eax
push str.UI_MODE_:_VERSION_CHECK_:_MANUAL__FAILED__d__r_n
push 0x5d9f60
call fcn.00403a60
add esp, 0xc
cmp dword [esp + 0x2c], esi
jle 0x42ebf7
mov eax, dword [esp + 0x28]
mov ecx, 1
cmp dword [eax + 0xac], ecx
jne 0x42f957
cmp dword [eax + 0xb0], ecx
jne 0x42f957
mov dword [esp + 0x18], ecx
lea edi, [esp + 0x24]
mov byte [esp + 0x2b0], 9
call fcn.00417800
call fcn.00408ba0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x14], eax
mov eax, dword [ecx - 0xc]
test eax, eax
je 0x430422
mov edx, dword [ebx + 0x368]
xor edi, edi
cmp dword [edx - 0xc], edi
jne 0x42fc58
cmp dword [esp + 0x44], edi
je 0x430422
cmp dword [ebx + 0x36c], edi
jne 0x430422
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push str.PRSCPRAIOPRINKPRLFP
call fcn.00401a30
push ecx
lea eax, [esp + 0x50]
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
mov byte [esp + 0x2bc], 0x1d
call fcn.00402050
lea edi, [esp + 0x40]
mov byte [esp + 0x2b8], 9
call fcn.00426210
mov byte [esp + 0x2b0], 0x1e
mov ecx, dword [esp + 0x38]
push ecx
push str.UI_MODE_:_VERSION_CHECK_:_APPLICATION_LIST___s__r_n
push 0x5d9f60
call fcn.00403a60
xor esi, esi
add esp, 0xc
mov dword [esp + 0x64], vtable.CArray_struct__TARGETINFO__struct__TARGETINFO__.0
mov dword [esp + 0x68], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], esi
xor eax, eax
lea edi, [esp + 0x64]
mov byte [esp + 0x2b0], 0x1f
call fcn.00427950
push ecx
lea edx, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.00402050
mov ecx, edi
mov edx, ebx
call fcn.00422df0
mov dword [esp + 0x10], eax
mov dword [esp + 0x50], vtable.CArray_class_CSoftwareDispInfo__class_CSoftwareDispInfo__.0
mov dword [esp + 0x54], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], esi
lea eax, [esp + 0x50]
push eax
mov byte [esp + 0x2b4], 0x20
call fcn.00417740
call fcn.00451023
mov eax, dword [eax + 4]
cmp dword [eax + 0x260], esi
je 0x42fb12
lea ecx, [esp + 0x1ac]
push ecx
call fcn.00429520
mov byte [esp + 0x2b0], 0x21
mov eax, dword [esp + 0x84]
test eax, 0x100000
je 0x42fac8
push str.Usage_Panel_JP
lea ecx, [esp + 0x1c8]
call fcn.004019e0
lea edx, [esp + 0x1ac]
push edx
jmp 0x42fae8
test eax, 0xffff0
je 0x42fafc
push str.Usage_Panel_WW
lea ecx, [esp + 0x1c8]
call fcn.004019e0
lea eax, [esp + 0x1ac]
push eax
lea edi, [esp + 0x54]
mov dword [esp + 0x1cc], 0x3d
call fcn.004177c0
lea esi, [esp + 0x1ac]
mov byte [esp + 0x2b0], 0x20
call fcn.004178e0
xor esi, esi
xor edi, edi
mov dword [esp + 0x1c], edi
cmp dword [esp + 0x10], esi
jbe 0x42fbc9
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x4c], ecx
jmp 0x42fb36
mov edi, dword [esp + 0x1c]
xor esi, esi
lea edx, [esp + 0x1ac]
push edx
call fcn.00429520
cmp edi, esi
mov byte [esp + 0x2b0], 0x22
jl 0x42ebf7
cmp edi, dword [esp + 0x6c]
jge 0x42ebf7
mov esi, dword [esp + 0x4c]
push esi
lea ecx, [esp + 0x1c8]
call fcn.00401f10
mov eax, dword [esi + 4]
push eax
call fcn.00541ea8
mov dword [esp + 0x1cc], eax
add esp, 4
lea eax, [esp + 0x1ac]
push eax
lea edi, [esp + 0x54]
mov dword [esp + 0x1c4], 0x270f
call fcn.004177c0
lea esi, [esp + 0x1ac]
mov byte [esp + 0x2b0], 0x20
call fcn.004178e0
mov eax, dword [esp + 0x1c]
add dword [esp + 0x4c], 8
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x10]
jb 0x42fb30
sub esp, 0x28
mov ecx, esp
mov dword [esp + 0x38], esp
push ecx
lea edi, [esp + 0xa4]
call fcn.00424140
mov edx, dword [esp + 0x3c]
mov eax, dword [ebx + 0xfc]
push edx
push eax
lea ecx, [esp + 0x50]
push ecx
push ebx
lea ecx, [esp + 0x88]
call fcn.00430840
mov edx, dword [esp + 0x20]
or dword [esp + 0x18], edx
lea edi, [esp + 0x50]
mov byte [esp + 0x2b0], 0x1f
call fcn.00417800
lea ebx, [esp + 0x64]
mov byte [esp + 0x2b0], 0x1e
call fcn.004374d0
mov byte [esp + 0x2b0], 9
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43041f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x43041f
lea ecx, [esp + 0x290]
push ecx
call fcn.004191d0
lea ecx, [esp + 0xb8]
mov byte [esp + 0x2b0], 0x23
call fcn.004542b8
push 0xffffffffffffffff
push edi
lea ecx, [esp + 0xc0]
mov byte [esp + 0x2b8], 0x24
call fcn.00454339
mov eax, dword [ebx + 0x368]
lea edx, [esp + 0xb8]
push edx
push ecx
sub eax, 0x10
mov dword [esp + 0x18], esp
mov esi, esp
push eax
call fcn.00401fe0
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.00419230
mov dword [ebx + 0x84], eax
mov dword [esp + 0x24], vtable.CArray_class_CSoftwareDispInfo__class_CSoftwareDispInfo__.0
mov dword [esp + 0x28], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], edi
lea eax, [esp + 0x24]
push eax
mov byte [esp + 0x2b4], 0x25
call fcn.00417740
mov eax, dword [ebx + 0x84]
cmp eax, edi
jbe 0x42fd9c
xor edi, edi
test eax, eax
jbe 0x42fd9c
lea ecx, [esp + 0x1ac]
push ecx
call fcn.00429520
mov byte [esp + 0x2b0], 0x26
test edi, edi
jl 0x42ebf7
cmp edi, dword [esp + 0xc0]
jge 0x42ebf7
mov edx, dword [esp + 0xbc]
lea eax, [edx + edi*4]
push eax
lea ecx, [esp + 0x1bc]
call fcn.00401f10
mov eax, dword [esp + 0x2c]
mov ebx, eax
test eax, eax
jl 0x42ebf7
lea ecx, [eax + 1]
lea eax, [esp + 0x24]
push eax
call fcn.00417ae0
imul ebx, ebx, 0xdc
add ebx, dword [esp + 0x28]
lea ecx, [esp + 0x1ac]
push ecx
call fcn.00417e70
lea esi, [esp + 0x1ac]
mov byte [esp + 0x2b0], 0x25
call fcn.004178e0
mov edx, dword [ebp + 8]
inc edi
cmp edi, dword [edx + 0x84]
jb 0x42fd03
mov ebx, edx
xor esi, esi
mov dword [esp + 0xa4], vtable.CArray_struct__TARGETINFO__struct__TARGETINFO__.0
mov dword [esp + 0xa8], esi
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb0], esi
mov dword [esp + 0xac], esi
xor eax, eax
lea edi, [esp + 0xa4]
mov byte [esp + 0x2b0], 0x27
call fcn.00427950
cmp dword [ebx + 0x84], esi
jbe 0x430185
sub esp, 0x28
mov eax, esp
mov dword [esp + 0x38], esp
push eax
lea edi, [esp + 0xa4]
call fcn.00424140
xor ecx, ecx
cmp dword [ebx + 0x36c], esi
sete cl
push ecx
push ebx
lea ebx, [esp + 0x54]
call fcn.00424200
mov edx, dword [ebp + 8]
xor ecx, ecx
mov dword [esp + 0x1c], ecx
cmp dword [edx + 0x84], ecx
jbe 0x430181
mov eax, dword [esp + 0x28]
xor ebx, ebx
test ebx, ebx
jl 0x42ebf7
cmp ecx, dword [esp + 0x2c]
jge 0x42ebf7
cmp dword [eax + ebx + 0xb4], 0
je 0x42fe5a
mov edx, dword [ebp + 8]
cmp dword [edx + 0xfc], 0
jne 0x430167
cmp dword [eax + ebx + 0xc8], 0
jne 0x42fe7c
cmp dword [eax + ebx + 0xa8], 0
jne 0x42fe7c
cmp dword [eax + ebx + 0xb0], 0
je 0x430167
mov edx, dword [ebp + 8]
cmp dword [edx + 0x2c0], 1
je 0x42fe96
cmp dword [eax + ebx + 0xb8], 0
jne 0x430167
cmp dword [eax + ebx + 0xc0], 0
je 0x42feae
cmp dword [eax + ebx + 0xb0], 0
je 0x430167
cmp dword [esp + 0x14], 0
je 0x42fec3
cmp dword [eax + ebx + 0xc4], 0
je 0x430167
cmp dword [eax + ebx + 0xd8], 0
je 0x430167
lea esi, [esp + 0x38]
call fcn.0041d170
mov edi, dword [esp + 0x1c]
mov byte [esp + 0x2b0], 0x28
cmp edi, dword [esp + 0x2c]
jge 0x42ebf7
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + ebx + 0x1c]
push ecx
lea edx, [esp + 0x40]
push 0x5a0280
push edx
call fcn.00402800
add esp, 0xc
cmp edi, dword [esp + 0x2c]
jge 0x42ebf7
mov eax, dword [esp + 0x28]
lea ecx, [eax + ebx + 0x18]
push ecx
mov ecx, esi
call fcn.00401f10
mov eax, esi
lea ecx, [esp + 0xa4]
call fcn.00427910
cmp dword [0x5da1f0], 0
je 0x42ffb2
cmp edi, dword [esp + 0x2c]
jge 0x42ebf7
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + ebx + 0x18]
cmp dword [ecx - 0xc], 0
lea esi, [eax + ebx]
jl 0x42ffb6
push str.Usage_Panel
push ecx
call fcn.00542215
add esp, 8
test eax, eax
je 0x42ffb2
sub eax, dword [esi + 0x18]
sar eax, 1
js 0x42ffb2
mov eax, edi
lea ecx, [esp + 0x24]
call fcn.004177a0
mov esi, 1
mov dword [eax + 0xac], esi
mov eax, edi
lea ecx, [esp + 0x24]
call fcn.004177a0
mov dword [eax + 0xa8], esi
mov eax, edi
lea ecx, [esp + 0x24]
call fcn.004177a0
mov dword [eax + 0xb0], 0
mov eax, dword [esp + 0x28]
jmp 0x42ffbb
mov eax, dword [esp + 0x28]
mov esi, 1
cmp edi, dword [esp + 0x2c]
jge 0x42ebf7
cmp dword [eax + ebx + 0xa8], 0
je 0x4300fb
cmp dword [eax + ebx + 0xb0], 0
je 0x42fff3
mov eax, edi
lea ecx, [esp + 0x24]
call fcn.004177a0
mov dword [eax + 0xac], esi
jmp 0x430106
cmp dword [eax + ebx + 0xa8], 0
je 0x4300fb
cmp dword [eax + ebx + 0xb0], 0
jne 0x4300fb
mov eax, edi
lea ecx, [esp + 0x24]
call fcn.004177a0
cmp dword [eax + 0xbc], 0
je 0x43004a
mov eax, edi
lea ecx, [esp + 0x24]
call fcn.004177a0
cmp dword [eax + 0xd4], 0
jne 0x43004a
mov eax, edi
lea ecx, [esp + 0x24]
call fcn.004177a0
mov dword [eax + 0xac], esi
jmp 0x43005f
mov eax, edi
lea ecx, [esp + 0x24]
call fcn.004177a0
mov dword [eax + 0xac], 0
call fcn.00451023
mov eax, dword [eax + 4]
mov edx, dword [eax + 0xcc]
cmp dword [edx + 0x4c], 0
je 0x430106
push 0x5a65e0
mov eax, edi
lea ecx, [esp + 0x28]
call fcn.004177a0
mov ecx, eax
add ecx, 0x18
call fcn.00406480
test eax, eax
je 0x4300e4
push 0x5a65e8
mov eax, edi
lea ecx, [esp + 0x28]
call fcn.004177a0
mov ecx, eax
add ecx, 0x18
call fcn.00406480
test eax, eax
je 0x4300e4
mov eax, edi
lea ecx, [esp + 0x24]
call fcn.004177a0
mov esi, eax
mov eax, dword [esi + 0x18]
add esi, 0x18
cmp dword [eax - 0xc], 0
jl 0x430106
push str.Usage_Panel
push eax
call fcn.00542215
add esp, 8
test eax, eax
je 0x430106
sub eax, dword [esi]
sar eax, 1
js 0x430106
mov eax, edi
lea ecx, [esp + 0x24]
call fcn.004177a0
mov dword [eax + 0xac], 0
jmp 0x430106
mov dword [eax + ebx + 0xac], 0
cmp edi, dword [esp + 0x2c]
jge 0x42ebf7
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x40]
add eax, ebx
push eax
call fcn.004177c0
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x2c]
jge 0x42ebf7
mov eax, dword [esp + 0x28]
cmp dword [eax + ebx + 0xb0], 0
je 0x43014e
cmp dword [eax + ebx + 0xa8], 0
je 0x43014e
mov dword [esp + 0x18], 1
lea esi, [esp + 0x38]
mov byte [esp + 0x2b0], 0x27
call fcn.00419b10
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ebp + 8]
inc ecx
add ebx, 0xdc
mov dword [esp + 0x1c], ecx
cmp ecx, dword [edx + 0x84]
jb 0x42fe2e
xor esi, esi
mov ebx, edx
cmp dword [ebx + 0x36c], esi
jne 0x4303d2
cmp dword [esp + 0x44], esi
je 0x4303d2
mov dword [esp + 0x50], vtable.CArray_struct__TARGETINFO__struct__TARGETINFO__.0
mov dword [esp + 0x54], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], esi
xor eax, eax
lea edi, [esp + 0x50]
mov byte [esp + 0x2b0], 0x29
call fcn.00427950
mov eax, edi
push eax
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0xa8]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x1c], esp
mov edi, esp
push eax
call fcn.00401fe0
add esp, 4
add eax, 0x10
push ebx
mov dword [edi], eax
call fcn.00431310
mov dword [esp + 0x64], vtable.CArray_class_CSoftwareDispInfo__class_CSoftwareDispInfo__.0
mov dword [esp + 0x68], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], esi
lea edx, [esp + 0x64]
push edx
mov byte [esp + 0x2b4], 0x2a
call fcn.00417740
call fcn.00451023
mov eax, dword [eax + 4]
cmp dword [eax + 0x260], esi
je 0x4302b9
lea eax, [esp + 0x1ac]
push eax
call fcn.00429520
mov byte [esp + 0x2b0], 0x2b
mov eax, dword [esp + 0x84]
test eax, 0x100000
je 0x43026f
push str.Usage_Panel_JP
lea ecx, [esp + 0x1c8]
call fcn.004019e0
lea ecx, [esp + 0x1ac]
push ecx
jmp 0x43028f
test eax, 0xffff0
je 0x4302a3
push str.Usage_Panel_WW
lea ecx, [esp + 0x1c8]
call fcn.004019e0
lea edx, [esp + 0x1ac]
push edx
lea edi, [esp + 0x68]
mov dword [esp + 0x1cc], 0x3d
call fcn.004177c0
lea esi, [esp + 0x1ac]
mov byte [esp + 0x2b0], 0x2a
call fcn.004178e0
xor esi, esi
xor edi, edi
cmp dword [esp + 0x58], esi
jbe 0x430374
mov esi, dword [esp + 0x54]
mov dword [esp + 0x38], esi
jmp 0x4302d4
mov esi, dword [esp + 0x38]
lea eax, [esp + 0x1ac]
push eax
call fcn.00429520
mov byte [esp + 0x2b0], 0x2c
test edi, edi
jl 0x42ebf7
cmp edi, dword [esp + 0x58]
jge 0x42ebf7
push esi
lea ecx, [esp + 0x1c8]
call fcn.00401f10
mov eax, dword [esi + 4]
push eax
call fcn.00541ea8
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0x70]
add esp, 4
mov ebx, eax
test eax, eax
jl 0x42ebf7
lea edx, [esp + 0x64]
lea ecx, [eax + 1]
push edx
call fcn.00417ae0
imul ebx, ebx, 0xdc
add ebx, dword [esp + 0x68]
lea eax, [esp + 0x1ac]
push eax
call fcn.00417e70
lea esi, [esp + 0x1ac]
mov byte [esp + 0x2b0], 0x2a
call fcn.004178e0
add dword [esp + 0x38], 8
inc edi
cmp edi, dword [esp + 0x58]
jb 0x4302d0
mov ebx, dword [ebp + 8]
sub esp, 0x28
mov ecx, esp
mov dword [esp + 0x38], esp
push ecx
lea edi, [esp + 0xa4]
call fcn.00424140
mov edx, dword [esp + 0x3c]
mov eax, dword [ebx + 0xfc]
push edx
push eax
lea ecx, [esp + 0x50]
push ecx
push ebx
lea ecx, [esp + 0x9c]
call fcn.00430840
mov edx, dword [esp + 0x20]
or dword [esp + 0x18], edx
lea edi, [esp + 0x64]
mov byte [esp + 0x2b0], 0x29
call fcn.00417800
lea ebx, [esp + 0x50]
mov byte [esp + 0x2b0], 0x27
call fcn.004374d0
lea ebx, [esp + 0xa4]
mov byte [esp + 0x2b0], 0x25
call fcn.004374d0
lea edi, [esp + 0x24]
mov byte [esp + 0x2b0], 0x24
call fcn.00417800
lea ecx, [esp + 0xb8]
mov byte [esp + 0x2b0], 0x23
call fcn.004544e4
lea edi, [esp + 0x290]
mov byte [esp + 0x2b0], 9
call fcn.00417800
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x16c]
test eax, eax
je 0x43043f
mov eax, dword [eax + 0x20]
push 0x64
push 0x64
push 0x2b12
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
xor ecx, ecx
cmp dword [ebx + 0x90], ecx
jle 0x430482
mov esi, dword [esp + 0x40]
xor edx, edx
nop
test edx, edx
jl 0x42ebf7
cmp ecx, dword [esi + 8]
jge 0x42ebf7
mov eax, dword [esi + 4]
add eax, edx
cmp dword [eax + 0xa8], 0
jne 0x4305db
inc ecx
add edx, 0xdc
cmp ecx, dword [ebx + 0x90]
jl 0x430450
cmp dword [ebx + 0x36c], 0
je 0x4304e3
mov eax, dword [ebx + 0xa0]
cmp dword [eax - 0xc], 0
lea esi, [ebx + 0xa0]
jne 0x4305db
push 0x66
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x5d9f68
call fcn.00415230
push eax
mov ecx, esi
mov byte [esp + 0x2b4], 0x2d
call fcn.00401f10
mov byte [esp + 0x2b0], 9
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x4305cf
cmp dword [esp + 0x44], 0
je 0x430532
mov ecx, dword [ebx + 0xa0]
cmp dword [ecx - 0xc], 0
lea esi, [ebx + 0xa0]
jne 0x4305db
push 0x66
lea edx, [esp + 0x14]
push edx
mov ecx, 0x5d9f68
call fcn.00415230
push eax
mov ecx, esi
mov byte [esp + 0x2b4], 0x2e
call fcn.00401f10
mov byte [esp + 0x2b0], 9
mov eax, dword [esp + 0x10]
jmp 0x4305bf
mov ecx, dword [ebx + 0xa0]
cmp dword [ecx - 0xc], 0
lea edi, [ebx + 0xa0]
jne 0x4305db
push 0x32
lea edx, [esp + 0x18]
push edx
mov ecx, 0x5d9f68
call fcn.00415230
mov esi, eax
push 0x19
lea eax, [esp + 0x14]
push eax
mov ecx, 0x5d9f68
mov byte [esp + 0x2b8], 0x2f
call fcn.00415230
mov byte [esp + 0x2b0], 0x30
mov ecx, dword [esi]
mov eax, dword [eax]
push ecx
push eax
push edi
call fcn.00402800
mov byte [esp + 0x2bc], 0x2f
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
add esp, 0xc
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4305b3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x2b0], 9
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4305db
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.UI_MODE_:_VERSION_CHECK_:_END_r_n
push 0x5d9f60
call fcn.00403a60
mov ecx, dword [ebx + 0x20]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
add esp, 8
push 1
push 0
push 0x2b18
push ecx
call esi
mov edx, dword [ebx + 0x20]
push 0
push 0
push 0x2b19
push edx
call esi
mov eax, dword [ebx + 0x20]
push 0
push 0
push 0x2b1b
push eax
call esi
push 0x3fc
mov ecx, ebx
call fcn.0044f3ff
mov ecx, dword [eax + 0x20]
push 0
push 0
push 0x147
push ecx
lea edi, [ebx + 0x3e4]
call esi
dec eax
push eax
push edi
call fcn.0043db90
push 0x3fc
mov ecx, ebx
call fcn.0044f3ff
mov edx, dword [eax + 0x20]
push 0
push 0
push 0x147
push edx
call esi
mov ecx, eax
dec ecx
mov ebx, edi
call fcn.0043c660
mov byte [esp + 0x2b0], 7
mov eax, dword [esp + 0xa0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x430699
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea esi, [esp + 0xcc]
call fcn.004178e0
mov byte [esp + 0x2b0], 1
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4306cd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea esi, [esp + 0x78]
call fcn.00421b50
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2a8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebx + 0x270]
push 0x200
push edi
push 0x418
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebx + 0x2c0], 2
cmp dword [ebx + 0x2d0], edi
je 0x430769
mov eax, dword [ebx + 0x2d0]
cmp eax, edi
je 0x430769
push eax
mov dword [ebx + 0x2d0], edi
mov dword [ebx + 0x2d4], edi
mov dword [ebx + 0x2d8], edi
mov dword [ebx + 0x2dc], edi
mov dword [ebx + 0x2e4], edi
mov dword [ebx + 0x2e0], edi
mov dword [ebx + 0x2ec], 0xffffffff
mov byte [ebx + 0x2e9], 0
mov byte [ebx + 0x2e8], 0
call dword [sym.imp.GDI32.dll_DeleteObject]
push 0xd5
lea edx, [ebx + 0x2cc]
push edx
call fcn.00404370
mov eax, dword [ebx + 0x21c]
push 1
push edi
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
push edi
lea ecx, [ebx + 0xb9c]
call fcn.0044f649
mov ecx, dword [ebx + 0x20]
push edi
push edi
push 0x2b18
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
lea esi, [esp + 0x78]
call fcn.00421b50
xor eax, eax
mov ecx, dword [esp + 0x2a8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4