Function at 0x404c60
Capabilities:
Access peb ldr_data
Get graphical window text
Get kernel32 base address
Get process heap flags

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x268
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
movzx edx, word [0x40c224]
mov esi, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
cmp edx, eax
je 0x404e08
cmp eax, 0x11
ja 0x404cb0
test eax, eax
je case.0x404ca7.0
cmp eax, 0x11
ja case.0x404ca7.0
jmp dword [eax*4 + 0x4091a8]
cmp eax, 0x233
je 0x405520
jbe 0x404cd0
cmp eax, 0x307
jne case.0x404ca7.0
xor eax, eax
jmp 0x405080
cmp eax, 0x111
je 0x405030
cmp eax, 0x117
jne case.0x404ca7.0
mov dword [esp + 0xc], 0
mov edi, dword [sym.imp.user32.dll_SendMessageW]
mov dword [esp + 8], 0
mov dword [esp + 4], 0xc6
mov eax, dword [0x40b02c]
mov dword [esp], eax
call edi
mov ebx, dword [sym.imp.user32.dll_EnableMenuItem]
sub esp, 0x10
test eax, eax
sete al
mov dword [esp + 4], 0x110
movzx eax, al
mov dword [esp], esi
mov dword [esp + 8], eax
call ebx
sub esp, 0xc
mov dword [esp], 1
call dword [sym.imp.user32.dll_IsClipboardFormatAvailable]
sub esp, 4
test eax, eax
sete al
mov dword [esp + 4], 0x113
movzx eax, al
mov dword [esp], esi
mov dword [esp + 8], eax
call ebx
sub esp, 0xc
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xb0
mov eax, dword [0x40b02c]
mov dword [esp], eax
call edi
mov edx, eax
sub esp, 0x10
shr edx, 0x10
mov dword [esp + 4], 0x111
cmp dx, ax
mov dword [esp], esi
sete al
movzx eax, al
mov edi, eax
mov dword [esp + 8], eax
call ebx
sub esp, 0xc
mov dword [esp + 8], edi
mov dword [esp + 4], 0x112
mov dword [esp], esi
call ebx
sub esp, 0xc
mov dword [esp + 8], edi
mov dword [esp + 4], 0x114
mov dword [esp], esi
call ebx
mov eax, dword [0x40b02c]
sub esp, 0xc
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetWindowTextLengthW]
sub esp, 4
test eax, eax
sete al
mov dword [esp + 4], 0x116
movzx eax, al
mov dword [esp], esi
mov dword [esp + 8], eax
call ebx
xor eax, eax
sub esp, 0xc
jmp 0x405080
mov eax, dword [ebx + 0xc]
test al, 0x40
je 0x404e19
mov dword [0x40b028], 0
test al, 8
jne 0x405090
test al, 0x10
jne 0x4050f0
test al, 0x20
je case.0x40505a.263
mov eax, dword [ebx]
mov dword [0x40c1e4], eax
mov eax, dword [ebx + 4]
mov dword [0x40c1e8], eax
mov eax, dword [ebx + 8]
mov dword [0x40c1ec], eax
mov eax, dword [ebx + 0xc]
mov dword [0x40c1f0], eax
mov eax, dword [ebx + 0x10]
mov dword [0x40c1f4], eax
mov eax, dword [ebx + 0x14]
mov dword [0x40c1f8], eax
mov eax, dword [ebx + 0x18]
mov dword [0x40c1fc], eax
mov eax, dword [ebx + 0x1c]
mov dword [0x40c200], eax
mov eax, dword [ebx + 0x20]
mov dword [0x40c204], eax
mov eax, dword [ebx + 0x24]
mov dword [0x40c208], eax
mov eax, dword [ebx + 0x10]
cmp word [eax], 0
je 0x405eca
mov esi, eax
nop
add esi, 2
cmp word [esi], 0
jne 0x404e90
sub esi, eax
sar esi, 1
mov dword [ebp - 0x240], esi
mov dword [esp + 0xc], 0
mov edi, dword [sym.imp.user32.dll_SendMessageW]
mov dword [esp + 8], 0
mov dword [esp + 4], 0xb1
mov eax, dword [0x40b02c]
mov dword [esp], eax
call edi
sub esp, 0x10
mov eax, dword [0x40b02c]
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetWindowTextLengthW]
lea ecx, [eax + 1]
sub esp, 4
lea edx, [ecx + ecx]
mov dword [ebp - 0x23c], ecx
mov eax, dword fs:[0x18]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
sub esp, 0xc
mov esi, eax
test eax, eax
je case.0x40505a.263
mov ecx, dword [ebp - 0x23c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [0x40b02c]
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetWindowTextW]
lea eax, [ebp - 0x220]
sub esp, 0xc
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0xb0
mov eax, dword [0x40b02c]
mov dword [esp], eax
call edi
mov eax, dword [ebx + 0xc]
sub esp, 0x10
and eax, 5
cmp eax, 1
je 0x405618
cmp eax, 5
jne case.0x40505a.263
mov eax, dword [ebx + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x220]
lea eax, [esi + eax*2]
mov dword [esp], eax
call dword [sym.imp.shlwapi.dll_StrStrW]
sub eax, esi
sub esp, 8
sar eax, 1
mov dword [ebp - 0x220], eax
add eax, esi
jne 0x404fab
mov dword [ebp - 0x220], 0xffffffff
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [ebp - 0x220]
sub esp, 0xc
cmp eax, 0xffffffff
je 0x405f00
mov edx, dword [ebp - 0x240]
mov dword [esp + 8], eax
mov dword [esp + 4], 0xb1
add edx, eax
mov dword [esp + 0xc], edx
mov eax, dword [0x40b02c]
mov dword [esp], eax
call edi
mov eax, dword [ebx + 0x14]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xc2
mov eax, dword [0x40b02c]
mov dword [esp], eax
call edi
sub esp, 0x10
jmp 0x404ece
movzx eax, si
cmp si, 0x192
ja 0x405569
and esi, 0xff00
je case.0x40505a.263
sub eax, 0x100
cmp eax, 0x92
ja case.0x40505a.263
jmp dword [eax*4 + 0x4091f0]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], edi
call dword [sym.imp.user32.dll_DefWindowProcW]
sub esp, 0x10
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0x10
mov eax, dword [ebx]
mov dword [0x40c1e4], eax
mov eax, dword [ebx + 4]
mov dword [0x40c1e8], eax
mov eax, dword [ebx + 8]
mov dword [0x40c1ec], eax
mov eax, dword [ebx + 0xc]
mov dword [0x40c1f0], eax
mov eax, dword [ebx + 0x10]
mov dword [0x40c1f4], eax
mov eax, dword [ebx + 0x14]
mov dword [0x40c1f8], eax
mov eax, dword [ebx + 0x18]
mov dword [0x40c1fc], eax
mov eax, dword [ebx + 0x1c]
mov dword [0x40c200], eax
mov eax, dword [ebx + 0x20]
mov dword [0x40c204], eax
mov eax, dword [ebx + 0x24]
mov dword [0x40c208], eax
mov dword [esp], ebx
call dbg.NOTEPAD_DoFind
mov eax, dword [ebx + 0xc]
jmp 0x404e21
mov eax, dword [ebx]
mov dword [0x40c1e4], eax
mov eax, dword [ebx + 4]
mov dword [0x40c1e8], eax
mov eax, dword [ebx + 8]
mov dword [0x40c1ec], eax
mov eax, dword [ebx + 0xc]
mov dword [0x40c1f0], eax
mov eax, dword [ebx + 0x10]
mov dword [0x40c1f4], eax
mov eax, dword [ebx + 0x14]
mov dword [0x40c1f8], eax
mov eax, dword [ebx + 0x18]
mov dword [0x40c1fc], eax
mov eax, dword [ebx + 0x1c]
mov dword [0x40c200], eax
mov eax, dword [ebx + 0x20]
mov dword [0x40c204], eax
mov eax, dword [ebx + 0x24]
mov dword [0x40c208], eax
mov edx, dword [ebx + 0x10]
cmp word [edx], 0
je 0x405ebb
mov eax, edx
nop
add eax, 2
cmp word [eax], 0
jne 0x405150
sub eax, edx
sar eax, 1
mov dword [ebp - 0x23c], eax
mov eax, dword [0x40b02c]
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetWindowTextLengthW]
lea edi, [eax + 1]
sub esp, 4
lea edx, [edi + edi]
mov dword [esp + 4], 0
mov dword [esp + 8], edx
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
sub esp, 0xc
mov esi, eax
test eax, eax
je 0x405f41
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov eax, dword [0x40b02c]
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetWindowTextW]
lea eax, [ebp - 0x224]
mov edi, dword [sym.imp.user32.dll_SendMessageW]
sub esp, 0xc
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x220]
mov dword [esp + 8], eax
mov dword [esp + 4], 0xb0
mov eax, dword [0x40b02c]
mov dword [esp], eax
call edi
mov eax, dword [ebx + 0xc]
sub esp, 0x10
mov ecx, eax
and ecx, 5
cmp ecx, 1
je 0x405d40
cmp ecx, 5
jne 0x404e29
mov ecx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x224]
mov edx, dword [ebp - 0x23c]
sub eax, ecx
cmp eax, edx
je 0x405ed9
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 0xc
mov dword [esp], ebx
call dbg.NOTEPAD_DoFind
mov eax, dword [ebx + 0xc]
jmp 0x404e29
lea eax, [ebp - 0x228]
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], eax
lea eax, [ebp - 0x22c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], 0xf003f
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.SoftwareMicrosoftNotepad
mov dword [esp], 0x80000001
call dword [sym.imp.advapi32.dll_RegCreateKeyExW]
sub esp, 0x24
test eax, eax
je 0x405640
mov dword [esp], 0
call dword [sym.imp.user32.dll_PostQuitMessage]
xor eax, eax
sub esp, 4
jmp 0x405080
call dbg.DoCloseFile
test eax, eax
setne al
movzx eax, al
jmp 0x405080
lea eax, [ebp - 0x220]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.user32.dll_GetClientRect]
mov ebx, dword [sym.imp.user32.dll_CreateWindowExW]
sub esp, 8
cmp dword [0x40b09c], 1
mov dword [esp + 0x2c], 0
mov edx, dword [0x40b020]
sbb eax, eax
mov dword [esp + 0x24], 0
and eax, 0x100080
mov dword [esp + 0x28], edx
add eax, 0x50a00144
mov dword [esp + 0x20], edi
mov edx, dword [ebp - 0x214]
mov dword [esp + 0x1c], edx
mov edx, dword [ebp - 0x218]
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], global_editW
mov dword [esp], 0x200
call ebx
sub esp, 0x30
mov dword [0x40b02c], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], dbg.EDIT_CallBackProc@24
mov dword [esp], eax
call dword [sym.imp.comctl32.dll_SetWindowSubclass]
sub esp, 0x10
mov dword [esp], 0x40b040
call dword [sym.imp.gdi32.dll_CreateFontIndirectW]
mov esi, dword [sym.imp.user32.dll_SendMessageW]
sub esp, 4
mov dword [0x40b030], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x30
mov eax, dword [0x40b02c]
mov dword [esp], eax
call esi
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xc5
mov eax, dword [0x40b02c]
mov dword [esp], eax
call esi
sub esp, 0x10
mov dword [esp + 0x2c], 0
mov eax, dword [0x40b020]
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x50000000
mov dword [esp + 8], 0
mov dword [esp + 4], str.msctls_statusbar32
mov dword [esp], 0
call ebx
sub esp, 0x30
mov dword [0x40b034], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x40b03c
mov dword [esp + 4], 0x206
mov eax, dword [0x40b020]
mov dword [esp], eax
call dword [sym.imp.user32.dll_LoadStringW]
mov dword [0x40c1b4], 0xffffffff
mov dword [0x40c1b8], 0xffffffff
sub esp, 0x10
call dbg.UpdateStatusBar
xor eax, eax
jmp 0x405080
mov eax, dword [0x40b02c]
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetFocus]
xor eax, eax
sub esp, 4
jmp 0x405080
call dbg.DoCloseFile
test eax, eax
je case.0x40505a.263
mov dword [esp], edi
call dword [sym.imp.user32.dll_DestroyWindow]
xor eax, eax
sub esp, 4
jmp 0x405080
mov eax, ebx
movzx ebx, bx
shr eax, 0x10
mov dword [esp], ebx
mov dword [esp + 4], eax
call dbg.updateWindowSize
xor eax, eax
jmp 0x405080
lea ebx, [ebp - 0x220]
mov dword [esp + 0xc], 0x104
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], esi
call dword [sym.imp.shell32.dll_DragQueryFileW]
sub esp, 0x10
mov dword [esp], esi
call dword [sym.imp.shell32.dll_DragFinish]
sub esp, 4
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dbg.DoOpenFile
xor eax, eax
jmp 0x405080
cmp eax, 0x205
jne case.0x40505a.263
mov eax, dword [0x40b038]
xor ebx, ebx
test eax, eax
mov eax, dword [0x40b024]
sete bl
mov dword [0x40b038], ebx
shl ebx, 3
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetMenu]
sub esp, 4
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x205
mov dword [esp], eax
call dword [sym.imp.user32.dll_CheckMenuItem]
lea eax, [ebp - 0x220]
sub esp, 0xc
mov dword [esp + 4], eax
mov eax, dword [0x40b024]
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetClientRect]
mov eax, dword [0x40b038]
sub esp, 8
neg eax
sbb eax, eax
and eax, 5
mov dword [esp + 4], eax
mov eax, dword [0x40b034]
mov dword [esp], eax
call dword [sym.imp.user32.dll_ShowWindow]
mov eax, dword [ebp - 0x214]
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x218]
mov dword [esp], eax
call dbg.updateWindowSize
call dbg.UpdateStatusBar
xor eax, eax
jmp 0x405080
mov eax, dword [ebx + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x220]
lea eax, [esi + eax*2]
mov dword [esp], eax
call dword [sym.imp.shlwapi.dll_StrStrIW]
jmp 0x404f90
lea eax, [ebp - 0x220]
lea esi, [ebp - 0x224]
mov dword [ebp - 0x220], 0x2c
mov dword [esp + 4], eax
mov eax, dword [0x40b024]
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetWindowPlacement]
mov eax, dword [ebp - 0x204]
mov ebx, dword [sym.imp.advapi32.dll_RegSetValueExW]
sub esp, 8
mov dword [0x40c214], eax
mov eax, dword [ebp - 0x200]
mov dword [0x40c218], eax
mov eax, dword [ebp - 0x1fc]
mov dword [0x40c21c], eax
mov eax, dword [ebp - 0x1f8]
mov dword [0x40c220], eax
mov eax, dword [0x40b09c]
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.fWrap
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
mov eax, dword [0x40c214]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.iWindowPosX
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
mov eax, dword [0x40c218]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.iWindowPosY
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
mov eax, dword [0x40c21c]
sub eax, dword [0x40c214]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.iWindowPosDX
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
mov eax, dword [0x40c220]
sub eax, dword [0x40c218]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.iWindowPosDY
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
movzx eax, byte [0x40b057]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.lfCharSet
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
movzx eax, byte [0x40b059]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.lfClipPrecision
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
mov eax, dword [0x40b048]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.lfEscapement
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
movzx eax, byte [0x40b054]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.lfItalic
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
mov eax, dword [0x40b04c]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.lfOrientation
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
movzx eax, byte [0x40b058]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.lfOutPrecision
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
movzx eax, byte [0x40b05b]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.lfPitchAndFamily
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
movzx eax, byte [0x40b05a]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.lfQuality
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
movzx eax, byte [0x40b056]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.lfStrikeOut
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
movzx eax, byte [0x40b055]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.lfUnderline
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
mov eax, dword [0x40b050]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.lfWeight
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
mov eax, dword [0x40bd90]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.iMarginTop
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
mov eax, dword [0x40bd94]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.iMarginBottom
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
mov eax, dword [0x40bd98]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.iMarginLeft
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
mov eax, dword [0x40bd9c]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.iMarginRight
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
mov eax, dword [0x40b038]
sub esp, 0x18
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.bStatusBar
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
sub esp, 0x18
call dbg.get_dpi
mov dword [esp + 4], 0x2d0
mov dword [esp + 8], eax
mov edx, dword [0x40b040]
mov eax, edx
neg eax
cmovs eax, edx
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_MulDiv]
sub esp, 0xc
mov dword [ebp - 0x224], eax
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.iPointSize
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
sub esp, 0x18
cmp word [0x40b05c], 0
je 0x405f3a
mov eax, 0x40b05c
nop
add eax, 2
cmp word [eax], 0
jne 0x405c30
sub eax, 0x40b05c
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x40b05c
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], str.lfFaceName
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
sub esp, 0x18
cmp word [0x40bda0], 0
je 0x405f33
mov eax, 0x40bda0
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x405c88
sub eax, 0x40bda0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x40bda0
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], str.szHeader
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
sub esp, 0x18
cmp word [0x40bfa8], 0
je 0x405f2c
mov eax, 0x40bfa8
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x405ce0
sub eax, 0x40bfa8
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x40bfa8
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], str.szTrailer
mov eax, dword [ebp - 0x22c]
mov dword [esp], eax
call ebx
mov eax, dword [ebp - 0x22c]
sub esp, 0x18
mov dword [esp], eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
sub esp, 4
jmp 0x4052bc
mov ecx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x224]
mov edx, dword [ebp - 0x23c]
sub eax, ecx
cmp eax, edx
jne 0x405226
lea eax, [esi + ecx*2]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
call dword [sym.imp.shlwapi.dll_StrCmpNIW]
sub esp, 0xc
test eax, eax
jne 0x405226
mov eax, dword [ebx + 0x14]
mov dword [esp + 8], 1
mov dword [esp + 4], 0xc2
mov dword [esp + 0xc], eax
mov eax, dword [0x40b02c]
mov dword [esp], eax
call edi
sub esp, 0x10
jmp 0x405226
call dbg.DIALOG_EditGoTo
xor eax, eax
jmp 0x405080
call dbg.DIALOG_SelectFont
xor eax, eax
jmp 0x405080
call dbg.DIALOG_HelpAboutNotepad
xor eax, eax
jmp 0x405080
call dbg.DIALOG_HelpContents
xor eax, eax
jmp 0x405080
call dbg.DIALOG_Replace
xor eax, eax
jmp 0x405080
call dbg.DIALOG_SearchNext
xor eax, eax
jmp 0x405080
call sym._DIALOG_Search
xor eax, eax
jmp 0x405080
call dbg.DIALOG_EditWrap
xor eax, eax
jmp 0x405080
call dbg.DIALOG_EditTimeDate
xor eax, eax
jmp 0x405080
call dbg.DIALOG_EditSelectAll
xor eax, eax
jmp 0x405080
call dbg.DIALOG_EditDelete
xor eax, eax
jmp 0x405080
call dbg.DIALOG_EditPaste
xor eax, eax
jmp 0x405080
call dbg.DIALOG_EditCopy
xor eax, eax
jmp 0x405080
call dbg.DIALOG_EditCut
xor eax, eax
jmp 0x405080
call dbg.DIALOG_EditUndo
xor eax, eax
jmp 0x405080
call dbg.DIALOG_FileExit
xor eax, eax
jmp 0x405080
call dbg.DIALOG_FilePrinterSetup
xor eax, eax
jmp 0x405080
call dbg.DIALOG_FilePageSetup
xor eax, eax
jmp 0x405080
call dbg.DIALOG_FilePrint
xor eax, eax
jmp 0x405080
call dbg.DIALOG_FileSaveAs
xor eax, eax
jmp 0x405080
call sym._DIALOG_FileSave
xor eax, eax
jmp 0x405080
call dbg.DIALOG_FileOpen
xor eax, eax
jmp 0x405080
call dbg.DIALOG_FileNew
xor eax, eax
jmp 0x405080
mov dword [ebp - 0x23c], 0
jmp 0x405163
mov dword [ebp - 0x240], 0
jmp 0x404ea3
lea eax, [esi + ecx*2]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
call dword [sym.imp.shlwapi.dll_StrCmpNW]
sub esp, 0xc
test eax, eax
jne 0x405226
jmp 0x405d7e
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xb1
mov eax, dword [0x40b02c]
mov dword [esp], eax
call edi
xor eax, eax
sub esp, 0x10
jmp 0x405080
xor eax, eax
jmp 0x405cee
xor eax, eax
jmp 0x405c96
xor eax, eax
jmp 0x405c3e
mov eax, dword [ebx + 0xc]
jmp 0x404e29