Function at 0x40cf26
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x280
mov eax, dword [0x41b070]
xor eax, dword [ebp + 4]
push ebx
mov ebx, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
inc ecx
push esi
and eax, ecx
xor esi, esi
test byte [ebp + 0xc], 2
push edi
mov dword [ebp - 0x50], eax
je 0x40cf5e
cmp dword [ebx + 0x1d8], esi
mov dword [ebp + 0xc], ecx
jg 0x40cf61
mov dword [ebp + 0xc], esi
mov eax, dword [ebx + 0x1c8]
lea edx, [ebp - 0x30]
push edx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x30], esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x60]
mov edi, ebx
call fcn.0040c690
cmp word [ebp - 0x30], si
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x54], esi
jne 0x40cf9f
push dword [ebx + 0x1a4]
lea esi, [ebp - 0x3c]
call fcn.00413a2a
xor edi, edi
jmp 0x40cfde
cmp dword [ebx + 0x218], esi
jne 0x40cfbf
cmp dword [0x41d8a4], esi
je 0x40cfbf
push 0x8c
lea esi, [ebp - 0x3c]
call fcn.0041342b
pop ecx
jmp 0x40cf9b
push 0xb2
lea esi, [ebp - 0x3c]
call fcn.0041342b
xor edi, edi
cmp dword [ebx + 0x218], edi
pop ecx
je 0x40cfde
mov dword [ebp - 0x54], 2
cmp dword [ebp - 0x50], edi
je 0x40cff0
lea eax, [ebx + 0x170]
push eax
call dword [sym.imp.USER32.dll_SetRectEmpty]
cmp dword [ebx + 0x180], edi
je 0x40d00d
cmp dword [0x41d8a4], edi
je 0x40d008
cmp dword [ebx + 0xac], edi
je 0x40d00d
xor esi, esi
inc esi
jmp 0x40d00f
xor esi, esi
cmp word [ebp - 0x30], di
je 0x40d019
cmp esi, edi
je 0x40d054
lea eax, [ebx + 0x148]
neg eax
sbb eax, eax
lea ecx, [ebx + 0x14c]
and eax, ecx
cmp dword [eax], edi
je 0x40d042
push edi
push edi
push 0x1009
push dword [ebx + 0x14c]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp word [ebp - 0x30], di
je 0x40d04d
cmp dword [ebp + 0xc], edi
jne 0x40d054
mov eax, ebx
call fcn.0040cc3a
cmp word [ebp - 0x30], di
je 0x40de67
cmp esi, edi
je 0x40de67
cmp dword [0x41d8a4], edi
je 0x40d07f
mov eax, dword [ebx + 0x210]
cmp eax, edi
je 0x40d07f
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp dword [ebx + 0x218], edi
je 0x40d097
push str.IWantTo
lea esi, [ebx + 0x210]
call fcn.0040a191
mov eax, dword [ebx + 0x218]
xor ecx, ecx
cmp eax, edi
sete cl
cmp dword [ebp + 0xc], edi
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x34], ecx
jne 0x40d5f9
and byte [ebp - 0x60], 0
push 0x7f02
push edi
mov dword [ebp - 0x64], edi
call dword [sym.imp.USER32.dll_LoadCursorW]
lea esi, [ebp - 0x68]
mov dword [ebp - 0x68], eax
call fcn.004118b7
test byte [ebx + 0x1e4], 0x40
mov dword [ebp - 0x24], edi
je 0x40d110
mov edi, dword [ebx + 0x1c8]
push str.VCADM
lea esi, [ebp + 0xc]
call fcn.0040a1bd
mov eax, dword [eax]
mov ecx, dword [edi]
lea edx, [ebp - 0x4c]
push edx
lea edx, [ebp - 0x24]
push edx
push eax
push edi
call dword [ecx + 0x28]
push dword [ebp + 0xc]
mov esi, eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
xor edi, edi
jmp 0x40d115
mov esi, 0xc516000d
cmp esi, edi
jl 0x40d5bb
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
lea edx, [ebp - 0x38]
push edx
push 0x416e2c
push eax
call dword [ecx]
test eax, eax
jl 0x40d5bb
cmp dword [ebp - 0x58], edi
je 0x40d205
push 0xa2
lea esi, [ebp - 8]
mov dword [ebp - 8], edi
mov dword [ebp + 0xc], edi
call fcn.0041342b
push 0xa5
lea esi, [ebp + 0xc]
call fcn.0041342b
lea eax, [ebp - 0x18]
push ebx
push eax
mov dword [ebp - 0x18], edi
call fcn.004106f7
push 0x54
call sub.MSVCR70.dll_void____cdecl_operator_new_unsigned_int_
mov ecx, eax
add esp, 0x14
cmp ecx, edi
je 0x40d1ab
push dword [ebp + 0xc]
mov eax, dword [ebp - 0x18]
push dword [ebp - 8]
push dword [ebx + 0x200]
mov ebx, ecx
push dword [ebp - 0x4c]
push dword [ebp - 0x38]
push str.System
push str.IWantTo
call fcn.00412783
mov ebx, dword [ebp + 8]
mov esi, eax
xor edi, edi
jmp 0x40d1ad
xor esi, esi
cmp esi, edi
mov dword [ebp - 0x2c], esi
je 0x40d1dc
xor edx, edx
xor ecx, ecx
mov eax, esi
call fcn.00412d3f
test eax, eax
je 0x40d1d4
lea eax, [ebp - 0x2c]
push eax
lea esi, [ebx + 0x1d4]
call fcn.0040a738
jmp 0x40d1dc
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
mov eax, dword [ebp - 0x18]
cmp eax, edi
je 0x40d1e9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp + 0xc], edi
je 0x40d1f7
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 8], edi
je 0x40d205
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x34], edi
je 0x40d5bb
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x2c]
push edx
mov dword [ebp - 0x2c], edi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x60]
cmp dword [ebp - 0x2c], edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x10], edi
jle 0x40d3a3
lea eax, [ebx + 0x204]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x38]
lea edx, [ebp + 0xc]
push edx
push dword [ebp - 0x10]
mov dword [ebp + 0xc], edi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x64]
mov esi, dword [ebp - 0x1c]
lea eax, [ebp + 0xc]
push eax
call fcn.00410a9c
cmp eax, 0xffffffff
jne 0x40d38b
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 8]
push edx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x78]
push edx
mov dword [ebp - 8], edi
mov word [ebp - 0x78], 3
mov ecx, dword [eax]
push eax
call dword [ecx + 0x68]
lea eax, [ebp - 0x78]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebx + 0x1c8]
lea edx, [ebp - 0x28]
push edx
lea edx, [ebp - 0xc]
push edx
push dword [ebp + 0xc]
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x28]
test eax, eax
jl 0x40d368
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
lea edx, [ebp - 0x18]
push edx
push 0x416e2c
push eax
call dword [ecx]
test eax, eax
jl 0x40d368
push 0x54
call sub.MSVCR70.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov ecx, eax
cmp ecx, edi
je 0x40d303
push edi
push edi
push dword [ebx + 0x200]
xor eax, eax
push dword [ebp - 0x28]
mov ebx, ecx
push dword [ebp - 0x18]
push dword [ebp - 8]
push dword [ebp + 0xc]
call fcn.00412783
mov ebx, dword [ebp + 8]
mov esi, eax
xor edi, edi
jmp 0x40d305
xor esi, esi
cmp esi, edi
mov dword [ebp - 0x20], esi
je 0x40d368
cmp dword [ebx + 0x1b8], edi
je 0x40d326
push str.System
lea eax, [ebp - 8]
push eax
call fcn.00411720
test al, al
je 0x40d335
xor edx, edx
xor ecx, ecx
mov eax, esi
call fcn.00412d3f
test eax, eax
je 0x40d360
mov eax, esi
call fcn.0040abe6
push eax
lea esi, [ebp - 0x14]
call fcn.0040a1bd
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x14]
push eax
lea esi, [ebp - 0x48]
call fcn.00410b10
push dword [ebp - 0x14]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x40d368
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
mov eax, dword [ebp - 0x18]
cmp eax, edi
je 0x40d375
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
cmp eax, edi
je 0x40d382
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [ebp + 0xc]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x2c]
jl 0x40d23c
push 0x20019
push str.SoftwareITConceptsOneCardASPanelApplications
push reloc.OLEAUT32.dll_SysReAllocString
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], edi
call fcn.0040a146
test eax, eax
jne 0x40d4a8
push 0x104
lea eax, [ebp - 0x280]
push eax
push edi
push dword [ebp - 0xc]
mov dword [ebp - 0x18], edi
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
test eax, eax
jne 0x40d4a8
push str.SoftwareITConceptsOneCardASPanelApplications
lea esi, [ebp + 0xc]
call fcn.0040a1bd
mov esi, 0x4183b4
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push esi
lea edi, [ebp + 0xc]
call fcn.00411638
lea eax, [ebp - 0x280]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
lea eax, [ebp - 0x280]
push eax
lea edi, [ebp + 0xc]
call fcn.00411638
push 0x54
call sub.MSVCR70.dll_void____cdecl_operator_new_unsigned_int_
test eax, eax
pop ecx
je 0x40d44a
push dword [ebx + 0x200]
mov edi, eax
push dword [ebp - 0x4c]
push dword [ebp - 0x38]
push dword [ebp + 0xc]
call fcn.004128e5
jmp 0x40d44c
xor eax, eax
test eax, eax
mov dword [ebp - 0x14], eax
je 0x40d47a
call fcn.0040abe6
push eax
lea esi, [ebp - 0x20]
call fcn.0040a1bd
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x20]
push eax
lea esi, [ebp - 0x48]
call fcn.00410b10
push dword [ebp - 0x20]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [ebp + 0xc]
inc dword [ebp - 0x18]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push 0x104
lea eax, [ebp - 0x280]
push eax
push dword [ebp - 0x18]
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
test eax, eax
je 0x40d3e6
xor edi, edi
push ebx
call fcn.0040df42
cmp eax, edi
mov dword [ebp - 8], eax
je 0x40d57d
mov dword [ebp - 0x14], eax
cmp word [eax], di
je 0x40d574
cmp dword [ebp - 0x40], edi
je 0x40d574
push 0x2c
push eax
call dword [sym.imp.MSVCR70.dll_wcschr]
cmp eax, edi
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
je 0x40d4e3
mov word [eax], di
cmp dword [ebp - 0x40], edi
mov dword [ebp - 0x10], edi
jle 0x40d55f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + ecx*4]
push dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov eax, dword [eax + 4]
lea esi, [ebp - 0x20]
mov dword [ebp + 0xc], eax
call fcn.0040a1bd
push dword [ebp + 0xc]
lea esi, [ebp - 0x1c]
mov dword [ebp + 0xc], eax
call fcn.0040a1bd
push eax
mov eax, dword [ebp + 0xc]
call fcn.00411703
push dword [ebp - 0x1c]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp + 0xf], al
call esi
push dword [ebp - 0x20]
call esi
cmp byte [ebp + 0xf], 0
jne 0x40d545
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x40]
jl 0x40d4eb
jmp 0x40d55f
lea eax, [ebp - 0x28]
push eax
lea esi, [ebx + 0x1d4]
call fcn.0040a738
mov eax, dword [ebp - 0x10]
lea esi, [ebp - 0x48]
call fcn.00410b4d
mov eax, dword [ebp - 0x18]
cmp eax, edi
je 0x40d574
add eax, 2
cmp eax, edi
mov dword [ebp - 0x14], eax
jne 0x40d4bc
push dword [ebp - 8]
call sub.MSVCR70.dll_void___cdecl_operator_delete___void__
pop ecx
cmp dword [ebp - 0x40], edi
jle 0x40d5a5
mov eax, dword [ebp - 0x44]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x40]
lea esi, [ebx + 0x1d4]
mov dword [ebp - 0x14], eax
push dword [ebp + 0xc]
call fcn.0040a738
add dword [ebp + 0xc], 4
dec dword [ebp - 0x14]
jne 0x40d594
cmp dword [ebp - 0xc], edi
je 0x40d5b3
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea esi, [ebp - 0x48]
call fcn.00411008
lea esi, [ebx + 0x1d8]
cmp dword [esi], edi
mov dword [ebp + 0xc], edi
jle 0x40d5e4
mov eax, dword [ebx + 0x1d4]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
push edi
call fcn.00412d86
inc dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
cmp eax, dword [esi]
jl 0x40d5c8
mov eax, dword [ebp - 0x24]
cmp eax, edi
je 0x40d5f1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea esi, [ebp - 0x68]
call fcn.0041189e
cmp dword [0x41d8a4], edi
je 0x40dcfe
cmp dword [ebx + 0x218], edi
jne 0x40d63c
lea esi, [ebx + 0x210]
mov eax, dword [esi]
cmp eax, edi
je 0x40d624
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, edi
jne 0x40d63c
cmp dword [ebx + 0x1d8], edi
jle 0x40d63c
mov eax, dword [ebx + 0x1d4]
mov eax, dword [eax]
push dword [eax + 4]
call fcn.0040a191
cmp dword [0x41d8a4], edi
je 0x40dcfe
push dword [ebx + 0x210]
and dword [ebp + 8], 0
mov edi, ebx
call fcn.0040cee7
test eax, eax
mov dword [ebp - 0x10], eax
jne 0x40d685
cmp dword [ebx + 0x1d8], eax
jle 0x40dce6
mov eax, dword [ebx + 0x1d4]
mov eax, dword [eax]
push dword [eax + 4]
lea esi, [ebx + 0x210]
mov dword [ebp - 0x10], eax
call fcn.0040a191
mov eax, dword [ebx + 0x1d8]
xor ecx, ecx
cmp dword [ebx + 0x218], ecx
mov dword [ebp - 0x2c], eax
mov esi, str._TR__TD_height10_colspan2___TD___TR__TR__TD_height1_colspan2__img_src_divl.gif__align_left____TD___TR__TR__TD_height10_colspan2___TD___TR_
jne 0x40d871
cmp eax, ecx
je 0x40d871
mov dword [ebp + 0xc], ecx
mov dword [ebp - 8], ecx
jle 0x40d852
mov eax, dword [ebx + 0x1d4]
mov ecx, dword [ebp - 8]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x41b78c]
mov ecx, 0x41b78c
call dword [eax + 0xc]
mov ecx, dword [esi + 4]
add eax, 0x10
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x210]
push eax
push ecx
call fcn.00413f78
test al, al
mov edi, dword [esi + 0x18]
pop ecx
pop ecx
je 0x40d719
mov eax, esi
call fcn.0040abe6
push eax
lea eax, [ebp - 0x1c]
call fcn.0040ad9c
push dword [eax]
add edi, 0xfffffffa
push edi
lea eax, [ebp - 0xc]
push str._TD_width_50____height21__img_src_select.gif__align_center___span_class_menuitem___img_src_svc_u.gif__align_center___s__span___TD_
push eax
call fcn.004108a9
mov eax, dword [ebp - 0x1c]
add esp, 0x10
jmp 0x40d76f
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], eax
mov eax, esi
call fcn.0040abe6
push eax
lea eax, [ebp - 0x24]
call fcn.0040ad9c
mov dword [ebp - 0x14], eax
mov eax, esi
call fcn.0040ac1c
push eax
lea eax, [ebp - 0x28]
call fcn.0040ad9c
mov ecx, dword [ebp - 0x14]
push dword [ecx]
add edi, 0xfffffffa
push edi
push dword [eax]
lea eax, [ebp - 0xc]
push dword [ebp - 0x20]
push str._TD_width_50____height21__img_src_empty.gif__align_center___a_class_menuitem__href__s__title__s___img_src_svc_u.gif__align_center___s__a___TD_
push eax
call fcn.004108a9
mov eax, dword [ebp - 0x28]
add esp, 0x18
add eax, 0xfffffff0
call fcn.00408daf
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
call fcn.00408daf
cmp dword [ebp + 0xc], 0
je 0x40d7e3
push dword [ebp + 0xc]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x40d7e3
push dword [ebp - 0xc]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
call esi
push eax
push dword [ebp - 0xc]
lea edi, [ebp + 0xc]
call fcn.00411638
mov edi, str._TR_
push edi
call esi
push eax
push edi
lea edi, [ebp + 8]
call fcn.00411638
push dword [ebp + 0xc]
lea esi, [ebp + 8]
call fcn.004116c8
mov esi, str.__TR_
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push esi
lea edi, [ebp + 8]
call fcn.00411638
push dword [ebp + 0xc]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
and dword [ebp + 0xc], 0
jmp 0x40d7ee
push dword [ebp - 0xc]
lea esi, [ebp + 0xc]
call fcn.0040a191
mov eax, dword [ebp - 0xc]
add eax, 0xfffffff0
call fcn.00408daf
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x2c]
jl 0x40d6b5
cmp dword [ebp + 0xc], 0
je 0x40d852
push dword [ebp + 0xc]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x40d852
mov esi, str._TR_
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push esi
lea edi, [ebp + 8]
call fcn.00411638
push dword [ebp + 0xc]
lea esi, [ebp + 8]
call fcn.004116c8
mov esi, str._td___td___TR_
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push esi
lea edi, [ebp + 8]
call fcn.00411638
mov esi, str._TR__TD_height10_colspan2___TD___TR__TR__TD_height1_colspan2__img_src_divl.gif__align_left____TD___TR__TR__TD_height10_colspan2___TD___TR_
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push esi
lea edi, [ebp + 8]
call fcn.00411638
push dword [ebp + 0xc]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [0x41b78c]
mov ecx, 0x41b78c
call dword [eax + 0xc]
add eax, 0x10
cmp dword [ebx + 0x218], 0
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x10]
je 0x40d8b6
call fcn.0040ac1c
push eax
lea eax, [ebp + 0xc]
call fcn.0040ad9c
push dword [eax]
lea eax, [ebp - 0xc]
push str._TR__TD_colspan2__span_class_description___s__span___TD___TR_
push eax
call fcn.004108a9
mov eax, dword [ebp + 0xc]
add esp, 0xc
jmp 0x40d905
mov edi, dword [eax + 0x18]
call fcn.0040ac1c
push eax
lea eax, [ebp - 0x14]
call fcn.0040ad9c
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x10]
call fcn.0040abe6
push eax
lea eax, [ebp - 0x1c]
call fcn.0040ad9c
mov ecx, dword [ebp + 0xc]
push dword [ecx]
add edi, 0xfffffffa
push dword [eax]
lea eax, [ebp - 0xc]
push edi
push str._TR__TD_colspan2__img_src_bs_u.gif__align_left___s_br__span_class_description___s__span___TD___TR_
push eax
call fcn.004108a9
mov eax, dword [ebp - 0x1c]
add esp, 0x14
add eax, 0xfffffff0
call fcn.00408daf
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.00408daf
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push dword [ebp - 0xc]
lea edi, [ebp + 8]
call fcn.00411638
cmp dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x20]
mov dword [ebp + 0xc], eax
jne 0x40d93e
test eax, eax
je 0x40da7c
mov esi, str._TR__TD_height10_colspan2___TD___TR__TR__TD_height1_colspan2__img_src_divl.gif__align_left____TD___TR__TR__TD_height10_colspan2___TD___TR_
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push esi
lea edi, [ebp + 8]
call fcn.00411638
cmp dword [ebp + 0xc], 0
jle 0x40da0a
mov eax, dword [ebp + 0xc]
and dword [ebp - 0x24], 0
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov edi, dword [eax + 0x1c]
add edi, dword [ebp - 0x24]
mov eax, edi
call fcn.0040ab91
test eax, eax
je 0x40d9fd
mov eax, dword [0x41b78c]
mov ecx, 0x41b78c
call dword [eax + 0xc]
mov esi, dword [edi + 8]
add eax, 0x10
mov dword [ebp + 0xc], eax
mov eax, dword [edi + 4]
mov edi, dword [edi + 0xc]
push eax
lea eax, [ebp - 0x28]
call fcn.0040ad9c
mov dword [ebp - 0x1c], eax
push esi
lea eax, [ebp - 0x20]
call fcn.0040ad9c
mov ecx, dword [ebp - 0x1c]
push dword [ecx]
and edi, 0xfff
push dword [eax]
lea eax, [ebp + 0xc]
push edi
push str._TR__TD_height21_colspan2__a_class_menuitem__href__u__title__s___img_src_task.gif__align_center___s__a___TD___TR_
push eax
call fcn.004108a9
mov eax, dword [ebp - 0x20]
add esp, 0x14
add eax, 0xfffffff0
call fcn.00408daf
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
call fcn.00408daf
mov esi, dword [ebp + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push esi
lea edi, [ebp + 8]
call fcn.00411638
lea eax, [esi - 0x10]
call fcn.00408daf
add dword [ebp - 0x24], 0x28
dec dword [ebp - 0x14]
jne 0x40d963
cmp dword [ebp - 0x34], 0
je 0x40da7c
and dword [ebp - 8], 0
and dword [ebp + 0xc], 0
push 0xb0
lea esi, [ebp - 8]
call fcn.0041342b
push 0xb1
lea esi, [ebp + 0xc]
call fcn.0041342b
push dword [ebp - 8]
lea eax, [ebp - 0xc]
push dword [ebp + 0xc]
push str._TR__TD_height21_colspan2__a_class_menuitem__href__learn__title__s___img_src_learn.gif__align_center___s__a___TD___TR_
push eax
call fcn.004108a9
add esp, 0x18
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push dword [ebp - 0xc]
lea edi, [ebp + 8]
call fcn.00411638
cmp dword [ebp + 0xc], 0
je 0x40da6d
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 8], 0
je 0x40da7c
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0x10]
mov esi, dword [eax + 0x2c]
test esi, esi
je 0x40dc16
mov edi, str._TR__TD_height10_colspan2___TD___TR__TR__TD_height1_colspan2__img_src_divl.gif__align_left____TD___TR__TR__TD_height10_colspan2___TD___TR_
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push edi
lea edi, [ebp + 8]
call fcn.00411638
and dword [ebp + 0xc], 0
test esi, esi
jle 0x40dc0d
and dword [ebp - 0x34], 0
mov dword [ebp - 0x14], esi
mov edi, dword [ebp - 0x10]
mov esi, dword [edi + 0x28]
mov eax, dword [0x41b78c]
add esi, dword [ebp - 0x34]
mov ecx, 0x41b78c
call dword [eax + 0xc]
mov ecx, dword [esi + 8]
mov edi, dword [edi + 0x18]
add eax, 0x10
mov dword [ebp - 8], eax
mov eax, dword [esi + 4]
mov esi, dword [esi + 0xc]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x1c], ecx
call fcn.0040ad9c
push dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x28]
call fcn.0040ad9c
mov ecx, dword [ebp - 0x20]
push dword [ecx]
add edi, 0xfffffffa
push edi
push dword [eax]
and esi, 0xfff
or esi, 0x1000
push esi
lea eax, [ebp - 8]
push str._TD_height21__a_class_menuitem__href__u__title__s___img_src_svc_u.gif__align_center___s__a___TD_
push eax
call fcn.004108a9
mov eax, dword [ebp - 0x28]
add esp, 0x18
add eax, 0xfffffff0
call fcn.00408daf
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
call fcn.00408daf
cmp dword [ebp + 0xc], 0
je 0x40dba0
push dword [ebp + 0xc]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x40dba0
push dword [ebp - 8]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
call esi
push eax
push dword [ebp - 8]
lea edi, [ebp + 0xc]
call fcn.00411638
mov edi, str._TR_
push edi
call esi
push eax
push edi
lea edi, [ebp + 8]
call fcn.00411638
push dword [ebp + 0xc]
lea esi, [ebp + 8]
call fcn.004116c8
mov esi, str.__TR_
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push esi
lea edi, [ebp + 8]
call fcn.00411638
push dword [ebp + 0xc]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
and dword [ebp + 0xc], 0
jmp 0x40dbab
push dword [ebp - 8]
lea esi, [ebp + 0xc]
call fcn.0040a191
mov eax, dword [ebp - 8]
add eax, 0xfffffff0
call fcn.00408daf
add dword [ebp - 0x34], 0x14
dec dword [ebp - 0x14]
jne 0x40dab3
cmp dword [ebp + 0xc], 0
je 0x40dc0d
push dword [ebp + 0xc]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x40dc0d
mov esi, str._TR_
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push esi
lea edi, [ebp + 8]
call fcn.00411638
push dword [ebp + 0xc]
lea esi, [ebp + 8]
call fcn.004116c8
mov esi, str._td___td___TR_
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push esi
lea edi, [ebp + 8]
call fcn.00411638
push dword [ebp + 0xc]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0x58], 0
je 0x40dcdb
mov esi, str._TR__TD_height10_colspan2___TD___TR__TR__TD_height1_colspan2__img_src_divl.gif__align_left____TD___TR__TR__TD_height10_colspan2___TD___TR_
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push esi
lea edi, [ebp + 8]
call fcn.00411638
xor eax, eax
push 0xb0
lea esi, [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], eax
mov dword [ebp + 0xc], eax
call fcn.0041342b
push 0xbc
lea esi, [ebp - 0x10]
call fcn.0041342b
push 0xbd
lea esi, [ebp - 8]
call fcn.0041342b
push 0xbb
lea esi, [ebp + 0xc]
call fcn.0041342b
push dword [ebp - 8]
lea eax, [ebp - 0xc]
push dword [ebp + 0xc]
push dword [ebp - 0x18]
push dword [ebp - 0x10]
push str._TR__TD_height21_colspan2__a_class_menuitem__href__learn__title__s___img_src_learn.gif__align_center___s__a___TD___TR__TR__TD_height21_colspan2__a_class_menuitem__href__about__title__s___img_src_about.gif__align_center___s__a___TD___TR_
push eax
call fcn.004108a9
add esp, 0x28
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push dword [ebp - 0xc]
lea edi, [ebp + 8]
call fcn.00411638
cmp dword [ebp + 0xc], 0
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
je 0x40dcbb
push dword [ebp + 0xc]
call esi
xor edi, edi
cmp dword [ebp - 8], edi
je 0x40dcc7
push dword [ebp - 8]
call esi
cmp dword [ebp - 0x10], edi
je 0x40dcd1
push dword [ebp - 0x10]
call esi
cmp dword [ebp - 0x18], edi
je 0x40dcdb
push dword [ebp - 0x18]
call esi
mov eax, dword [ebp - 0xc]
add eax, 0xfffffff0
call fcn.00408daf
push dword [ebp + 8]
mov eax, ebx
call fcn.0040cdb1
push dword [ebp + 8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x40de67
xor edi, edi
xor esi, esi
cmp dword [ebx + 0x1d8], edi
jle 0x40dda3
and dword [ebp - 0x5c], esi
mov eax, dword [ebx + 0x1d4]
mov eax, dword [eax + edi*4]
and dword [ebp + 0xc], 0
call fcn.0040abe6
push eax
mov eax, ebx
call fcn.0040ccb6
test eax, eax
mov dword [ebp - 0x1c], eax
je 0x40dd40
push 0
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + 0xc], eax
mov eax, dword [0x41d8b0]
push 0
push 0
push 0x1004
push dword [ebx + 0x14c]
add eax, esi
mov dword [ebp - 0x58], eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
lea ecx, [ebp - 0x5c]
push ecx
mov ecx, dword [ebx + 0x1d4]
push dword [ecx + edi*4]
mov ecx, eax
push dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov ebx, 0x101
xor edx, edx
call fcn.0040c82e
push dword [ebp + 0xc]
add esi, dword [0x41d8b8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp + 8]
inc edi
cmp edi, dword [eax + 0x1d8]
mov ebx, eax
jl 0x40dd11
mov esi, dword [ebx + 0x1d8]
jmp 0x40de00
mov eax, dword [ebx + 0x1d4]
dec esi
mov eax, dword [eax + esi*4]
cmp dword [eax + 0x34], 0
je 0x40ddbf
and dword [eax + 0x34], 0
mov ecx, dword [ebx + 0x1d4]
mov ecx, dword [ecx + esi*4]
mov ecx, dword [ecx + 4]
mov eax, dword [ebx + 0x1e0]
mov edx, dword [eax]
lea edi, [ebp + 0xc]
push edi
push ecx
push eax
call dword [edx + 0x54]
test eax, eax
jl 0x40dde6
cmp dword [ebp + 0xc], 0
jmp 0x40ddf5
mov eax, dword [ebx + 0x1d4]
mov eax, dword [eax + esi*4]
mov ecx, dword [eax + 0x2c]
add ecx, dword [eax + 0x20]
je 0x40de00
push 1
push esi
push ebx
call fcn.0040c87e
test esi, esi
jne 0x40ddab
cmp dword [ebx + 0x1d8], esi
jne 0x40de67
and dword [ebp + 0xc], esi
test byte [ebx + 0x1e4], 0x40
lea esi, [ebp + 0xc]
je 0x40de27
push 0xb9
call fcn.0041342b
jmp 0x40de31
push 0xc5160659
call fcn.004134ac
pop ecx
lea edi, [ebx + 0x14c]
push 0
push edi
mov ebx, 0x100
xor edx, edx
xor esi, esi
call fcn.0041097b
push dword [ebp + 0xc]
xor edx, edx
push edi
inc esi
call fcn.0041097b
cmp dword [ebp + 0xc], 0
je 0x40de64
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0x3c]
xor esi, esi
cmp eax, esi
je 0x40de8d
cmp word [eax], si
je 0x40de8d
mov ecx, dword [ebp - 0x54]
push eax
push dword [ebx + 0xe0]
mov dword [ebx + 0x144], ecx
call dword [sym.imp.USER32.dll_SetWindowTextW]
jmp 0x40de94
or dword [ebx + 0x144], 0xffffffff
cmp word [ebp - 0x30], si
je 0x40dea7
cmp dword [0x41d8a4], esi
jne 0x40dea7
push 5
pop eax
jmp 0x40dea9
xor eax, eax
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push eax
push dword [ebx + 0x14c]
call edi
mov ax, word [ebp - 0x30]
neg ax
sbb eax, eax
and eax, 0xfffffffb
add eax, 5
push eax
push dword [ebx + 0x16c]
call edi
cmp word [ebp - 0x30], si
je 0x40dee3
cmp dword [0x41d8a4], esi
je 0x40dee3
push 5
pop eax
jmp 0x40dee5
xor eax, eax
push eax
push dword [ebx + 0xa8]
call edi
mov edi, ebx
call fcn.0040efec
xor edi, edi
cmp dword [ebp - 0x50], edi
je 0x40df13
cmp dword [0x41d8a4], edi
jne 0x40df13
push 1
push edi
push dword [ebx + 0x14c]
call dword [sym.imp.USER32.dll_InvalidateRect]
cmp dword [ebp - 0x3c], edi
je 0x40df21
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0x38]
cmp eax, edi
pop edi
pop esi
pop ebx
je 0x40df31
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 4]
xor ecx, dword [ebp + 4]
xor eax, eax
call fcn.00415ab2
leave
ret 8