Function at 0x1028ea0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
push esi
push edi
mov dword [ebp - 0xc], pe_nt_image_headers32
mov dword [ebp - 0x24], 0
mov dword [ebp - 8], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x18], 0
jne 0x1028ed2
xor eax, eax
jmp 0x10290e2
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
call dword [eax + 0x30]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x80040180
jne 0x1028f03
jmp 0x1029098
mov eax, dword [ebp - 0x28]
and eax, 0x80000000
mov ecx, 0x80000000
and ecx, 0x80000000
cmp eax, ecx
je 0x1028f28
cmp dword [ebp - 8], 0
jne 0x1028fa8
push 0x22f
push str.c:_ntprivatectoleuiole2.0_appscl2testchicago.._register.c
mov eax, dword [ebp - 0x28]
push eax
call fcn.0102e720
push eax
push str.sc___s__In_EnmVerb__File:__s___Line:__d_r
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
push 0x230
push str.c:_ntprivatectoleuiole2.0_appscl2testchicago.._register.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]
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x104c08c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x104ed80]
push eax
mov eax, dword [ebp - 0x28]
push eax
call fcn.0102e6d7
jmp 0x1029098
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1c]
push eax
push 1
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call dword [eax + 0xc]
test eax, eax
jne 0x1029036
test byte [ebp - 0x10], 2
jne 0x1028fd5
jmp 0x1028fa8
cmp dword [ebp - 0x24], 0
jne 0x1028fe8
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x30], 0
push 1
mov eax, dword [ebp - 0x18]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.010370fa
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jl 0x1029026
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x1c]
add eax, 0x231
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_AppendMenuA]
push 1
mov eax, dword [ebp - 0x30]
push eax
call fcn.01036b06
jmp 0x1028fa8
cmp dword [ebp - 0x24], 0
je 0x1029073
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp - 0x24]
push eax
push 0x410
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.USER32.dll_InsertMenuA]
push 0x400
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.USER32.dll_EnableMenuItem]
jmp 0x1029078
jmp 0x1029098
cmp dword [ebp - 8], 0
je 0x102908e
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call dword [eax + 8]
mov eax, 1
jmp 0x10290e2
push 0x104e868
push 0
push 0x400
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.USER32.dll_InsertMenuA]
push 0x401
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.USER32.dll_EnableMenuItem]
cmp dword [ebp - 8], 0
je 0x10290db
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call dword [eax + 8]
xor eax, eax
jmp 0x10290e2
pop edi
pop esi
pop ebx
leave
ret 0x10