Function at 0x401000
Capabilities:
Get file version info
Initialize winsock library
Link many functions at runtime
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
mov dword [0x42fe50], eax
push 0x425020
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0xc], eax
push str.SetProcessDPIAware
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x40103d
call dword [ebp - 0xc]
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
cmp eax, ecx
jl 0x40105e
mov eax, ecx
cmp eax, 0x320
jg 0x401078
mov dword [0x427dc4], 0x10
jmp 0x4010ac
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
cmp eax, ecx
jl 0x401088
mov eax, ecx
cmp eax, 0x640
jg 0x4010a2
mov dword [0x427dc4], 0x14
jmp 0x4010ac
mov dword [0x427dc4], 0x1e
push 0x437f74
push 0x42503c
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov dword [0x42fe70], eax
cmp dword [0x42fe70], 0x4000
jbe 0x4010da
mov eax, 0x47465653
jmp 0x40270e
push 0x427e00
push dword [0x42fe70]
push 0
push 0x42504c
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
jne 0x401103
mov eax, 0x47465649
jmp 0x40270e
push 0x437f74
push 0x42fe70
push 0x42505c
push 0x427e00
call sub.VERSION.dll_VerQueryValueA
test eax, eax
jne 0x40112e
mov eax, 0x47465651
jmp 0x40270e
mov eax, dword [0x42fe70]
cmp dword [eax + 8], 0x5001e
jae 0x40114a
mov eax, 0x4746564d
jmp 0x40270e
push str.rpcrt4.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x433f04], eax
cmp dword [0x433f04], 0
jne 0x401171
mov eax, 0x5549444c
jmp 0x40270e
push str.UuidFromStringA
push dword [0x433f04]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x42fe70], eax
cmp dword [0x42fe70], 0
jne 0x40119e
mov eax, 0x55494447
jmp 0x40270e
push 0x42be10
push str.8CC497C0_A1DF_11CE_8098_00AA0047BE5D
call dword [0x42fe70]
test eax, eax
je 0x4011c0
mov eax, 0x55494443
jmp 0x40270e
push dword [0x433f04]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test eax, eax
jne 0x4011de
mov eax, 0x55494446
jmp 0x40270e
push str.riched20.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x433f04], eax
cmp dword [0x433f04], 0
jne 0x401205
mov eax, 0x5245444c
jmp 0x40270e
mov dword [0x42fe68], 8
mov dword [0x42fe6c], 0xff
push 0x42fe68
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
test eax, eax
jne 0x401236
mov eax, 0x49434345
jmp 0x40270e
push 0xf
call dword [sym.imp.USER32.dll_GetSysColor]
mov dword [0x437f7c], eax
push 0x12
call dword [sym.imp.USER32.dll_GetSysColor]
mov dword [0x42be24], eax
push dword [0x437f7c]
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [0x427de0], eax
push 0x4250b4
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x2bc
push 0
push 0
push 0
push dword [0x427dc4]
call dword [sym.imp.GDI32.dll_CreateFontA]
mov dword [0x433f28], eax
push str.IconAPL
push dword [0x42fe50]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [0x427dd0], eax
push str.IconBDS
push dword [0x42fe50]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [0x427dc8], eax
push str.IconCNS
push dword [0x42fe50]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [0x427ddc], eax
push str.IconDLG
push dword [0x42fe50]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [0x427dd8], eax
push str.IconGFX
push dword [0x42fe50]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [0x427de8], eax
push str.IconNDG
push dword [0x42fe50]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [0x42fe4c], eax
push str.IconRCH
push dword [0x42fe50]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [0x42fe58], eax
push str.IconSTP
push dword [0x42fe50]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [0x42fe7c], eax
push str.IconTAB
push dword [0x42fe50]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [0x42fe60], eax
push str.IconTIP
push dword [0x42fe50]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [0x42fe74], eax
push str.IconTRK
push dword [0x42fe50]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [0x42fe80], eax
push str.IconTVW
push dword [0x42fe50]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [0x42fe98], eax
push str.IconTXT
push dword [0x42fe50]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [0x433eec], eax
push str.IconUSR
push dword [0x42fe50]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [0x42fe94], eax
push str.IconWIN
push dword [0x42fe50]
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [0x42fe8c], eax
push str.Bitmap
push dword [0x42fe50]
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov dword [0x42fe88], eax
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0x402840
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov eax, dword [0x42fe50]
mov dword [ebp - 0x58], eax
mov eax, dword [0x427dd0]
mov dword [ebp - 0x54], eax
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], 6
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x401478
mov dword [ebp - 0x48], 0x425140
mov dword [ebp - 0x44], 0x425148
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
movzx eax, ax
test eax, eax
jne 0x401473
mov eax, 0x52434d41
jmp 0x40270e
jmp 0x4014a5
mov dword [ebp - 0x48], str.Menu
mov dword [ebp - 0x44], 0x42515c
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
movzx eax, ax
test eax, eax
jne 0x4014a5
mov eax, 0x52434d57
jmp 0x40270e
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0x402e13
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov eax, dword [0x42fe50]
mov dword [ebp - 0x58], eax
mov eax, dword [0x427ddc]
mov dword [ebp - 0x54], eax
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], 6
mov dword [ebp - 0x48], 0
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x40152b
mov dword [ebp - 0x44], 0x425168
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
movzx eax, ax
test eax, eax
jne 0x401526
mov eax, 0x52434341
jmp 0x40270e
jmp 0x401551
mov dword [ebp - 0x44], 0x425170
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
movzx eax, ax
test eax, eax
jne 0x401551
mov eax, 0x52434357
jmp 0x40270e
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0x403306
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov eax, dword [0x42fe50]
mov dword [ebp - 0x58], eax
mov eax, dword [0x433eec]
mov dword [ebp - 0x54], eax
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], 6
mov dword [ebp - 0x48], 0
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x4015d7
mov dword [ebp - 0x44], 0x42517c
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
movzx eax, ax
test eax, eax
jne 0x4015d2
mov eax, 0x52435441
jmp 0x40270e
jmp 0x4015fd
mov dword [ebp - 0x44], 0x425184
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
movzx eax, ax
test eax, eax
jne 0x4015fd
mov eax, 0x52435457
jmp 0x40270e
mov dword [ebp - 0x68], 8
mov dword [ebp - 0x64], 0x403ac6
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov eax, dword [0x42fe50]
mov dword [ebp - 0x58], eax
mov eax, dword [0x42fe94]
mov dword [ebp - 0x54], eax
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], 6
mov dword [ebp - 0x48], 0
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x401683
mov dword [ebp - 0x44], 0x425190
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
movzx eax, ax
test eax, eax
jne 0x40167e
mov eax, 0x52435541
jmp 0x40270e
jmp 0x4016a9
mov dword [ebp - 0x44], 0x425198
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
movzx eax, ax
test eax, eax
jne 0x4016a9
mov eax, 0x52435557
jmp 0x40270e
mov dword [ebp - 0x68], 0x28
mov dword [ebp - 0x64], 0x403cd4
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xc
mov eax, dword [0x42fe50]
mov dword [ebp - 0x58], eax
mov eax, dword [0x427de8]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 6
mov dword [ebp - 0x48], 0
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x401726
mov dword [ebp - 0x44], 0x4251a4
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
movzx eax, ax
test eax, eax
jne 0x401721
mov eax, 0x52434741
jmp 0x40270e
jmp 0x40174c
mov dword [ebp - 0x44], 0x4251ac
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
movzx eax, ax
test eax, eax
jne 0x40174c
mov eax, 0x52434757
jmp 0x40270e
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x401789
lea eax, [ebp - 0x68]
push eax
push 0x4251bc
push dword [0x433f04]
call dword [sym.imp.USER32.dll_GetClassInfoA]
test eax, eax
jne 0x401784
mov eax, 0x47435241
jmp 0x40270e
jmp 0x4017b0
lea eax, [ebp - 0x68]
push eax
push str.RichEdit20W
push dword [0x433f04]
call dword [sym.imp.USER32.dll_GetClassInfoW]
test eax, eax
jne 0x4017b0
mov eax, 0x47435257
jmp 0x40270e
mov eax, dword [ebp - 0x64]
mov dword [0x427dd4], eax
mov dword [ebp - 0x64], 0x4052f7
mov eax, dword [ebp - 0x5c]
mov dword [0x42fe44], eax
add dword [ebp - 0x5c], 0x10
mov eax, dword [0x42fe58]
mov dword [ebp - 0x54], eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x40180f
mov dword [ebp - 0x44], 0x4251e0
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
movzx eax, ax
test eax, eax
jne 0x40180a
mov eax, 0x52435241
jmp 0x40270e
jmp 0x401835
mov dword [ebp - 0x44], 0x4251e8
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
movzx eax, ax
test eax, eax
jne 0x401835
mov eax, 0x52435257
jmp 0x40270e
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x40186e
lea eax, [ebp - 0x68]
push eax
push 0x4251f4
push 0
call dword [sym.imp.USER32.dll_GetClassInfoA]
test eax, eax
jne 0x401869
mov eax, 0x47434441
jmp 0x40270e
jmp 0x401891
lea eax, [ebp - 0x68]
push eax
push str.32770
push 0
call dword [sym.imp.USER32.dll_GetClassInfoW]
test eax, eax
jne 0x401891
mov eax, 0x47434457
jmp 0x40270e
mov eax, dword [ebp - 0x64]
mov dword [0x433f10], eax
mov dword [ebp - 0x64], 0x403b78
mov eax, dword [0x427dd8]
mov dword [ebp - 0x54], eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x4018e4
mov dword [ebp - 0x44], 0x42520c
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
movzx eax, ax
test eax, eax
jne 0x4018df
mov eax, 0x52434441
jmp 0x40270e
jmp 0x40190a
mov dword [ebp - 0x44], str.Dialog
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
movzx eax, ax
test eax, eax
jne 0x40190a
mov eax, 0x52434457
jmp 0x40270e
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x401943
lea eax, [ebp - 0x68]
push eax
push 0x425224
push 0
call dword [sym.imp.USER32.dll_GetClassInfoA]
test eax, eax
jne 0x40193e
mov eax, 0x47434e41
jmp 0x40270e
jmp 0x401966
lea eax, [ebp - 0x68]
push eax
push str.msctls_updown32
push 0
call dword [sym.imp.USER32.dll_GetClassInfoW]
test eax, eax
jne 0x401966
mov eax, 0x47434e57
jmp 0x40270e
mov eax, dword [ebp - 0x64]
mov dword [0x433f40], eax
mov dword [ebp - 0x64], 0x40542c
mov eax, dword [0x42fe4c]
mov dword [ebp - 0x54], eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x4019b9
mov dword [ebp - 0x44], 0x425254
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
movzx eax, ax
test eax, eax
jne 0x4019b4
mov eax, 0x52434e41
jmp 0x40270e
jmp 0x4019df
mov dword [ebp - 0x44], 0x425260
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
movzx eax, ax
test eax, eax
jne 0x4019df
mov eax, 0x52434e57
jmp 0x40270e
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x401a18
lea eax, [ebp - 0x68]
push eax
push 0x425274
push 0
call dword [sym.imp.USER32.dll_GetClassInfoA]
test eax, eax
jne 0x401a13
mov eax, 0x47435341
jmp 0x40270e
jmp 0x401a3b
lea eax, [ebp - 0x68]
push eax
push str.msctls_progress32
push 0
call dword [sym.imp.USER32.dll_GetClassInfoW]
test eax, eax
jne 0x401a3b
mov eax, 0x47435357
jmp 0x40270e
mov eax, dword [ebp - 0x64]
mov dword [0x433f24], eax
mov dword [ebp - 0x64], 0x4054b1
mov eax, dword [0x42fe7c]
mov dword [ebp - 0x54], eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x401a8e
mov dword [ebp - 0x44], 0x4252ac
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
movzx eax, ax
test eax, eax
jne 0x401a89
mov eax, 0x52435341
jmp 0x40270e
jmp 0x401ab4
mov dword [ebp - 0x44], str.StripBar
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
movzx eax, ax
test eax, eax
jne 0x401ab4
mov eax, 0x52435357
jmp 0x40270e
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x401aed
lea eax, [ebp - 0x68]
push eax
push 0x4252cc
push 0
call dword [sym.imp.USER32.dll_GetClassInfoA]
test eax, eax
jne 0x401ae8
mov eax, 0x47434941
jmp 0x40270e
jmp 0x401b10
lea eax, [ebp - 0x68]
push eax
push str.SysTabControl32
push 0
call dword [sym.imp.USER32.dll_GetClassInfoW]
test eax, eax
jne 0x401b10
mov eax, 0x47434957
jmp 0x40270e
mov eax, dword [ebp - 0x64]
mov dword [0x433f38], eax
mov dword [ebp - 0x64], 0x405536
mov eax, dword [0x42fe60]
mov dword [ebp - 0x54], eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x401b63
mov dword [ebp - 0x44], 0x4252fc
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
movzx eax, ax
test eax, eax
jne 0x401b5e
mov eax, 0x52434941
jmp 0x40270e
jmp 0x401b89
mov dword [ebp - 0x44], str.TabBox
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
movzx eax, ax
test eax, eax
jne 0x401b89
mov eax, 0x52434957
jmp 0x40270e
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x401bc2
lea eax, [ebp - 0x68]
push eax
push 0x425314
push 0
call dword [sym.imp.USER32.dll_GetClassInfoA]
test eax, eax
jne 0x401bbd
mov eax, 0x47435941
jmp 0x40270e
jmp 0x401be5
lea eax, [ebp - 0x68]
push eax
push str.tooltips_class32
push 0
call dword [sym.imp.USER32.dll_GetClassInfoW]
test eax, eax
jne 0x401be5
mov eax, 0x47435957
jmp 0x40270e
mov eax, dword [ebp - 0x64]
mov dword [0x433f3c], eax
mov dword [ebp - 0x64], 0x4055bb
mov eax, dword [0x42fe74]
mov dword [ebp - 0x54], eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x401c38
mov dword [ebp - 0x44], 0x42534c
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
movzx eax, ax
test eax, eax
jne 0x401c33
mov eax, 0x52435941
jmp 0x40270e
jmp 0x401c5e
mov dword [ebp - 0x44], 0x425354
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
movzx eax, ax
test eax, eax
jne 0x401c5e
mov eax, 0x52435957
jmp 0x40270e
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x401c97
lea eax, [ebp - 0x68]
push eax
push 0x425364
push 0
call dword [sym.imp.USER32.dll_GetClassInfoA]
test eax, eax
jne 0x401c92
mov eax, 0x47435641
jmp 0x40270e
jmp 0x401cba
lea eax, [ebp - 0x68]
push eax
push str.msctls_trackbar32
push 0
call dword [sym.imp.USER32.dll_GetClassInfoW]
test eax, eax
jne 0x401cba
mov eax, 0x47435657
jmp 0x40270e
mov eax, dword [ebp - 0x64]
mov dword [0x427de4], eax
mov dword [ebp - 0x64], 0x405640
mov eax, dword [0x42fe80]
mov dword [ebp - 0x54], eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x401d0d
mov dword [ebp - 0x44], 0x42539c
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
movzx eax, ax
test eax, eax
jne 0x401d08
mov eax, 0x52435641
jmp 0x40270e
jmp 0x401d33
mov dword [ebp - 0x44], 0x4253a8
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
movzx eax, ax
test eax, eax
jne 0x401d33
mov eax, 0x52435657
jmp 0x40270e
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x401d6c
lea eax, [ebp - 0x68]
push eax
push 0x4253bc
push 0
call dword [sym.imp.USER32.dll_GetClassInfoA]
test eax, eax
jne 0x401d67
mov eax, 0x47435a41
jmp 0x40270e
jmp 0x401d8f
lea eax, [ebp - 0x68]
push eax
push str.SysTreeView32
push 0
call dword [sym.imp.USER32.dll_GetClassInfoW]
test eax, eax
jne 0x401d8f
mov eax, 0x47435a57
jmp 0x40270e
mov eax, dword [ebp - 0x64]
mov dword [0x437f70], eax
mov dword [ebp - 0x64], 0x4056c5
mov eax, dword [0x42fe98]
mov dword [ebp - 0x54], eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x401de2
mov dword [ebp - 0x44], 0x4253e8
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
movzx eax, ax
test eax, eax
jne 0x401ddd
mov eax, 0x52435a41
jmp 0x40270e
jmp 0x401e08
mov dword [ebp - 0x44], str.TreeView
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
movzx eax, ax
test eax, eax
jne 0x401e08
mov eax, 0x52435a57
jmp 0x40270e
push 0
lea eax, [ebp - 0x1c]
push eax
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x401e62
push 0
push dword [0x42fe50]
push 0
push 0
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push 0xcf0000
push 0x425408
push 0x425414
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x433ef8], eax
jmp 0x401e96
push 0
push dword [0x42fe50]
push 0
push 0
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push 0xcf0000
push str.WIN_PROLOG
push 0x425434
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x433ef8], eax
cmp dword [0x433ef8], 0
jne 0x401ead
mov eax, 0x4357454d
jmp 0x40270e
push 0
push dword [0x433ef8]
call dword [sym.imp.USER32.dll_GetMenu]
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov dword [ebp - 8], eax
mov dword [ebp - 4], 0x2d
lea eax, [ebp - 0x1c]
push eax
push dword [0x433ef8]
call dword [sym.imp.USER32.dll_GetClientRect]
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x401f29
lea eax, [ebp - 8]
push eax
push dword [0x42fe50]
push 1
push dword [0x433ef8]
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push 0x52300000
push 0
push 0x425440
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x433f20], eax
jmp 0x401f60
lea eax, [ebp - 8]
push eax
push dword [0x42fe50]
push 1
push dword [0x433ef8]
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push 0x52300000
push 0
push str.MDIclient
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x433f20], eax
cmp dword [0x433f20], 0
jne 0x401f77
mov eax, 0x43574549
jmp 0x40270e
mov eax, dword [0x42fe50]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], 0x1000000
mov dword [ebp - 0x20], 0
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x401fe5
mov dword [ebp - 0x40], 0x425460
mov dword [ebp - 0x3c], 0x425468
lea eax, [ebp - 0x40]
push eax
push 0
push 0x220
push dword [0x433f20]
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [0x437f80], eax
jmp 0x40200f
mov dword [ebp - 0x40], 0x425470
mov dword [ebp - 0x3c], str.Console
lea eax, [ebp - 0x40]
push eax
push 0
push 0x220
push dword [0x433f20]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [0x437f80], eax
cmp dword [0x437f80], 0
jne 0x402026
mov eax, 0x43574543
jmp 0x40270e
lea eax, [ebp - 0x1c]
push eax
push dword [0x437f80]
call dword [sym.imp.USER32.dll_GetClientRect]
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x402081
push 0
push dword [0x42fe50]
push 1
push dword [0x437f80]
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push 0x503001cc
push 0
push 0x42548c
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x433ea0], eax
jmp 0x4020b6
push 0
push dword [0x42fe50]
push 1
push dword [0x437f80]
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push 0x503001cc
push 0
push 0x425494
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x433ea0], eax
cmp dword [0x433ea0], 0
jne 0x4020cd
mov eax, 0x43574545
jmp 0x40270e
push 1
push dword [0x433ea0]
call fcn.00407b72
test eax, eax
jne 0x4020ec
mov eax, 0x52454453
jmp 0x40270e
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x402115
push 0x4033cf
push 0xfffffffffffffffc
push dword [0x433ea0]
call dword [sym.imp.USER32.dll_SetWindowLongA]
jmp 0x402128
push 0x4033cf
push 0xfffffffffffffffc
push dword [0x433ea0]
call dword [sym.imp.USER32.dll_SetWindowLongW]
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x40216b
push 0
push dword [0x42fe50]
push 0
push 0
push 0
push 0
push 0
push 0
push reloc.WSOCK32.dll_bind
push 0
push 0x4254a0
push 8
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x437f68], eax
jmp 0x402198
push 0
push dword [0x42fe50]
push 0
push 0
push 0
push 0
push 0
push 0
push reloc.WSOCK32.dll_bind
push 0
push str.ToolTip
push 8
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x437f68], eax
cmp dword [0x437f68], 0
jne 0x4021af
mov eax, 0x43574554
jmp 0x40270e
mov dword [0x433ec0], 0x2c
mov dword [0x433ec4], 0x20
mov dword [0x433ec8], 0
mov dword [0x433ecc], 0
mov dword [0x433ed0], 0
mov dword [0x433ed4], 0
mov dword [0x433ed8], 0
mov dword [0x433edc], 0
mov eax, dword [0x42fe50]
mov dword [0x433ee0], eax
mov dword [0x433ee4], 0
mov dword [0x433ee8], 0
push 0x433ec0
push 0
push 0x404
push dword [0x437f68]
call dword [sym.imp.USER32.dll_SendMessageA]
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push dword [ebp - 0x14]
push 0
push 0x418
push dword [0x437f68]
call dword [sym.imp.USER32.dll_SendMessageA]
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x402285
push 0x402f02
push 0xfffffffffffffffc
push dword [0x437f68]
call dword [sym.imp.USER32.dll_SetWindowLongA]
jmp 0x402298
push 0x402f02
push 0xfffffffffffffffc
push dword [0x437f68]
call dword [sym.imp.USER32.dll_SetWindowLongW]
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x4022e2
push 0
push dword [0x42fe50]
push 0
push dword [0x433ef8]
push 0
push 0
push 0
push 0
push closesocket
push 0x4254b8
push 0x4254bc
push 1
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x433f14], eax
jmp 0x402316
push 0
push dword [0x42fe50]
push 0
push dword [0x433ef8]
push 0
push 0
push 0
push 0
push closesocket
push 0x4254c4
push str.Grafix
push 1
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x433f14], eax
cmp dword [0x433f14], 0
jne 0x40232d
mov eax, 0x43574553
jmp 0x40270e
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x402356
push 0x403042
push 0xfffffffffffffffc
push dword [0x433f14]
call dword [sym.imp.USER32.dll_SetWindowLongA]
jmp 0x402369
push 0x403042
push 0xfffffffffffffffc
push dword [0x433f14]
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [0x42fe84], 0xffffffff
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
je 0x4023a4
push 0x2000
push 0x427e00
push dword [0x42fe50]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [0x433f2c], eax
jmp 0x4023f4
push 0x2000
push 0x42fea0
push dword [0x42fe50]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x2000
push 0x42fea0
push 0x42fea0
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
push 0
push 0
push 0x4000
push 0x427e00
push 0xffffffffffffffff
push 0x42fea0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
dec eax
mov dword [0x433f2c], eax
cmp dword [0x433f2c], 4
jb 0x402416
mov eax, dword [0x433f2c]
movzx eax, byte [eax + 0x427dfc]
cmp eax, 0x2e
je 0x402420
mov eax, 0x474d464e
jmp 0x40270e
push 0x4254d8
mov eax, dword [0x433f2c]
add eax, 0x427e00
sub eax, 3
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x427e00
push 0x2000
push 0x427e00
push 0x427e00
push str.profile
push 0x4254e4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x427e00
push 0x2000
mov eax, 0x427e00
add eax, 0x2000
push eax
push 0x4254ec
push str.command
push str.prolog
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
inc eax
mov dword [0x427dbc], eax
push dword [ebp + 0x10]
push 0x427e00
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, 0x2000
sub eax, dword [0x427dbc]
mov byte [eax + 0x427dff], 0
push 0x427e00
mov eax, dword [0x427dbc]
add eax, 0x427e00
add eax, 0x2000
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [0x433f2c], 0
mov byte [0x427e00], 0
push 1
push 0x40
mov eax, 0x427e00
add eax, 0x2000
push eax
call fcn.00406d4b
push 1
push 0x40
mov eax, dword [0x427dbc]
add eax, 0x427e00
add eax, 0x2000
push eax
call fcn.00406d4b
push 0
push 0x2f
mov eax, 0x427e00
add eax, 0x2000
push eax
call fcn.00406d4b
push 0
push 0x2f
mov eax, dword [0x427dbc]
add eax, 0x427e00
add eax, 0x2000
push eax
call fcn.00406d4b
mov eax, 0x427e00
add eax, 0x2000
push eax
push 0x427e00
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x425500
push 0x427e00
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [0x427dbc]
add eax, 0x427e00
add eax, 0x2000
push eax
push 0x427e00
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x425504
push 0x427e00
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x2000
push 0x42fea0
push 0xffffffffffffffff
push 0x427e00
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 7
call fcn.00405f5d
test eax, eax
jne 0x4025b8
mov eax, 0x52434443
jmp 0x40270e
mov dword [0x433f2c], 0
mov dword [0x427dbc], 0
mov dword [0x433ef0], 0
push str.user32
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0xc], eax
push 0x5e
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test al, 3
je 0x40269e
push str.IsTouchWindow
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x433f30], eax
push str.CloseTouchInputHandle
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x42be00], eax
push str.GetTouchInputInfo
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x437f60], eax
push str.UnregisterTouchWindow
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x433f08], eax
push str.RegisterTouchWindow
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x437f64], eax
cmp dword [0x433f30], 0
je 0x402694
cmp dword [0x42be00], 0
je 0x402694
cmp dword [0x437f60], 0
je 0x402694
cmp dword [0x433f08], 0
je 0x402694
cmp dword [0x437f64], 0
jne 0x40269e
mov eax, 0x544f5543
jmp 0x40270e
push 1
call dword [sym.imp.WINMM.dll_timeBeginPeriod]
push 0
push 0x3e8
push 1
push dword [0x433ef8]
call dword [sym.imp.USER32.dll_SetTimer]
push 0x427e00
push 0x202
call dword [sym.imp.WSOCK32.dll_WSAStartup]
call fcn.0041a390
call dword [sym.imp.WSOCK32.dll_WSACleanup]
push 1
push dword [0x433ef8]
call dword [sym.imp.USER32.dll_KillTimer]
push 1
call dword [sym.imp.WINMM.dll_timeEndPeriod]
push dword [0x427de0]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [0x433f28]
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, 0x50524c47
jmp 0x40270e
pop edi
pop esi
pop ebx
leave
ret 0x10