Function at 0x101fae0
Capabilities:
Log keystrokes via polling
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xcc
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
push eax
call fcn.010386b7
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x10]
and eax, 0xffff
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xc4], eax
jmp 0x1020934
push 0
push 4
push 0
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_WinHelpA]
jmp 0x1020a5d
push str.Ctx_Help_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call fcn.010238e0
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 1
sbb eax, eax
neg eax
push eax
call fcn.01023900
jmp 0x1020a5d
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x2c]
push eax
call fcn.0100e150
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0xfc], 1
jmp 0x1020a5d
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x2c]
push eax
call fcn.0100df40
cmp dword [ebp - 0x28], 0xb101
jne 0x101fb8c
jmp 0x1020a5d
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0xfc], 1
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x108]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x2c]
push eax
call fcn.0102b92e
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
call fcn.0102b494
mov dword [0x104cc30], 0
mov eax, dword [ebp - 0x38]
push eax
call dword [sym.imp.USER32.dll_GetTopWindow]
push eax
call fcn.01011380
jmp 0x1020a5d
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x2c]
push eax
call fcn.0101cd00
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0xfc], 1
jmp 0x1020a5d
push 1
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0xc0]
push eax
call fcn.0103666b
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
je 0x101fc59
push 0x5d7
push str.c:_ntprivatectoleuiole2.0_appscl2testchicago..handlewm.c
mov eax, dword [0x1056d98]
push eax
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push str.ReadClassStg:
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [0x104ed80]
push eax
mov eax, dword [ebp - 0x50]
push eax
call fcn.0102e6d7
mov eax, dword [ebp - 0x50]
and eax, 0x80000000
mov ecx, 0x80000000
and ecx, 0x80000000
cmp eax, ecx
je 0x101fc89
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x4c]
push eax
call fcn.0103cae7
jmp 0x1020a5d
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x60]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.010161b0
test eax, eax
jne 0x101fcbc
jmp 0x1020a5d
mov dword [ebp - 0x54], 1
push 1
cmp dword [ebp - 0x5c], 1
lea eax, [ebp - 0x54]
sbb ecx, ecx
and ecx, eax
push ecx
cmp dword [ebp - 0x60], 1
lea eax, [ebp - 0x58]
sbb ecx, ecx
and ecx, eax
push ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0xc0]
push eax
call fcn.010366a3
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
je 0x101fd38
push 0x5f5
push str.c:_ntprivatectoleuiole2.0_appscl2testchicago..handlewm.c
mov eax, dword [0x1056d98]
push eax
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push str.ReadFmtUserTypeStg:
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [0x104ed80]
push eax
mov eax, dword [ebp - 0x64]
push eax
call fcn.0102e6d7
mov eax, dword [ebp - 0x64]
and eax, 0x80000000
mov ecx, 0x80000000
and ecx, 0x80000000
cmp eax, ecx
je 0x101fe53
push pe_nt_image_headers32
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x5c], 0
je 0x101fd83
mov dword [ebp - 0xbc], 0x104cf4c
jmp 0x101fda5
cmp dword [ebp - 0x54], 0
jne 0x101fd9c
mov dword [ebp - 0xbc], 0x104cf44
jmp 0x101fda5
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0x60], 0
je 0x101fdbe
mov dword [ebp - 0xc0], 0x104cf4c
jmp 0x101fdd3
mov eax, dword [ebp - 0x58]
push eax
call fcn.0102f7a3
push eax
call fcn.0102f99b
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xbc]
push eax
mov eax, dword [ebp - 0xc0]
push eax
push str.cfFormat___s_r_nlpszUserType___s
mov eax, dword [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 0x40
push str.Cl32Test___ansi
mov eax, dword [ebp - 0x68]
push eax
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [ebp - 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalHandle]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalHandle]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0x5c], 0
jne 0x101fe4e
cmp dword [ebp - 0x54], 0
je 0x101fe4e
mov eax, dword [ebp - 0x54]
push eax
call fcn.010381a5
jmp 0x101fe4e
jmp 0x101fe7f
cmp dword [ebp - 0x5c], 0
jne 0x101fe7f
cmp dword [ebp - 0x54], 0
je 0x101fe7f
push 0x30
push str.Cl32Test___ansi
push str.ERROR:_non_NULL_lpszUserType_returned_on_error
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x1020a5d
push 1
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0xc0]
push eax
call fcn.01036639
mov dword [ebp - 0x6c], eax
push 0x61e
push str.c:_ntprivatectoleuiole2.0_appscl2testchicago..handlewm.c
mov eax, dword [0x1056d98]
push eax
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push str.GetDocumentBitStg:
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [0x104ed80]
push eax
mov eax, dword [ebp - 0x6c]
push eax
call fcn.0102e6d7
jmp 0x1020a5d
mov eax, dword [ebp - 0x2c]
push eax
call fcn.0102b92e
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
je 0x101ff19
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov cx, word [eax]
cmp ecx, 1
jne 0x101ff19
push 0
mov eax, dword [ebp - 0x70]
push eax
call fcn.0102c0f1
push eax
call fcn.010256e0
jmp 0x101ff31
push 0x30
push str.Cl32Test___ansi
push str.Embedded_or_linked_object_not_selected.
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x1020a5d
jmp 0x1020a5d
mov dword [ebp - 0x74], 1
mov eax, dword [ebp - 0x2c]
push eax
call fcn.0102b92e
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
je 0x101ff7f
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
mov cx, word [eax]
cmp ecx, 1
jne 0x101ff7f
push 0
mov eax, dword [ebp - 0x7c]
push eax
call fcn.0102c0f1
mov dword [ebp - 0x94], eax
jmp 0x101ff9c
push 0x30
push str.Cl32Test___ansi
push str.Embedded_or_linked_object_not_selected.
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x1020a5d
lea eax, [ebp - 0x98]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.010211f0
test eax, eax
jne 0x101ffbb
jmp 0x1020a5d
push 0x23
push str.Cl32Test___ansi
push str.Pass_TRUE_fLock_to_LockServer_
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 2
jne 0x101ffea
jmp 0x1020a5d
cmp dword [ebp - 0x80], 7
jne 0x1020000
mov dword [ebp - 0x78], 0
jmp 0x1020011
cmp dword [ebp - 0x80], 6
jne 0x1020011
mov dword [ebp - 0x78], 1
lea eax, [ebp - 0x90]
push eax
mov eax, dword [ebp - 0x94]
mov eax, dword [eax + 0x18]
push eax
mov eax, dword [ebp - 0x94]
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
call dword [eax + 0x3c]
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
jge 0x102008a
push 0x671
push str.c:_ntprivatectoleuiole2.0_appscl2testchicago..handlewm.c
mov eax, dword [0x1056d98]
push eax
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push str.GetUSerClassId:
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [0x104ed80]
push eax
mov eax, dword [ebp - 0x9c]
push eax
call fcn.0102e6d7
jmp 0x1020a5d
lea eax, [ebp - 0x74]
push eax
push 0x10018d8
push 0
mov eax, dword [ebp - 0x98]
push eax
lea eax, [ebp - 0x90]
push eax
call dword [sym.imp.ole32.dll_CoGetClassObject]
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
jge 0x10200fe
push 0x67c
push str.c:_ntprivatectoleuiole2.0_appscl2testchicago..handlewm.c
mov eax, dword [0x1056d98]
push eax
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push str.CoGetClassObject:
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [0x104ed80]
push eax
mov eax, dword [ebp - 0x9c]
push eax
call fcn.0102e6d7
cmp dword [ebp - 0x74], 0
jne 0x1020125
push 0x30
push str.Cl32Test___ansi
push str.Error:_CoGetClassObject_failed.
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x1020a5d
mov eax, dword [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x74]
push eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
call dword [eax + 0x10]
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
je 0x102018a
push 0x689
push str.c:_ntprivatectoleuiole2.0_appscl2testchicago..handlewm.c
mov eax, dword [0x1056d98]
push eax
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push str.IClassFactory::LockServer:
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [0x104ed80]
push eax
mov eax, dword [ebp - 0x9c]
push eax
call fcn.0102e6d7
mov eax, dword [ebp - 0x74]
push eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
call dword [eax + 8]
jmp 0x1020a5d
cmp dword [0x104d950], 0
jne 0x1020213
cmp dword [0x104dccc], 0
jne 0x10201c3
mov byte [0x1056540], 0
mov byte [0x1056320], 0
push 0x104d9f8
push 0x10561e0
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x10201eb
push 0x104df34
push 0x10561e0
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x14]
push eax
call fcn.0101ccb0
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0
jg 0x102020e
xor eax, eax
jmp 0x1020aa3
jmp case.0x1020971.0
mov dword [0x104d950], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xb0], 0
mov dword [0x104df94], 0
mov dword [0x104dce4], 1
cmp dword [ebp - 0x28], 0x210
jne 0x1020274
lea eax, [ebp - 0x14]
push eax
call fcn.0101d060
test eax, eax
jne 0x1020274
xor eax, eax
jmp 0x1020aa3
mov dword [ebp - 0xac], 0
jmp 0x1020289
inc dword [ebp - 0xac]
mov eax, dword [0x104dce4]
cmp dword [ebp - 0xac], eax
jge 0x1020906
mov eax, dword [ebp - 0x2c]
push eax
push 1
call fcn.0102b33b
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x10202b9
xor eax, eax
jmp 0x1020aa3
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x102030f
push 0x6d9
push str.c:_ntprivatectoleuiole2.0_appscl2testchicago..handlewm.c
push str.Cl32Test___ansi
push str.Assert_Failure__Module:__s__file__s__line__d_r_n
push 0x1056c90
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
push 0x1056c90
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.Null_Object
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x104c08c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0xb8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0xfc], 1
cmp dword [ebp - 0x28], 0x213
je 0x1020342
cmp dword [ebp - 0x28], 0x214
jne 0x10203b0
movsx eax, byte [0x1056320]
test eax, eax
je 0x102035b
mov dword [ebp - 0xb8], 0x1056320
movsx eax, byte [0x1056540]
test eax, eax
je 0x1020374
mov dword [ebp - 0xa8], 0x1056540
lea eax, [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0xb8]
push eax
mov eax, dword [0x105642c]
push eax
call fcn.0102e017
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
and eax, 0x80000000
mov ecx, 0x80000000
and ecx, 0x80000000
cmp eax, ecx
jne 0x10203b0
jmp 0x1020a64
mov eax, dword [0x104dce0]
mov dword [ebp - 0xc8], eax
jmp 0x10204c0
mov dword [ebp - 0xb4], 1
cmp dword [0x104f67c], 0
je 0x10203e6
mov dword [ebp - 0xa4], 0
jmp 0x10203f0
mov dword [ebp - 0xa4], 0x104f668
jmp 0x10204ea
mov dword [ebp - 0xb4], 2
cmp dword [0x104f67c], 0
je 0x102041b
mov dword [ebp - 0xa4], 0
jmp 0x1020425
mov dword [ebp - 0xa4], 0x104f668
jmp 0x10204ea
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xa4], 0
jmp 0x10204ea
mov dword [ebp - 0xb4], 3
cmp dword [0x104f67c], 0
je 0x1020469
mov dword [ebp - 0xa4], 0
jmp 0x1020473
mov dword [ebp - 0xa4], 0x104f668
jmp 0x10204ea
push 0x71d
push str.c:_ntprivatectoleuiole2.0_appscl2testchicago..handlewm.c
push str.Cl32Test___ansi
push str.Assert_Failure__Module:__s__file__s__line__d_r_n
push 0x1056c90
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
push 0x1056c90
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.Illegal_case
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x104c08c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x10204ea
cmp dword [ebp - 0xc8], 3
ja case.default.0x10204d3
mov eax, dword [ebp - 0xc8]
jmp dword [eax*4 + 0x10204da]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xcc], eax
jmp 0x1020763
cmp dword [0x104dce8], 0
je 0x102054b
mov eax, dword [ebp - 0x18]
add eax, 0x18
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0xb4]
push eax
mov eax, dword [0x104ed84]
push eax
mov eax, dword [0x105642c]
push eax
push 0x10562f0
call fcn.0103766f
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
jmp 0x1020582
mov eax, dword [ebp - 0x18]
add eax, 0x18
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0xb4]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [0x104ed84]
push eax
call fcn.010392d2
mov dword [ebp - 0x30], eax
jmp 0x102079b
cmp dword [0x104dce8], 0
je 0x10205d5
mov eax, dword [ebp - 0x18]
add eax, 0x18
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0xb4]
push eax
mov eax, dword [0x104ed84]
push eax
mov eax, dword [0x105642c]
push eax
call fcn.010376c2
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
jmp 0x102060c
mov eax, dword [ebp - 0x18]
add eax, 0x18
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0xb4]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [0x104ed84]
push eax
call fcn.010393b4
mov dword [ebp - 0x30], eax
jmp 0x102079b
mov eax, dword [ebp - 0x18]
mov dword [eax + 0xac], 0
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x64], 1
mov eax, dword [ebp - 0x18]
add eax, 0x18
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0xb4]
push eax
mov eax, dword [0x104ed84]
push eax
push 0x10562f0
call dword [sym.imp.ole32.dll_OleCreate]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
jmp 0x102079b
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
test eax, eax
jge 0x10206d0
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
movsx eax, ax
test eax, eax
jge 0x10206d0
mov eax, dword [ebp - 0x18]
add eax, 0x18
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0xb4]
push eax
mov eax, dword [0x104ed84]
push eax
mov eax, dword [0x105642c]
push eax
call fcn.010376c2
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
jmp 0x1020711
mov eax, dword [ebp - 0x18]
add eax, 0x18
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [ebp - 0xb4]
push eax
mov eax, dword [0x104ed84]
push eax
mov eax, dword [0x105642c]
push eax
push 0x1001a38
call fcn.0103766f
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
jmp 0x102079b
push 0x782
push str.c:_ntprivatectoleuiole2.0_appscl2testchicago..handlewm.c
push str.Cl32Test___ansi
push str.Assert_Failure__Module:__s__file__s__line__d_r_n
push 0x1056c90
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
push 0x1056c90
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.Illegal_case
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x104c08c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x1020a64
sub dword [ebp - 0xcc], 0x210
cmp dword [ebp - 0xcc], 4
ja case.0x1020780.2
mov eax, dword [ebp - 0xcc]
jmp dword [eax*4 + 0x1020787]
cmp dword [ebp - 0xb0], 0
je 0x10207ba
mov eax, dword [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax]
call dword [eax + 8]
push 0x104f9d8
mov eax, dword [ebp - 0x30]
push eax
call fcn.01010260
test eax, eax
je 0x10207da
jmp 0x1020a64
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x18], 0
jne 0x102082a
push 0x793
push str.c:_ntprivatectoleuiole2.0_appscl2testchicago..handlewm.c
push str.Cl32Test___ansi
push str.Assert_Failure__Module:__s__file__s__line__d_r_n
push 0x1056c90
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
push 0x1056c90
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.Null_Object
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x104c08c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov esi, 0x104f668
mov edi, dword [ebp - 0x18]
add edi, 0x68
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x18]
push eax
call fcn.010141b0
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
and eax, 0x80000000
mov ecx, 0x80000000
and ecx, 0x80000000
cmp eax, ecx
jne 0x1020868
jmp 0x1020a64
cmp dword [0x104dc38], 0
je 0x102088d
push 0
push 0x10f
push 0x111
call fcn.01021290
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x18]
push eax
call fcn.0100e4b0
mov eax, dword [ebp - 0x18]
push eax
call fcn.01020ab0
cmp dword [0x104df94], 0
je 0x1020901
push 0x1054250
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0xb8]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
push 0x1054250
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0xb8]
push eax
push 0
mov eax, dword [ebp - 0x18]
push eax
push 0
push 0xffffffffffffffff
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x18]
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x24], eax
push str.DoVerb:
mov eax, dword [ebp - 0x24]
push eax
call fcn.01010260
jmp 0x1020283
jmp 0x1020a5d
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
push 5
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetWindow]
push eax
push 0x1010960
call dword [sym.imp.USER32.dll_CallWindowProcA]
jmp 0x1020a5d
cmp dword [ebp - 0xc4], 0x224
ja 0x102098c
cmp dword [ebp - 0xc4], 0x223
jae 0x101fb4e
sub dword [ebp - 0xc4], 0x210
cmp dword [ebp - 0xc4], 4
ja case.0x10209ea.1
mov eax, dword [ebp - 0xc4]
jmp dword [eax*4 + 0x1020978]
cmp dword [ebp - 0xc4], 0x30f
ja 0x10209b7
je 0x101fedc
cmp dword [ebp - 0xc4], 0x22f
je 0x101fbd9
jmp case.0x10209ea.1
cmp dword [ebp - 0xc4], 0x703
ja 0x1020a0d
je 0x101fb11
sub dword [ebp - 0xc4], 0x455
cmp dword [ebp - 0xc4], 6
ja case.0x10209ea.1
mov eax, dword [ebp - 0xc4]
jmp dword [eax*4 + 0x10209f1]
cmp dword [ebp - 0xc4], 0xb101
ja 0x1020a38
je 0x101fb6d
cmp dword [ebp - 0xc4], 0x704
je 0x101fb28
jmp case.0x10209ea.1
cmp dword [ebp - 0xc4], 0xb102
je 0x101fb99
cmp dword [ebp - 0xc4], 0xb103
je 0x101fb6d
jmp case.0x10209ea.1
xor eax, eax
jmp 0x1020aa3
cmp dword [ebp - 0x1c], 0
je 0x1020a9c
mov eax, dword [ebp - 0x1c]
push eax
call fcn.0102b959
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x1020a92
mov eax, dword [ebp - 0x20]
push eax
call fcn.0102b494
jmp 0x1020a9c
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
xor eax, eax
jmp 0x1020aa3
pop edi
pop esi
pop ebx
leave
ret 0x10