Function at 0x4097d0
Capabilities:
Capture webcam image
Get graphical window text

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, 0x3a8
mov eax, dword [ecx]
mov edi, dword [ecx + 4]
mov esi, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
mov dword [ebp - 0x340], eax
cmp dword [0x41f6f8], edi
je 0x40b280
cmp edi, 0x4e
je 0x40b790
ja 0x409830
lea eax, [edi - 1]
cmp eax, 0xf
ja case.0x409824.0
cmp edi, 0x10
ja case.0x409824.0
jmp dword [edi*4 + 0x41177c]
cmp edi, 0x117
je 0x40b298
jbe 0x409c78
cmp edi, 0x233
je 0x409d40
cmp edi, 0x400
jne case.0x409824.0
mov dword [esp + 4], 0x7d1
mov edi, dword [ebp - 0x340]
mov ebx, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp], edi
call ebx
sub esp, 8
mov esi, eax
mov dword [esp], edi
mov dword [esp + 4], 0x7d4
call ebx
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x7d2
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [ebp - 0x340], eax
mov dword [esp], edi
mov dword [esp + 4], 0x7d3
call ebx
lea edx, [ebp - 0x290]
mov ecx, 0x1c
mov dword [ebp - 0x2f0], 8
mov edi, edx
mov ebx, eax
xor eax, eax
sub esp, 8
rep stosd dword es:[edi], eax
lea edx, [ebp - 0x21c]
mov ecx, 0x2e
mov dword [ebp - 0x294], 0x74
mov dword [ebp - 0x2ec], 0x4b0
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [sym.imp.user32.dll_SendMessageW]
lea eax, [ebp - 0x2f0]
mov dword [ebp - 0x220], 0xbc
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x45f
mov dword [esp], esi
mov dword [ebp - 0x33c], edi
call edi
sub esp, 0x10
test eax, eax
setne al
mov dword [esp + 8], 0x3f6
movzx eax, al
mov dword [esp + 4], 0x401
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
call edi
lea edx, [ebp - 0x294]
sub esp, 0x10
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x43a
mov dword [esp], esi
call edi
lea eax, [ebp - 0x300]
sub esp, 0x10
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x30c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0xb0
mov dword [esp], esi
call edi
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xc6
mov dword [esp], esi
call edi
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x51b
mov dword [esp + 4], 0x401
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
call edi
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x455
mov dword [esp], esi
call edi
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x51c
mov dword [esp + 4], 0x401
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
call edi
mov edx, dword [ebp - 0x300]
xor eax, eax
sub esp, 0x10
cmp dword [ebp - 0x30c], edx
setne al
mov dword [esp + 8], 0x51f
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x401
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
call edi
mov edx, dword [ebp - 0x300]
xor eax, eax
sub esp, 0x10
cmp dword [ebp - 0x30c], edx
setne al
mov dword [esp + 8], 0x51e
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x401
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
call edi
xor eax, eax
sub esp, 0x10
test byte [ebp - 0x290], 1
je 0x409a96
mov eax, dword [ebp - 0x28c]
and eax, 1
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x578
mov dword [esp + 4], 0x402
mov dword [esp], ebx
mov edi, dword [ebp - 0x33c]
call edi
mov eax, dword [ebp - 0x290]
sub esp, 0x10
not eax
mov dword [esp + 8], 0x578
and eax, 1
mov dword [esp + 4], 0x405
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call edi
xor eax, eax
sub esp, 0x10
test byte [ebp - 0x290], 2
je 0x409af5
mov eax, dword [ebp - 0x28c]
shr eax, 1
and eax, 1
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x579
mov dword [esp + 4], 0x402
mov dword [esp], ebx
mov edi, dword [ebp - 0x33c]
call edi
mov eax, dword [ebp - 0x290]
sub esp, 0x10
shr eax, 1
mov dword [esp + 8], 0x579
xor eax, 1
mov dword [esp + 4], 0x405
and eax, 1
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call edi
xor eax, eax
sub esp, 0x10
test byte [ebp - 0x290], 4
je 0x409b58
mov eax, dword [ebp - 0x28c]
shr eax, 2
and eax, 1
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x57a
mov dword [esp + 4], 0x402
mov dword [esp], ebx
mov edi, dword [ebp - 0x33c]
call edi
mov eax, dword [ebp - 0x290]
sub esp, 0x10
shr eax, 2
mov dword [esp + 8], 0x57a
xor eax, 1
mov dword [esp + 4], 0x405
and eax, 1
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call edi
lea eax, [ebp - 0x220]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x43d
mov dword [esp], esi
call edi
xor eax, eax
sub esp, 0x10
cmp word [ebp - 0x208], 1
sete al
mov dword [esp + 8], 0x44c
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x402
mov dword [esp], ebx
call edi
xor eax, eax
sub esp, 0x10
cmp word [ebp - 0x208], 3
sete al
mov dword [esp + 8], 0x44d
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x402
mov dword [esp], ebx
call edi
xor eax, eax
sub esp, 0x10
cmp word [ebp - 0x208], 2
sete al
mov dword [esp + 8], 0x44e
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x402
mov dword [esp], ebx
call edi
xor eax, eax
sub esp, 0x10
cmp word [ebp - 0x218], 0
setne al
mov dword [esp + 8], 0x522
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x402
mov dword [esp], ebx
call edi
sub esp, 0x10
xor eax, eax
jmp 0x409d32
cmp edi, 0x7b
je 0x409d10
cmp edi, 0x111
jne case.0x409824.0
call dbg.preview_isactive
test eax, eax
jne 0x40be28
mov dword [esp + 4], 0x7d1
mov ecx, dword [sym.imp.user32.dll_GetDlgItem]
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
mov dword [ebp - 0x33c], ecx
call ecx
sub esp, 8
mov edx, eax
cmp eax, ebx
je 0x409c6b
movzx edi, si
cmp si, 0x57b
ja 0x40cc90
cmp edi, 0x513
mov ecx, dword [ebp - 0x33c]
ja 0x40c2f0
cmp edi, 0x44e
ja 0x40ccf0
cmp edi, 0x3e7
jbe case.0x40c2ff.1321
lea eax, [edi - 0x3e8]
cmp eax, 0x66
ja case.0x40c2ff.1321
jmp dword [eax*4 + 0x4117c0]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7b
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
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
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
call dbg.prompt_save_changes
test eax, eax
je 0x409c6b
mov eax, ebx
call dbg.DoOpenFile
xor eax, eax
jmp 0x409d32
call dbg.preview_isactive
test eax, eax
je 0x40be68
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
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
call dbg.preview_isactive
test eax, eax
jne 0x40bd68
call dbg.prompt_save_changes
test eax, eax
je 0x409c6b
mov eax, dword [0x41f708]
mov dword [esp], eax
call dbg.registry_set_options
mov dword [esp + 4], 0x41f6f0
mov dword [esp], 0x41f6e8
call dbg.registry_set_formatopts_all
lea esi, [esi]
nop
mov dword [esp], 0
call dword [sym.imp.user32.dll_PostQuitMessage]
xor eax, eax
sub esp, 4
jmp 0x409d32
mov eax, dword [ebp - 0x340]
mov ecx, ebx
mov edx, esi
call dbg.OnSize
jmp 0x409d32
mov eax, dword [sym.imp.kernel32.dll_GetModuleHandleW]
mov dword [esp], 0
mov dword [ebp - 0x35c], eax
call eax
sub esp, 4
mov ebx, eax
mov dword [esp + 0xc], 0x7d0
mov esi, dword [ebp - 0x340]
mov dword [esp + 4], str.RichEdit_text
mov dword [esp + 8], esi
mov dword [esp], 0x50000040
call dword [sym.imp.comctl32.dll_CreateStatusWindowW]
mov eax, dword [sym.imp.user32.dll_CreateWindowExW]
sub esp, 0x10
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], 0x7d4
mov dword [ebp - 0x340], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x80000000
mov dword [esp + 0x10], 0x80000000
mov dword [esp + 0xc], 0x56000241
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4116b4
mov dword [esp], pe_nt_image_headers32
mov dword [ebp - 0x350], eax
call eax
mov dword [ebp - 0x318], 0xc
mov dword [ebp - 0x314], 0
sub esp, 0x30
mov esi, eax
lea eax, [ebp - 0x318]
mov dword [ebp - 0x310], 0
mov dword [esp + 0xc], eax
mov eax, dword [sym.imp.user32.dll_SendMessageW]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x404
mov dword [esp], esi
mov dword [ebp - 0x33c], eax
call eax
sub esp, 0x10
test eax, eax
je 0x40d443
mov dword [esp + 0x30], 0x14
mov dword [esp + 0x2c], 0x10
mov dword [esp + 0x28], 0x10
mov dword [esp + 0x24], 0x18
mov dword [esp + 0x20], 0x18
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x64
mov dword [ebp - 0x348], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x7d2
mov dword [esp + 4], 0x5000010a
mov dword [ebp - 0x344], esi
mov dword [esp], esi
call sym._CreateToolbarEx_52
mov ecx, dword [sym.imp.user32.dll_GetDC]
mov edx, dword [ebp - 0x340]
sub esp, 0x34
mov esi, eax
mov dword [esp], edx
mov dword [ebp - 0x358], ecx
call ecx
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0x5a
mov dword [esp], eax
call dword [sym.imp.gdi32.dll_GetDeviceCaps]
sub esp, 8
mov dword [ebp - 0x34c], eax
mov dword [esp + 4], ebx
mov edx, dword [ebp - 0x340]
mov dword [esp], edx
mov edx, dword [sym.imp.user32.dll_ReleaseDC]
mov dword [ebp - 0x364], edx
call edx
xor eax, eax
mov dword [ebp - 0x330], 0xffffffff
sub esp, 8
cmp dword [ebp - 0x34c], 0x77
setg al
mov dword [ebp - 0x32c], eax
lea eax, [ebp - 0x330]
mov dword [esp], esi
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x413
mov eax, dword [ebp - 0x33c]
call eax
movzx edx, word [0x411d50]
mov dword [ebp - 0x216], 0
mov dword [ebp - 0x21c], 0x3eb
mov ebx, eax
xor eax, eax
sub esp, 0x10
mov word [ebp - 0x212], ax
lea eax, [ebx + 6]
mov word [ebp - 0x218], dx
lea edx, [ebp - 0x220]
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
movzx edx, word [0x411d50]
xor eax, eax
mov dword [ebp - 0x216], 0
mov word [ebp - 0x212], ax
sub esp, 0x10
lea eax, [ebx + 7]
mov word [ebp - 0x218], dx
lea edx, [ebp - 0x220]
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], 0x3e9
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
movzx edx, word [0x411d50]
xor eax, eax
mov dword [ebp - 0x216], 0
mov word [ebp - 0x212], ax
sub esp, 0x10
lea eax, [ebx + 8]
mov word [ebp - 0x218], dx
lea edx, [ebp - 0x220]
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], 0x3ea
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
lea edx, [ebp - 0x220]
mov dword [ebp - 0x218], 0
sub esp, 0x10
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x220], 0xffffffff
mov byte [ebp - 0x217], 1
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
movzx edx, word [0x411d50]
xor eax, eax
mov dword [ebp - 0x216], 0
mov word [ebp - 0x212], ax
sub esp, 0x10
lea eax, [ebx + 0xe]
mov word [ebp - 0x218], dx
lea edx, [ebp - 0x220]
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], 0x3f5
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
xor edx, edx
lea eax, [ebx + 9]
mov dword [ebp - 0x216], 0
mov word [ebp - 0x212], dx
sub esp, 0x10
movzx edx, word [0x411d50]
mov dword [ebp - 0x220], eax
mov word [ebp - 0x218], dx
lea edx, [ebp - 0x220]
mov dword [ebp - 0x21c], 0x3f3
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
lea edx, [ebp - 0x220]
mov dword [ebp - 0x218], 0
sub esp, 0x10
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x220], 0xffffffff
mov byte [ebp - 0x217], 1
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
movzx edx, word [0x411d50]
xor ecx, ecx
lea eax, [ebx + 0xc]
sub esp, 0x10
mov dword [ebp - 0x220], eax
mov word [ebp - 0x218], dx
lea edx, [ebp - 0x220]
mov word [ebp - 0x212], cx
mov dword [ebp - 0x216], 0
mov dword [ebp - 0x21c], 0x3f6
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
lea edx, [ebp - 0x220]
mov dword [ebp - 0x218], 0
sub esp, 0x10
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x220], 0xffffffff
mov byte [ebp - 0x217], 1
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
movzx edx, word [0x411d50]
xor eax, eax
mov dword [ebp - 0x220], ebx
sub esp, 0x10
mov word [ebp - 0x212], ax
mov word [ebp - 0x218], dx
lea edx, [ebp - 0x220]
mov dword [ebp - 0x216], 0
mov dword [ebp - 0x21c], 0x51f
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
movzx edx, word [0x411d50]
xor eax, eax
mov dword [ebp - 0x216], 0
mov word [ebp - 0x212], ax
sub esp, 0x10
lea eax, [ebx + 1]
mov word [ebp - 0x218], dx
lea edx, [ebp - 0x220]
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], 0x51e
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
movzx edx, word [0x411d50]
mov dword [ebp - 0x216], 0
mov dword [ebp - 0x21c], 0x520
sub esp, 0x10
xor eax, eax
mov word [ebp - 0x212], ax
lea eax, [ebx + 2]
mov word [ebp - 0x218], dx
lea edx, [ebp - 0x220]
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
movzx edx, word [0x411d50]
xor eax, eax
mov dword [ebp - 0x216], 0
mov word [ebp - 0x212], ax
sub esp, 0x10
lea eax, [ebx + 3]
add ebx, 4
mov word [ebp - 0x218], dx
lea edx, [ebp - 0x220]
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], 0x51b
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
movzx edx, word [0x411d50]
xor eax, eax
mov dword [ebp - 0x220], ebx
sub esp, 0x10
mov dword [ebp - 0x216], 0
mov word [ebp - 0x218], dx
lea edx, [ebp - 0x220]
mov word [ebp - 0x212], ax
mov dword [ebp - 0x21c], 0x51c
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov ebx, dword [ebp - 0x33c]
call ebx
lea edx, [ebp - 0x220]
mov dword [ebp - 0x218], 0
sub esp, 0x10
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x220], 0xffffffff
mov byte [ebp - 0x217], 1
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
call ebx
xor edx, edx
mov dword [ebp - 0x216], 0
mov word [ebp - 0x212], dx
sub esp, 0x10
movzx edx, word [0x411d50]
mov dword [ebp - 0x220], 0
mov word [ebp - 0x218], dx
lea edx, [ebp - 0x220]
mov dword [ebp - 0x21c], 0x640
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
call ebx
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x421
call ebx
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x43a
mov dword [ebp - 0x33c], ebx
call ebx
sub esp, 0x10
shr eax, 0x10
mov dword [esp + 0x2c], 0
mov edx, dword [ebp - 0x348]
mov ebx, eax
mov dword [esp + 0x24], 0x7dd
mov dword [esp + 0x28], edx
mov eax, dword [ebp - 0x344]
mov dword [esp + 0x1c], 0x96
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], 0xc8
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x50800102
mov dword [esp + 8], 0
mov dword [esp + 4], str.ComboBoxEx32
mov dword [esp], 0
mov ecx, dword [ebp - 0x350]
call ecx
mov ecx, eax
sub esp, 0x30
lea eax, [ebp - 0x300]
mov dword [esp + 4], eax
mov dword [ebp - 0x34c], ecx
mov dword [esp], ecx
call dword [sym.imp.user32.dll_GetWindowRect]
mov eax, dword [ebp - 0x2f4]
mov edx, ebx
sub eax, dword [ebp - 0x2fc]
sub esp, 8
cmp eax, ebx
mov dword [ebp - 0x274], esi
lea esi, [ebp - 0x294]
mov dword [ebp - 0x294], 0x50
cmovge edx, eax
mov dword [ebp - 0x290], 0x171
mov dword [ebp - 0x26c], edx
mov dword [ebp - 0x354], edx
mov dword [ebp - 0x25c], edx
mov dword [ebp - 0x28c], 0x105
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x260], 2
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x40a
mov eax, dword [ebp - 0x344]
mov dword [esp], eax
mov ebx, dword [ebp - 0x33c]
call ebx
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x31
mov ecx, dword [ebp - 0x34c]
mov dword [esp], ecx
mov dword [ebp - 0x33c], ebx
call ebx
mov ecx, dword [ebp - 0x34c]
sub esp, 0x10
mov dword [ebp - 0x360], eax
mov dword [esp], ecx
mov ecx, dword [ebp - 0x358]
call ecx
mov edx, dword [ebp - 0x360]
sub esp, 4
mov ebx, eax
mov dword [esp + 4], edx
mov edx, dword [sym.imp.gdi32.dll_SelectObject]
mov dword [esp], eax
mov dword [ebp - 0x36c], edx
call edx
mov ecx, dword [sym.imp.gdi32.dll_GetTextExtentPointW]
mov dword [ebp - 0x360], eax
sub esp, 8
lea eax, [ebp - 0x328]
mov dword [esp], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xf
mov dword [esp + 4], str.Times_New_Roman
mov dword [ebp - 0x368], ecx
call ecx
lea eax, [ebp - 0x320]
sub esp, 0x10
mov dword [esp], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 3
mov dword [esp + 4], 0x411c1c
mov ecx, dword [ebp - 0x368]
call ecx
mov eax, dword [ebp - 0x360]
sub esp, 0x10
mov dword [esp], ebx
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x36c]
call edx
sub esp, 8
mov dword [esp + 4], ebx
mov ebx, dword [ebp - 0x34c]
mov dword [esp], ebx
mov ecx, dword [ebp - 0x364]
call ecx
mov dword [ebp - 0x274], ebx
mov ebx, dword [sym.imp.kernel32.dll_MulDiv]
sub esp, 8
mov dword [esp + 8], 2
mov dword [esp + 4], 3
mov eax, dword [ebp - 0x328]
mov dword [esp], eax
call ebx
mov edx, dword [ebp - 0x354]
mov dword [ebp - 0x260], 4
sub esp, 0xc
add eax, edx
mov dword [ebp - 0x268], eax
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x40a
mov edx, dword [ebp - 0x344]
mov dword [esp], edx
mov eax, dword [ebp - 0x33c]
call eax
sub esp, 0x10
mov dword [esp + 0x2c], 0
mov ecx, dword [ebp - 0x348]
mov dword [esp + 0x24], 0x7de
mov dword [esp + 0x28], ecx
mov edx, dword [ebp - 0x344]
mov dword [esp + 0x1c], 0x96
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], 0x32
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x50800002
mov dword [esp + 8], 0
mov dword [esp + 4], str.ComboBoxEx32
mov dword [esp], 0
mov ecx, dword [ebp - 0x350]
call ecx
sub esp, 0x30
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x274], eax
mov dword [esp + 8], 2
mov dword [esp + 4], 3
mov eax, dword [ebp - 0x320]
mov dword [esp], eax
call ebx
mov edx, dword [ebp - 0x354]
xor dword [ebp - 0x28c], 1
mov dword [ebp - 0x260], 5
sub esp, 0xc
add eax, edx
mov dword [ebp - 0x268], eax
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x40a
mov ebx, dword [ebp - 0x344]
mov dword [esp], ebx
mov eax, dword [ebp - 0x33c]
call eax
sub esp, 0x10
mov dword [esp + 0x30], 0x14
mov dword [esp + 0x2c], 0x10
mov dword [esp + 0x28], 0x10
mov dword [esp + 0x24], 0x10
mov dword [esp + 0x20], 0x10
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x65
mov ecx, dword [ebp - 0x348]
mov dword [esp + 0xc], 8
mov dword [esp + 0x10], ecx
mov dword [esp + 8], 0x7d3
mov dword [esp + 4], 0x1000010a
mov dword [ebp - 0x344], ebx
mov dword [esp], ebx
call sym._CreateToolbarEx_52
sub esp, 0x34
mov ebx, eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0x454
mov dword [esp], eax
mov eax, dword [ebp - 0x33c]
call eax
movzx edx, word [0x411d50]
mov dword [ebp - 0x216], 0
mov dword [ebp - 0x220], 0
sub esp, 0x10
xor ecx, ecx
mov word [ebp - 0x218], dx
lea edx, [ebp - 0x220]
mov word [ebp - 0x212], cx
mov dword [ebp - 0x21c], 0x578
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
movzx edx, word [0x411d50]
xor eax, eax
mov dword [ebp - 0x216], 0
sub esp, 0x10
mov word [ebp - 0x212], ax
mov word [ebp - 0x218], dx
lea edx, [ebp - 0x220]
mov dword [ebp - 0x220], 1
mov dword [ebp - 0x21c], 0x579
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
movzx edx, word [0x411d50]
xor eax, eax
mov dword [ebp - 0x216], 0
sub esp, 0x10
mov word [ebp - 0x212], ax
mov word [ebp - 0x218], dx
lea edx, [ebp - 0x220]
mov dword [ebp - 0x220], 2
mov dword [ebp - 0x21c], 0x57a
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
movzx edx, word [0x411d50]
xor eax, eax
mov dword [ebp - 0x216], 0
sub esp, 0x10
mov word [ebp - 0x212], ax
mov word [ebp - 0x218], dx
lea edx, [ebp - 0x220]
mov dword [ebp - 0x220], 3
mov dword [ebp - 0x21c], 0x57b
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
lea edx, [ebp - 0x220]
mov dword [ebp - 0x218], 0
sub esp, 0x10
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x220], 0xffffffff
mov byte [ebp - 0x217], 1
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
movzx edx, word [0x411d50]
xor eax, eax
mov dword [ebp - 0x216], 0
sub esp, 0x10
mov word [ebp - 0x212], ax
mov word [ebp - 0x218], dx
lea edx, [ebp - 0x220]
mov dword [ebp - 0x220], 4
mov dword [ebp - 0x21c], 0x44c
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
movzx edx, word [0x411d50]
xor eax, eax
mov dword [ebp - 0x216], 0
sub esp, 0x10
mov word [ebp - 0x212], ax
mov word [ebp - 0x218], dx
lea edx, [ebp - 0x220]
mov dword [ebp - 0x220], 5
mov dword [ebp - 0x21c], 0x44d
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
xor edx, edx
mov dword [ebp - 0x216], 0
mov word [ebp - 0x212], dx
sub esp, 0x10
movzx edx, word [0x411d50]
mov dword [ebp - 0x220], 6
mov word [ebp - 0x218], dx
lea edx, [ebp - 0x220]
mov dword [ebp - 0x21c], 0x44e
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
lea edx, [ebp - 0x220]
mov dword [ebp - 0x218], 0
sub esp, 0x10
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x220], 0xffffffff
mov byte [ebp - 0x217], 1
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
movzx eax, word [0x411d52]
xor ecx, ecx
lea edx, [ebp - 0x220]
sub esp, 0x10
mov word [ebp - 0x212], cx
mov word [ebp - 0x218], ax
mov dword [ebp - 0x216], 0
mov dword [ebp - 0x220], 7
mov dword [ebp - 0x21c], 0x522
mov dword [ebp - 0x210], 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [ebp - 0x33c]
call eax
sub esp, 0x10
mov dword [esp], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x421
mov eax, dword [ebp - 0x33c]
call eax
mov dword [ebp - 0x274], ebx
mov dword [ebp - 0x260], 3
sub esp, 0x10
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x40a
mov edx, dword [ebp - 0x344]
mov dword [esp], edx
mov ebx, dword [ebp - 0x33c]
call ebx
sub esp, 0x10
mov dword [esp + 0x2c], 0
mov ecx, dword [ebp - 0x348]
mov dword [esp + 0x24], 0x7df
mov dword [esp + 0x28], ecx
mov edx, dword [ebp - 0x344]
mov dword [esp + 0x1c], 0xa
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], 0xc8
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.Static
mov dword [esp], 0
mov ecx, dword [ebp - 0x350]
call ecx
or dword [ebp - 0x28c], 1
sub esp, 0x30
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x260], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x40a
mov edx, dword [ebp - 0x344]
mov dword [esp], edx
call ebx
sub esp, 0x10
mov dword [esp], str.RICHED20.DLL
call dword [sym.imp.kernel32.dll_LoadLibraryW]
sub esp, 4
test eax, eax
je 0x40d1c0
mov dword [esp + 0x2c], 0
mov eax, dword [ebp - 0x348]
mov dword [esp + 0x24], 0x7d1
mov dword [esp + 0x28], eax
mov eax, dword [ebp - 0x340]
mov dword [esp + 0x1c], 0x64
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], 0x3e8
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x51301144
mov dword [esp + 8], 0
mov dword [esp + 4], str.RichEdit20W
mov dword [esp], 0x200
mov eax, dword [ebp - 0x350]
call eax
mov dword [0x41f704], eax
sub esp, 0x30
test eax, eax
je 0x40d419
mov dword [esp], eax
call dbg.setup_richedit_olecallback
mov eax, dword [0x41f704]
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetFocus]
sub esp, 4
mov dword [esp + 0xc], 0x80000
mov dword [esp + 8], 0
mov dword [esp + 4], 0x445
mov eax, dword [0x41f704]
mov dword [esp], eax
mov ebx, dword [ebp - 0x33c]
call ebx
sub esp, 0x10
call dbg.set_default_font
mov eax, dword [0x41f708]
mov dword [ebp - 0x30c], 0
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x304], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x358]
call eax
sub esp, 4
mov esi, eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x407
mov eax, dword [ebp - 0x34c]
mov dword [esp], eax
call ebx
mov byte [ebp - 0x2d9], 1
mov ebx, eax
xor eax, eax
sub esp, 0x10
mov byte [ebp - 0x2d5], 0
mov word [ebp - 0x2d4], ax
lea eax, [ebp - 0x30c]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x2f0]
mov dword [esp + 0x10], 0
mov dword [esp + 8], dbg.enum_font_proc
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [sym.imp.gdi32.dll_EnumFontFamiliesExW]
sub esp, 0x14
mov dword [esp + 0xc], dbg.fonts_desc_compare
mov dword [esp + 8], 8
mov eax, dword [ebp - 0x308]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x30c]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_qsort]
cmp dword [ebp - 0x308], 1
jbe 0x40d283
mov eax, dword [sym.imp.ucrtbase.dll_free]
mov dword [ebp - 0x350], ebx
xor esi, esi
mov dword [ebp - 0x348], eax
jmp 0x40b1ec
add esi, 1
cmp edi, esi
je 0x40b1dd
mov eax, dword [ebp - 0x30c]
mov ecx, dword [ebp - 0x344]
mov edx, dword [eax + ecx]
mov ecx, dword [eax + ecx + 4]
mov dword [eax + ebx + 8], edx
mov dword [eax + ebx + 0xc], ecx
mov ebx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x30c]
mov dword [eax + ebx], 0
add edi, 1
cmp edi, dword [ebp - 0x308]
jae 0x40b8f0
mov eax, dword [ebp - 0x30c]
lea edx, [esi*8]
lea ecx, [edi*8]
mov ebx, edx
mov dword [ebp - 0x344], ecx
mov edx, dword [eax + esi*8]
mov dword [esp + 4], edx
mov eax, dword [eax + edi*8]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_lstrcmpiW]
sub esp, 8
test eax, eax
jne 0x40b1a8
mov eax, dword [ebp - 0x30c]
mov eax, dword [eax + edi*8]
mov dword [esp], eax
mov eax, dword [ebp - 0x348]
call eax
mov eax, dword [ebp - 0x30c]
mov dword [eax + edi*8], 0
jmp 0x40b1dd
test si, si
je 0x409c6b
mov dword [esp + 4], 0x7d1
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 8
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetFocus]
xor eax, eax
sub esp, 4
jmp 0x409d32
mov eax, ebx
call dbg.handle_findmsg
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0x10
mov dword [esp + 4], 0x7d1
mov edi, dword [ebp - 0x340]
mov ebx, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp], edi
call ebx
sub esp, 8
mov dword [ebp - 0x340], eax
mov dword [esp], edi
mov dword [esp + 4], 0x7d0
call ebx
mov ebx, dword [sym.imp.user32.dll_SendMessageW]
mov dword [ebp - 0x344], eax
sub esp, 8
lea eax, [ebp - 0x300]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x30c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0xb0
mov eax, dword [0x41f704]
mov dword [esp], eax
call ebx
mov ecx, dword [ebp - 0x300]
xor eax, eax
mov edi, dword [sym.imp.user32.dll_EnableMenuItem]
sub esp, 0x10
cmp dword [ebp - 0x30c], ecx
sete al
mov dword [esp + 4], 0x51e
mov dword [esp + 8], eax
mov dword [esp], esi
call edi
mov ecx, dword [ebp - 0x300]
xor eax, eax
sub esp, 0xc
cmp dword [ebp - 0x30c], ecx
sete al
mov dword [esp + 4], 0x51f
mov dword [esp + 8], eax
mov dword [esp], esi
call edi
lea eax, [ebp - 0x220]
mov dword [ebp - 0x220], 0x9c
sub esp, 0xc
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x43d
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
mov dword [ebp - 0x33c], ebx
call ebx
sub esp, 0x10
mov dword [esp + 4], 0xfffffff0
mov edx, dword [ebp - 0x340]
mov dword [esp], edx
call dword [sym.imp.user32.dll_GetWindowLongW]
mov ebx, dword [sym.imp.user32.dll_CheckMenuItem]
shr eax, 8
sub esp, 8
and eax, 8
mov dword [esp + 4], 0x516
mov dword [esp + 8], eax
mov dword [esp], esi
call ebx
sub esp, 0xc
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xb8
mov edx, dword [ebp - 0x340]
mov dword [esp], edx
mov eax, dword [ebp - 0x33c]
call eax
sub esp, 0x10
test eax, eax
setne al
mov dword [esp + 4], 0x517
movzx eax, al
mov dword [esp], esi
shl eax, 3
mov dword [esp + 8], eax
call ebx
sub esp, 0xc
test byte [ebp - 0x21c], 8
je 0x40bd20
movzx edx, word [ebp - 0x208]
cmp edx, 1
je 0x40d1a0
mov dword [ebp - 0x348], edx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44c
mov dword [esp], esi
call ebx
mov edx, dword [ebp - 0x348]
sub esp, 0xc
cmp edx, 3
jne 0x40d29d
mov dword [esp + 8], 8
mov dword [esp + 4], 0x44d
mov dword [esp], esi
call ebx
xor edx, edx
sub esp, 0xc
mov dword [esp + 8], edx
mov dword [esp + 4], 0x44e
mov dword [esp], esi
call ebx
xor eax, eax
sub esp, 0xc
cmp word [ebp - 0x218], 1
sete al
mov dword [esp + 4], 0x523
shl eax, 3
mov dword [esp], esi
mov dword [esp + 8], eax
call ebx
xor eax, eax
sub esp, 0xc
cmp word [ebp - 0x218], 2
sete al
mov dword [esp + 4], 0x524
shl eax, 3
mov dword [esp], esi
mov dword [esp + 8], eax
call ebx
xor eax, eax
sub esp, 0xc
cmp word [ebp - 0x218], 3
sete al
mov dword [esp + 4], 0x525
shl eax, 3
mov dword [esp], esi
mov dword [esp + 8], eax
call ebx
xor eax, eax
sub esp, 0xc
cmp word [ebp - 0x218], 4
sete al
mov dword [esp + 4], 0x526
shl eax, 3
mov dword [esp], esi
mov dword [esp + 8], eax
call ebx
xor eax, eax
sub esp, 0xc
cmp word [ebp - 0x218], 5
sete al
mov dword [esp + 4], 0x527
shl eax, 3
mov dword [esp], esi
mov dword [esp + 8], eax
call ebx
xor eax, eax
sub esp, 0xc
cmp word [ebp - 0x218], 6
sete al
mov dword [esp + 4], 0x528
shl eax, 3
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], 0xc6
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
mov eax, dword [ebp - 0x33c]
call eax
sub esp, 0x10
test eax, eax
sete al
mov dword [esp + 4], 0x51b
movzx eax, al
mov dword [esp], esi
mov dword [esp + 8], eax
call edi
sub esp, 0xc
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x455
mov edx, dword [ebp - 0x340]
mov dword [esp], edx
mov eax, dword [ebp - 0x33c]
call eax
sub esp, 0x10
test eax, eax
sete al
mov dword [esp + 4], 0x51c
movzx eax, al
mov dword [esp], esi
mov dword [esp + 8], eax
call edi
mov eax, dword [0x410284]
sub esp, 0xc
mov dword [esp], eax
call sym._reg_formatindex
mov eax, dword [eax*4 + 0x41f6e8]
mov dword [esp + 4], 0x5dc
mov dword [esp], esi
add eax, eax
and eax, 8
mov dword [esp + 8], eax
call ebx
mov eax, dword [0x410284]
sub esp, 0xc
mov dword [esp], eax
call sym._reg_formatindex
mov eax, dword [eax*4 + 0x41f6e8]
mov dword [esp + 4], 0x5dd
mov dword [esp], esi
and eax, 8
mov dword [esp + 8], eax
call ebx
mov edx, dword [ebp - 0x344]
sub esp, 0xc
mov dword [esp], edx
call dword [sym.imp.user32.dll_IsWindowVisible]
sub esp, 4
test eax, eax
setne al
mov dword [esp + 4], 0x5de
movzx eax, al
mov dword [esp], esi
shl eax, 3
mov dword [esp + 8], eax
call ebx
mov eax, dword [0x410284]
sub esp, 0xc
mov dword [esp], eax
call sym._reg_formatindex
mov eax, dword [eax*4 + 0x41f6e8]
mov dword [esp + 4], 0x5df
mov dword [esp], esi
and eax, 1
shl eax, 3
mov dword [esp + 8], eax
call ebx
lea eax, [ebp - 0x2f0]
mov dword [ebp - 0x2f0], 8
mov dword [ebp - 0x2ec], 0x4b0
sub esp, 0xc
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x45f
mov eax, dword [0x41f704]
mov dword [esp], eax
mov eax, dword [ebp - 0x33c]
call eax
sub esp, 0x10
test eax, eax
mov dword [ebp - 0x33c], eax
sete bl
mov dword [esp + 4], 0x3f6
movzx ebx, bl
mov dword [esp], esi
mov dword [esp + 8], ebx
call edi
lea eax, [ebp - 0x294]
mov dword [ebp - 0x294], 0x30
mov dword [ebp - 0x290], 0x20
sub esp, 0xc
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x3f7
mov dword [esp], esi
call dword [sym.imp.user32.dll_GetMenuItemInfoW]
mov edx, dword [ebp - 0x33c]
mov eax, 1
sub esp, 0x10
test edx, edx
je 0x40b75c
mov edx, dword [ebp - 0x274]
xor eax, eax
test edx, edx
sete al
mov dword [esp + 8], eax
mov dword [esp + 4], 0x3f7
mov dword [esp], esi
call edi
sub esp, 0xc
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x3f8
mov dword [esp], esi
call edi
xor eax, eax
sub esp, 0xc
jmp 0x409d32
mov dword [esp + 4], 0x7d1
mov edi, dword [ebp - 0x340]
mov esi, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp], edi
call esi
sub esp, 8
mov dword [ebp - 0x348], eax
mov dword [esp], edi
mov dword [esp + 4], 0x7d4
call esi
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x7dd
mov dword [esp], eax
call esi
sub esp, 8
mov dword [ebp - 0x33c], eax
mov dword [esp + 4], 0x7de
mov dword [esp], edi
call esi
sub esp, 8
mov dword [ebp - 0x344], eax
mov dword [esp + 4], 0x7d3
mov dword [esp], edi
call esi
mov edx, dword [ebx]
sub esp, 8
cmp dword [ebp - 0x33c], edx
je 0x40d180
cmp dword [ebp - 0x344], edx
je 0x40be90
cmp eax, edx
je 0x40d050
cmp dword [ebp - 0x348], edx
jne 0x409c6b
cmp dword [ebx + 8], 0x702
jne 0x409c6b
call dbg.update_font_list
mov dword [esp + 0xc], 0
mov edi, dword [sym.imp.user32.dll_SendMessageW]
mov dword [esp + 8], 0
mov dword [esp + 4], 0xba
mov eax, dword [ebp - 0x348]
mov dword [esp], eax
call edi
sub esp, 0x10
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0xc]
lea ebx, [ebp - 0x220]
mov dword [esp + 4], str.selection___ld.._ld__line_count_Id
mov dword [esp + 8], eax
mov dword [esp], ebx
call sym._sprintf
mov dword [esp + 4], 0x7d0
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
call esi
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetWindowTextA]
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x400
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
call edi
mov eax, 1
sub esp, 0x10
jmp 0x409d32
lea edx, [esi + 1]
mov ebx, dword [ebp - 0x350]
mov dword [ebp - 0x308], edx
test edx, edx
je 0x40b9a9
xor esi, esi
mov dword [ebp - 0x344], ebx
xor edi, edi
mov ebx, esi
mov esi, dword [ebp - 0x34c]
xor eax, eax
mov dword [ebp + eax - 0x21c], edi
add eax, 4
cmp eax, 0x20
jb 0x40b91b
mov dword [ebp - 0x220], 0x21
mov eax, dword [ebp - 0x30c]
lea eax, [eax + ebx*8]
mov ecx, dword [eax]
mov dword [ebp - 0x21c], 0xffffffff
mov dword [ebp - 0x218], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x200], eax
lea eax, [ebp - 0x220]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x40b
mov dword [esp], esi
mov eax, dword [ebp - 0x33c]
call eax
mov eax, dword [ebp - 0x30c]
sub esp, 0x10
mov eax, dword [eax + ebx*8]
add ebx, 1
mov dword [esp], eax
mov eax, dword [ebp - 0x348]
call eax
cmp ebx, dword [ebp - 0x308]
jb 0x40b919
mov ebx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x30c]
mov dword [esp], eax
mov eax, dword [ebp - 0x348]
call eax
lea edx, [ebp - 0x21c]
xor eax, eax
mov ecx, 0x1c
mov edi, edx
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x220]
mov dword [ebp - 0x220], 0x74
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x43a
mov eax, dword [0x41f704]
mov dword [esp], eax
mov esi, dword [ebp - 0x33c]
call esi
lea eax, [ebp - 0x206]
sub esp, 0x10
mov dword [esp], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0xc
call esi
mov eax, dword [ebp - 0x360]
sub esp, 0x10
call dbg.populate_size_list
mov dword [esp], 0
mov eax, dword [ebp - 0x35c]
call eax
mov esi, dword [sym.imp.user32.dll_LoadStringW]
sub esp, 4
mov ebx, eax
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], 0x41eca0
mov dword [esp + 4], 0x57b
mov dword [esp], eax
call esi
lea edi, [eax + eax + 2]
sub esp, 0x10
xor eax, eax
lea ecx, [edi + 0x41eca0]
lea esi, [esi]
movzx edx, word [eax + str..rtf]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x40ba78
cmp word [edi + 0x41eca0], 0
je 0x40d265
mov eax, ecx
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x40baa0
sub eax, ecx
add eax, 2
lea edi, [ecx + eax]
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], edi
mov dword [esp + 4], 0x579
mov dword [esp], ebx
call esi
lea edx, [edi + eax*2 + 2]
sub esp, 0x10
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [eax + 0x411b54]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40bad8
cmp word [edx], 0
je 0x40d279
mov eax, edx
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x40bb00
sub eax, edx
add eax, 2
lea edi, [edx + eax]
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], edi
mov dword [esp + 4], 0x57a
mov dword [esp], ebx
call esi
lea edx, [edi + eax*2 + 2]
sub esp, 0x10
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [eax + 0x411b54]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40bb38
cmp word [edx], 0
je 0x40d26f
mov eax, edx
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x40bb60
sub eax, edx
add eax, 2
lea edi, [edx + eax]
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], edi
mov dword [esp + 4], 0x578
mov dword [esp], ebx
call esi
lea edx, [edi + eax*2 + 2]
sub esp, 0x10
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [eax + 0x411b4c]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40bb98
cmp word [edx], 0
je 0x40d25b
mov eax, edx
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x40bbc0
sub eax, edx
add eax, 2
xor edi, edi
mov word [edx + eax], di
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], 0x41eaa0
mov dword [esp + 4], 0x6a4
mov dword [esp], ebx
call esi
sub esp, 0x10
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], 0x41e8a0
mov dword [esp + 4], 0x6a5
mov dword [esp], ebx
call esi
sub esp, 0x10
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], 0x41e6a0
mov dword [esp + 4], 0x5b2
mov dword [esp], ebx
call esi
sub esp, 0x10
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], 0x41e4a0
mov dword [esp + 4], 0x5b3
mov dword [esp], ebx
call esi
sub esp, 0x10
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], 0x41e2a0
mov dword [esp + 4], 0x5b4
mov dword [esp], ebx
call esi
sub esp, 0x10
mov dword [esp + 0xc], 0xff
mov dword [esp + 8], 0x41e0a0
mov dword [esp + 4], 0x5b5
mov dword [esp], ebx
call esi
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xb9
mov eax, dword [0x41f704]
mov dword [esp], eax
mov eax, dword [ebp - 0x33c]
call eax
sub esp, 0x10
mov dword [esp], str.commdlg_FindReplace
call dword [sym.imp.user32.dll_RegisterWindowMessageW]
mov esi, dword [ebp - 0x340]
sub esp, 4
mov dword [0x41f6f8], eax
mov dword [esp], esi
call dbg.registry_read_filelist
mov dword [esp + 4], 0x41f6f0
mov dword [esp], 0x41f6e8
call dbg.registry_read_formatopts_all
call dbg.registry_read_options
mov dword [esp + 4], 1
mov dword [esp], esi
call dword [sym.imp.shell32.dll_DragAcceptFiles]
xor eax, eax
sub esp, 8
jmp 0x409d32
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44c
mov dword [esp], esi
call ebx
sub esp, 0xc
xor edx, edx
mov dword [ebp - 0x348], edx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x44d
mov dword [esp], esi
call ebx
mov edx, dword [ebp - 0x348]
sub esp, 0xc
jmp 0x40b470
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
sub esp, 4
mov dword [esp + 4], 0x898
mov dword [esp], eax
call dword [sym.imp.user32.dll_LoadMenuW]
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x7d1
mov edi, dword [ebp - 0x340]
mov dword [esp], edi
call dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 8
mov esi, eax
call dbg.set_bar_states
mov dword [esp + 4], 1
mov dword [esp], esi
call dword [sym.imp.user32.dll_ShowWindow]
sub esp, 8
mov dword [esp], edi
call dbg.close_preview
mov dword [esp + 4], ebx
mov dword [esp], edi
call dword [sym.imp.user32.dll_SetMenu]
sub esp, 8
mov dword [esp], edi
call dbg.registry_read_filelist
lea eax, [ebp - 0x220]
mov dword [esp + 4], eax
mov eax, dword [0x41f708]
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetClientRect]
mov eax, dword [ebp - 0x214]
movzx ecx, word [ebp - 0x218]
xor edx, edx
sub esp, 8
shl eax, 0x10
or ecx, eax
mov eax, dword [0x41f708]
call dbg.OnSize
xor eax, eax
jmp 0x409d32
mov dword [esp + 4], esi
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
call dbg.preview_command
jmp 0x409d32
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], 0x111
mov dword [esp], edx
call dword [sym.imp.user32.dll_SendMessageW]
xor eax, eax
sub esp, 0x10
jmp 0x409d32
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], 0xf
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
call dword [sym.imp.user32.dll_DefWindowProcW]
sub esp, 0x10
jmp 0x409d32
cmp dword [ebx + 8], 0xfffffcda
jne 0x409c6b
mov eax, dword [ebp - 0x344]
lea edx, [ebx + 0x14]
call dbg.on_sizelist_modified
xor eax, eax
jmp 0x409d32
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetMenu]
lea edx, [ebp - 0x220]
push esi
mov dword [ebp - 0x220], 0x30
mov dword [ebp - 0x21c], 0x20
mov dword [esp + 0xc], edx
xor edx, edx
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetMenuItemInfoW]
sub esp, 0x10
test eax, eax
je 0x409c6b
mov eax, dword [ebp - 0x200]
call dbg.DoOpenFile
xor eax, eax
jmp 0x409d32
cmp edi, 0x44d
je 0x40d405
xor eax, eax
cmp edi, 0x44e
sete al
add eax, 1
mov word [ebp - 0x208], ax
lea eax, [ebp - 0x220]
mov dword [ebp - 0x220], 0xbc
mov dword [ebp - 0x21c], 8
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
mov dword [esp + 4], 0x447
mov dword [esp], edx
call dword [sym.imp.user32.dll_SendMessageW]
xor eax, eax
sub esp, 0x10
jmp 0x409d32
call dbg.DialogSaveFile
xor eax, eax
jmp 0x409d32
mov eax, 1
call sym._dialog_find.constprop.0
xor eax, eax
jmp 0x409d32
xor eax, eax
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
xor ecx, ecx
push edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], dbg.newfile_proc
mov esi, dword [ebp - 0x340]
mov dword [esp + 4], 0x835
mov dword [esp + 8], esi
mov dword [esp], eax
call dword [sym.imp.user32.dll_DialogBoxParamW]
sub esp, 0x14
mov ebx, eax
cmp eax, 0x64
je 0x409c6b
call dbg.prompt_save_changes
test eax, eax
je 0x409c6b
xor eax, eax
lea edi, [ebp - 0x220]
xor esi, esi
call dbg.set_caption
mov word [0x41f4e0], 0
mov dword [ebp - 0x220], 0xbc
mov dword [ebp - 0x21c], 8
mov word [ebp - 0x208], 1
mov dword [esp + 8], esi
mov esi, dword [sym.imp.user32.dll_SendMessageW]
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x447
mov eax, dword [0x41f704]
mov dword [esp], eax
call esi
xor eax, eax
mov dword [ebp - 0x21c], 0x4b0
mov dword [ebp - 0x220], eax
sub esp, 0x10
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov dword [esp + 4], 0x461
mov eax, dword [0x41f704]
mov dword [esp], eax
call esi
xor eax, eax
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
mov dword [esp + 4], 0xb9
mov eax, dword [0x41f704]
mov dword [esp], eax
call esi
mov dword [0x410284], ebx
sub esp, 0x10
call dbg.set_bar_states
call dbg.set_default_font
mov eax, dword [0x410284]
mov dword [esp], eax
call sym._reg_formatindex
mov eax, dword [eax*4 + 0x41f6f0]
mov dword [esp + 4], eax
mov eax, dword [0x41f708]
mov dword [esp], eax
call dbg.target_device
call dbg.update_font_list
xor eax, eax
jmp 0x409d32
cmp word [0x41f4e0], 0
je case.0x409d09.1004
mov edx, dword [0x410284]
mov eax, 0x41f4e0
call dbg.DoSaveFile
xor eax, eax
jmp 0x409d32
xor eax, eax
lea edi, [ebp - 0x220]
mov ecx, 0x82
rep stosd dword es:[edi], eax
lea edx, [ebp - 0x28c]
mov ecx, 0x14
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [0x41f708]
mov dword [ebp - 0x294], 0x58
mov dword [ebp - 0x260], 0x801804
mov dword [ebp - 0x290], eax
lea eax, [ebp - 0x220]
mov dword [ebp - 0x278], eax
mov eax, dword [0x410284]
mov dword [ebp - 0x288], 0x41eca0
mov dword [ebp - 0x274], 0x104
mov dword [ebp - 0x258], 0x411b28
cmp eax, 1
je 0x40d40f
cmp eax, 0x11
sete al
movzx eax, al
add eax, eax
add eax, 1
mov dword [ebp - 0x27c], eax
lea eax, [ebp - 0x294]
mov dword [esp], eax
call dword [sym.imp.comdlg32.dll_GetOpenFileNameW]
push ecx
test eax, eax
je 0x409c6b
call dbg.prompt_save_changes
test eax, eax
je 0x409c6b
mov eax, dword [ebp - 0x278]
call dbg.DoOpenFile
xor eax, eax
jmp 0x409d32
xor ebx, ebx
mov dword [esp + 4], 0x10
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
call dword [sym.imp.user32.dll_PostMessageW]
xor eax, eax
sub esp, 0x10
jmp 0x409d32
mov eax, dword [0x410284]
mov dword [esp], eax
call sym._reg_formatindex
mov esi, dword [eax*4 + 0x41f6e8]
mov ebx, eax
mov dword [eax*4 + 0x41f6e8], 2
call dbg.set_bar_states
mov dword [ebx*4 + 0x41f6e8], esi
xor esi, esi
mov dword [esp + 4], esi
mov eax, dword [0x41f704]
mov dword [esp], eax
call dword [sym.imp.user32.dll_ShowWindow]
push edi
push edi
mov dword [esp + 4], 0x41f4e0
mov esi, dword [ebp - 0x340]
mov dword [esp], esi
call dbg.init_preview
xor eax, eax
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [sym.imp.user32.dll_SetMenu]
push eax
push eax
xor eax, eax
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov dword [esp], eax
call dword [sym.imp.user32.dll_InvalidateRect]
xor eax, eax
sub esp, 0xc
jmp 0x409d32
mov dword [esp + 4], 0x41f4e0
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
call dbg.dialog_print
mov eax, dword [0x410284]
mov dword [esp], eax
call sym._reg_formatindex
mov eax, dword [eax*4 + 0x41f6f0]
mov dword [esp + 4], eax
mov eax, dword [0x41f708]
mov dword [esp], eax
call dbg.target_device
xor eax, eax
jmp 0x409d32
mov eax, 0x41e060
call dbg.handle_findmsg
xor eax, eax
jmp 0x409d32
xor eax, eax
call sym._dialog_find.constprop.0
xor eax, eax
jmp 0x409d32
mov dword [esp + 4], 0x41f4e0
mov eax, dword [0x41f708]
mov dword [esp], eax
call dbg.print_quick
jmp 0x40c277
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
call dbg.dialog_printsetup
jmp 0x40c277
sub edi, 0x514
cmp edi, 0x67
ja case.0x40c2ff.1321
jmp dword [edi*4 + 0x41195c]
xor ecx, ecx
lea edi, [ebp - 0x220]
mov dword [ebp - 0x220], 0xbc
lea ebx, [esi - 0x522]
mov dword [ebp - 0x21c], 0x20
mov dword [esp], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], 0x43d
mov dword [ebp - 0x340], eax
mov eax, dword [sym.imp.user32.dll_SendMessageW]
mov dword [ebp - 0x33c], eax
call eax
movzx eax, word [ebp - 0x218]
mov edx, dword [ebp - 0x340]
mov dword [ebp - 0x21c], 0x8000e024
sub esp, 0x10
test ax, ax
je 0x40d393
cmp si, 0x522
je 0x40d44b
cmp bx, ax
je 0x40d44b
xor eax, eax
mov dword [ebp - 0x214], eax
movzx eax, bx
mov dword [0x410280], eax
mov word [ebp - 0x218], bx
mov dword [ebp - 0x170], 0x2000001
mov word [ebp - 0x16c], 0x168
mov dword [ebp - 0x20c], 0x168
xor eax, eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov dword [esp + 4], 0x447
mov dword [esp], edx
mov eax, dword [ebp - 0x33c]
call eax
xor eax, eax
sub esp, 0x10
jmp 0x409d32
xor eax, eax
mov ecx, 0x1c
lea edi, [ebp - 0x21c]
rep stosd dword es:[edi], eax
mov eax, dword [sym.imp.user32.dll_SendMessageW]
lea ebx, [ebp - 0x220]
mov dword [ebp - 0x220], 0x74
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x43a
mov dword [ebp - 0x340], edx
mov dword [ebp - 0x33c], eax
call eax
mov edx, dword [ebp - 0x340]
sub esp, 0x10
cmp si, 0x579
je 0x40d3f6
xor ecx, ecx
cmp si, 0x57a
sete cl
lea ecx, [ecx + ecx*2 + 1]
mov eax, ecx
xor dword [ebp - 0x218], eax
mov dword [ebp - 0x21c], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov dword [esp], edx
mov eax, dword [ebp - 0x33c]
call eax
xor eax, eax
sub esp, 0x10
jmp 0x409d32
xor eax, eax
mov ecx, 0x1c
lea edi, [ebp - 0x21c]
rep stosd dword es:[edi], eax
xor eax, eax
cmp si, 0x518
lea ebx, [ebp - 0x220]
mov dword [ebp - 0x220], 0x74
sete al
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x43a
mov dword [esp], edx
call dword [sym.imp.user32.dll_SendMessageW]
xor eax, eax
sub esp, 0x10
jmp 0x409d32
mov eax, dword [0x41f708]
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetDC]
lea edx, [ebp - 0x2e8]
mov ecx, 0xd
push ebx
mov edi, edx
mov edx, dword [0x41f708]
mov esi, eax
xor eax, eax
rep stosd dword es:[edi], eax
mov dword [ebp - 0x2ec], edx
lea edx, [ebp - 0x294]
mov ecx, 0x1c
mov dword [ebp - 0x2e4], edx
lea edx, [ebp - 0x21c]
mov dword [ebp - 0x2f0], 0x3c
mov edi, edx
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x220]
mov dword [ebp - 0x2dc], 0x1800141
mov dword [ebp - 0x220], 0x74
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0x43a
mov eax, dword [0x41f704]
mov dword [esp], eax
mov eax, dword [sym.imp.user32.dll_SendMessageW]
mov dword [ebp - 0x33c], eax
call eax
mov ecx, dword [ebp - 0x2e4]
xor eax, eax
sub esp, 0x10
movzx edx, word [ebp + eax - 0x206]
mov word [ecx + eax + 0x1c], dx
add eax, 2
test dx, dx
jne 0x40c56f
mov eax, dword [ebp - 0x218]
mov edx, dword [ebp - 0x2e4]
mov ecx, eax
mov edi, eax
shr ecx, 1
and ecx, 1
mov byte [edx + 0x14], cl
mov ecx, eax
and ecx, 1
cmp ecx, 1
sbb ecx, ecx
shr edi, 2
and ecx, 0xfffffed4
mov ebx, edi
shr eax, 3
add ecx, 0x2bc
and eax, 1
mov dword [edx + 0x10], ecx
movzx ecx, word [0x411d34]
mov cl, bl
and cl, 1
mov ch, al
mov word [edx + 0x15], cx
mov dword [esp + 4], 0x5a
mov dword [esp], esi
call dword [sym.imp.gdi32.dll_GetDeviceCaps]
mov ecx, 0x14
push edx
push edx
mov dword [esp + 8], 0x48
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x214]
cdq
idiv ecx
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_MulDiv]
mov edx, dword [ebp - 0x2e4]
neg eax
sub esp, 0xc
mov dword [edx], eax
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x2d8], eax
lea eax, [ebp - 0x2f0]
mov dword [esp], eax
call dword [sym.imp.comdlg32.dll_ChooseFontW]
push ecx
test eax, eax
je 0x409c6b
lea edx, [ebp - 0x218]
xor eax, eax
mov ecx, 0x1b
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x220], 0x74
mov dword [ebp - 0x21c], 0xc000000f
add eax, eax
mov dword [ebp - 0x214], eax
movzx eax, word [ebp - 0x2c0]
test ah, 1
je 0x40c682
mov dword [ebp - 0x218], 1
test ah, 2
je 0x40c68e
or dword [ebp - 0x218], 2
mov eax, dword [ebp - 0x2e4]
cmp byte [eax + 0x15], 0
je 0x40c6a1
or dword [ebp - 0x218], 4
cmp byte [eax + 0x16], 0
je 0x40c6ae
or dword [ebp - 0x218], 8
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x20c], eax
lea eax, [ebp - 0x220]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0x444
mov eax, dword [0x41f704]
mov dword [esp], eax
mov eax, dword [ebp - 0x33c]
call eax
mov eax, dword [ebp - 0x2e4]
sub esp, 0x10
add eax, 0x1c
call dbg.set_font
xor eax, eax
jmp 0x409d32
xor ebx, ebx
mov dword [esp + 4], 0x303
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebx
mov dword [esp], eax
call dword [sym.imp.user32.dll_PostMessageW]
xor eax, eax
sub esp, 0x10
jmp 0x409d32
xor esi, esi
mov dword [esp + 4], 0x302
mov dword [esp + 0xc], esi
mov dword [esp + 8], esi
mov dword [esp], eax
call dword [sym.imp.user32.dll_PostMessageW]
xor eax, eax
sub esp, 0x10
jmp 0x409d32
xor eax, eax
mov dword [esp + 4], 0x300
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
mov dword [esp], edx
call dword [sym.imp.user32.dll_PostMessageW]
xor eax, eax
sub esp, 0x10
jmp 0x409d32
xor edi, edi
mov dword [esp + 4], 0x301
mov dword [esp + 0xc], edi
mov dword [esp + 8], edi
mov dword [esp], eax
call dword [sym.imp.user32.dll_PostMessageW]
xor eax, eax
sub esp, 0x10
jmp 0x409d32
mov dword [esp], eax
mov dword [ebp - 0x340], eax
call dword [sym.imp.user32.dll_GetWindowTextLengthW]
mov edi, dword [sym.imp.ucrtbase.dll_malloc]
push edx
lea esi, [eax + 1]
lea ecx, [esi + esi]
mov dword [ebp - 0x33c], eax
mov dword [esp], ecx
mov dword [ebp - 0x344], ecx
call edi
mov dword [esp + 8], esi
xor esi, esi
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x340]
mov ebx, eax
mov dword [esp], edx
call dword [sym.imp.user32.dll_GetWindowTextW]
xor ecx, ecx
sub esp, 0xc
mov dword [esp + 0xc], ecx
mov dword [esp + 4], ebx
mov dword [esp], esi
mov esi, dword [sym.imp.user32.dll_MessageBoxW]
mov dword [esp + 8], global_lpCaption
call esi
sub esp, 0x10
mov dword [esp], ebx
mov ebx, dword [sym.imp.ucrtbase.dll_free]
call ebx
mov ecx, dword [ebp - 0x344]
mov dword [esp], ecx
call edi
mov edi, eax
xor eax, eax
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x33c]
mov dword [ebp - 0x218], edi
mov dword [ebp - 0x21c], eax
lea eax, [ebp - 0x220]
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
mov dword [esp + 4], 0x44b
mov edx, dword [ebp - 0x340]
mov dword [esp], edx
call dword [sym.imp.user32.dll_SendMessageW]
xor eax, eax
sub esp, 0x10
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], global_lpCaption
mov dword [esp + 4], edi
mov dword [esp], eax
call esi
sub esp, 0x10
mov dword [esp], edi
call ebx
xor eax, eax
jmp 0x409d32
xor ebx, ebx
mov dword [esp + 4], 0x454
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebx
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendMessageW]
xor eax, eax
sub esp, 0x10
jmp 0x409d32
xor esi, esi
mov dword [esp + 4], 0xc7
mov dword [esp + 0xc], esi
mov dword [esp + 8], esi
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendMessageW]
xor eax, eax
sub esp, 0x10
jmp 0x409d32
lea ebx, [ebp - 0x21c]
xor eax, eax
mov ecx, 0x2e
mov edi, ebx
lea esi, [ebp - 0x220]
rep stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x220], 0xbc
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], 0x43d
mov dword [esp], edx
call dword [sym.imp.user32.dll_SendMessageW]
xor eax, eax
sub esp, 0x10
jmp 0x409d32
mov dword [ebp - 0x21c], 0xffffffff
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0x220]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], 0x437
mov dword [esp], edx
call dword [sym.imp.user32.dll_SendMessageW]
xor eax, eax
sub esp, 0x10
jmp 0x409d32
mov dword [ebp - 0x344], eax
xor esi, esi
mov dword [esp + 4], 0x7d4
mov edi, dword [ebp - 0x340]
mov dword [esp], edi
mov dword [ebp - 0x33c], ecx
call ecx
push edx
push edx
mov dword [esp + 4], 0x7d3
mov dword [esp], eax
mov ecx, dword [ebp - 0x33c]
call ecx
push ecx
mov ebx, eax
push ecx
mov dword [esp + 0xc], esi
mov esi, dword [sym.imp.user32.dll_SendMessageW]
mov dword [esp + 8], 0x57b
mov dword [esp + 4], 0x419
mov dword [esp], eax
mov dword [ebp - 0x33c], esi
call esi
lea ecx, [ebp - 0x294]
sub esp, 0x10
mov dword [esp + 0xc], ecx
mov dword [esp], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x41d
call esi
mov eax, dword [ebp - 0x294]
sub esp, 0x10
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x2ec], eax
lea eax, [ebp - 0x2f0]
mov dword [esp], ebx
xor ebx, ebx
mov dword [esp + 4], eax
call dword [sym.imp.user32.dll_ClientToScreen]
push eax
push eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [0x41f6fc]
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetSubMenu]
xor ecx, ecx
push edx
push edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebx
mov ecx, dword [ebp - 0x2ec]
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp - 0x2f0]
mov dword [esp + 4], 0x180
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [sym.imp.user32.dll_TrackPopupMenu]
mov edx, dword [ebp - 0x344]
lea esi, [eax - 0x708]
sub esp, 0x1c
mov dword [ebp - 0x340], eax
cmp esi, 0x10
ja 0x409c6b
xor eax, eax
mov ecx, 0x1c
lea edi, [ebp - 0x21c]
rep stosd dword es:[edi], eax
lea ebx, [ebp - 0x220]
mov dword [ebp - 0x220], 0x74
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x43a
mov eax, dword [ebp - 0x33c]
call eax
mov edx, dword [ebp - 0x344]
mov dword [ebp - 0x21c], 0x40000000
sub esp, 0x10
cmp dword [ebp - 0x340], 0x718
je 0x40d47c
mov eax, dword [esi*4 + 0x411ca0]
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x218]
and eax, 0xbfffffff
mov dword [ebp - 0x218], eax
jmp 0x40c459
mov dword [esp + 4], 0xfffffff0
mov dword [esp], eax
mov dword [ebp - 0x33c], eax
call dword [sym.imp.user32.dll_GetWindowLongW]
push edx
test ah, 8
push edx
mov edx, dword [ebp - 0x33c]
mov dword [esp + 0xc], 0
je 0x40d3b4
xor eax, eax
mov dword [esp + 4], 0xcf
mov dword [esp + 8], eax
mov dword [esp], edx
call dword [sym.imp.user32.dll_SendMessageW]
xor eax, eax
sub esp, 0x10
jmp 0x409d32
xor eax, eax
mov dword [esp], edx
mov ebx, dword [sym.imp.user32.dll_SendMessageW]
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
mov dword [esp + 4], 0xb8
mov dword [ebp - 0x33c], edx
call ebx
mov edx, dword [ebp - 0x33c]
sub esp, 0x10
test eax, eax
mov dword [esp + 0xc], 0
je 0x40d3d7
xor edi, edi
mov dword [esp + 4], 0xb9
mov dword [esp + 8], edi
mov dword [esp], edx
call ebx
xor eax, eax
sub esp, 0x10
jmp 0x409d32
xor ecx, ecx
lea eax, [ebp - 0x294]
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x290], 0xffffffff
mov dword [esp], edx
mov dword [esp + 8], ebx
mov ebx, dword [sym.imp.user32.dll_SendMessageW]
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x434
mov dword [ebp - 0x33c], edx
call ebx
mov eax, dword [ebp - 0x290]
sub eax, dword [ebp - 0x294]
add eax, 1
sub esp, 0x10
add eax, eax
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov esi, eax
mov dword [esp + 4], 0x43e
mov edx, dword [ebp - 0x33c]
mov dword [esp], edx
call ebx
mov eax, dword [ebp - 0x290]
lea ebx, [ebp - 0x220]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], str.Start___ld__End___ld
call sym._sprintf
xor eax, eax
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.Editor
mov ebx, dword [ebp - 0x340]
mov dword [esp], ebx
call dword [sym.imp.user32.dll_MessageBoxA]
xor eax, eax
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], global_lpCaption
mov dword [esp + 4], esi
mov dword [esp], ebx
call dword [sym.imp.user32.dll_MessageBoxW]
sub esp, 0x10
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_free]
xor eax, eax
jmp 0x409d32
cmp edi, 0x644
ja 0x40d000
cmp edi, 0x63f
ja 0x40cdd0
cmp edi, 0x5de
je 0x40d314
jbe 0x40cd38
cmp edi, 0x5df
jne case.0x40c2ff.1321
mov eax, dword [0x410284]
mov dword [esp], eax
call sym._reg_formatindex
mov edx, dword [eax*4 + 0x41f6e8]
xor eax, eax
not edx
and edx, 1
call dbg.set_toolbar_state
jmp 0x40bde3
cmp edi, 0x4b0
je 0x40d33a
cmp edi, 0x4b1
jne case.0x40c2ff.1321
xor esi, esi
mov dword [esp + 0xc], 0xc0ffff
mov dword [esp + 8], esi
mov dword [esp + 4], 0x443
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendMessageW]
xor eax, eax
sub esp, 0x10
jmp 0x409d32
cmp edi, 0x5dc
je 0x40d2e8
cmp edi, 0x5dd
jne case.0x40c2ff.1321
mov eax, dword [0x410284]
mov dword [esp], eax
call sym._reg_formatindex
mov edx, dword [eax*4 + 0x41f6e8]
mov eax, 4
shr edx, 3
xor edx, 1
and edx, 1
call dbg.set_toolbar_state
mov eax, dword [0x410284]
mov dword [esp], eax
call sym._reg_formatindex
mov edx, dword [eax*4 + 0x41f6e8]
mov eax, 5
shr edx, 3
xor edx, 1
and edx, 1
call dbg.set_toolbar_state
mov eax, dword [0x410284]
mov dword [esp], eax
call sym._reg_formatindex
mov edx, dword [eax*4 + 0x41f6e8]
mov eax, 3
shr edx, 3
xor edx, 1
and edx, 1
call dbg.set_toolbar_state
jmp 0x40bde3
sub edi, 0x641
mov dword [esp], 0
cmp edi, 3
ja case.default.0x40cde6
jmp dword [edi*4 + 0x411afc]
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
xor esi, esi
push ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], dbg.tabstops_proc
mov esi, dword [ebp - 0x340]
mov dword [esp + 4], 0x837
mov dword [esp + 8], esi
mov dword [esp], eax
call dword [sym.imp.user32.dll_DialogBoxParamW]
xor eax, eax
sub esp, 0x14
jmp 0x409d32
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
xor edx, edx
push edi
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], dbg.paraformat_proc
mov esi, dword [ebp - 0x340]
mov dword [esp + 4], 0x836
mov dword [esp + 8], esi
mov dword [esp], eax
call dword [sym.imp.user32.dll_DialogBoxParamW]
xor eax, eax
sub esp, 0x14
jmp 0x409d32
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
push edx
mov dword [esp + 0x14], 0x8000
mov dword [esp + 0x10], 0x30
mov dword [esp + 0xc], 0x30
mov dword [esp + 8], 1
mov dword [esp + 4], 0x66
mov dword [esp], eax
call dword [sym.imp.user32.dll_LoadImageW]
xor ecx, ecx
sub esp, 0x18
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], global_lpCaption
mov eax, dword [0x41f708]
mov dword [esp], eax
call dword [sym.imp.shell32.dll_ShellAboutW]
xor eax, eax
sub esp, 0x10
jmp 0x409d32
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
xor esi, esi
push ecx
mov ebx, eax
mov dword [ebp - 0x220], 0x38
mov dword [ebp - 0x21c], 8
mov dword [ebp - 0x214], 0x838
mov dword [ebp - 0x208], dbg.formatopts_proc
mov dword [ebp - 0x218], eax
mov dword [esp], 1
call sym._reg_formatindex
mov dword [ebp - 0x200], esi
mov dword [ebp - 0x204], eax
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x20c], 0x599
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x1dc], eax
mov dword [esp], 2
call sym._reg_formatindex
mov dword [ebp - 0x288], ebx
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x1d4], 0x59a
mov dword [ebp - 0x1c8], eax
mov eax, dword [0x41f708]
mov dword [ebp - 0x294], 0x34
mov dword [ebp - 0x28c], eax
lea eax, [ebp - 0x220]
mov dword [ebp - 0x274], eax
mov eax, dword [0x410284]
mov dword [ebp - 0x290], 0x8c
mov dword [ebp - 0x280], 0x598
shr eax, 1
mov dword [ebp - 0x27c], 2
and eax, 1
mov dword [ebp - 0x278], eax
lea eax, [ebp - 0x294]
mov dword [ebp - 0x284], 0x66
mov dword [esp], eax
call dword [sym.imp.comctl32.dll_PropertySheetW]
push edi
call dbg.set_bar_states
jmp 0x40c277
cmp edi, 0x7dd
je 0x40d363
cmp edi, 0x7de
jne case.0x40c2ff.1321
shr esi, 0x10
cmp esi, 9
jne 0x409c6b
mov ecx, 0x100
lea edx, [ebp - 0x220]
mov eax, ebx
call sym._get_comboexlist_selection.isra.0
mov eax, ebx
lea edx, [ebp - 0x220]
call dbg.on_sizelist_modified
xor eax, eax
jmp 0x409d32
cmp dword [ebx + 8], 0xfffffd3a
jne 0x409c6b
mov edi, dword [ebp - 0x340]
mov dword [esp], edi
call dword [sym.imp.user32.dll_GetMenu]
sub esp, 4
test eax, eax
je 0x409c6b
mov dword [ebp - 0x220], 0x30
lea edx, [ebp - 0x220]
mov dword [ebp - 0x21c], 4
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x52d
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetMenuItemInfoW]
mov esi, dword [ebp - 0x20c]
sub esp, 0x10
test esi, esi
je 0x409c6b
lea esi, [ebp - 0x2f0]
mov dword [esp + 0xc], esi
mov eax, dword [ebx + 0xc]
mov dword [esp + 4], 0x433
mov dword [esp + 8], eax
mov eax, dword [ebx]
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendMessageW]
sub esp, 0x10
mov dword [esp + 0xc], 2
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov eax, dword [ebx]
mov dword [esp], eax
call dword [sym.imp.user32.dll_MapWindowPoints]
mov edx, dword [ebp - 0x2ec]
mov eax, dword [ebp - 0x2f0]
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x294], 0x14
sub esp, 0x10
mov dword [ebp - 0x28c], edx
mov edx, dword [ebp - 0x2e8]
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x288], edx
mov edx, dword [ebp - 0x2e4]
mov dword [ebp - 0x284], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x40
mov eax, dword [ebp - 0x20c]
mov dword [esp], eax
call dword [sym.imp.user32.dll_TrackPopupMenuEx]
xor eax, eax
sub esp, 0x18
jmp 0x409d32
cmp dword [ebx + 8], 0xfffffcda
jne 0x409c6b
lea eax, [ebx + 0x14]
call dbg.on_fontlist_modified
xor eax, eax
jmp 0x409d32
mov dword [esp + 8], 8
mov dword [esp + 4], 0x44c
mov dword [esp], esi
call ebx
sub esp, 0xc
jmp 0x40bd38
mov dword [ebp - 0x220], 0x28
mov eax, dword [ebp - 0x340]
mov dword [ebp - 0x21c], eax
mov dword [esp], 0
mov eax, dword [ebp - 0x35c]
call eax
mov dword [ebp - 0x214], 0x6a7
mov dword [ebp - 0x218], eax
sub esp, 4
lea eax, [ebp - 0x220]
mov dword [ebp - 0x210], global_lpCaption
mov dword [ebp - 0x20c], 0x30
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x1fc], 0
mov dword [esp], eax
call dword [sym.imp.user32.dll_MessageBoxIndirectW]
sub esp, 4
mov dword [esp], 1
call dword [sym.imp.user32.dll_PostQuitMessage]
sub esp, 4
jmp 0x40aff3
mov eax, 2
jmp 0x40bbce
mov eax, 2
jmp 0x40baae
mov eax, 2
jmp 0x40bb6e
mov eax, 2
jmp 0x40bb0e
mov dword [ebp - 0x308], 1
mov eax, dword [sym.imp.ucrtbase.dll_free]
mov dword [ebp - 0x348], eax
jmp 0x40b907
cmp edx, 2
sete dl
movzx edx, dl
shl edx, 3
jmp 0x40bd3a
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
xor ebx, ebx
push ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], dbg.datetime_proc
mov esi, dword [ebp - 0x340]
mov dword [esp + 4], 0x834
mov dword [esp + 8], esi
mov dword [esp], eax
call dword [sym.imp.user32.dll_DialogBoxParamW]
xor eax, eax
sub esp, 0x14
jmp 0x409d32
mov eax, dword [0x410284]
mov dword [esp], eax
call sym._reg_formatindex
mov edx, dword [eax*4 + 0x41f6e8]
mov eax, 2
shr edx, 2
xor edx, 1
and edx, 1
call dbg.set_toolbar_state
jmp 0x40bde3
mov eax, dword [0x410284]
mov dword [esp], eax
call sym._reg_formatindex
mov eax, dword [eax*4 + 0x41f6e8]
shr eax, 1
xor eax, 1
and eax, 1
call dbg.set_statusbar_state
jmp 0x40bde3
xor edi, edi
mov dword [esp + 8], 1
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x443
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendMessageW]
xor eax, eax
sub esp, 0x10
jmp 0x409d32
shr esi, 0x10
cmp esi, 9
jne 0x409c6b
mov ecx, 0x20
lea edx, [ebp - 0x220]
mov eax, ebx
call sym._get_comboexlist_selection.isra.0
lea eax, [ebp - 0x220]
call dbg.on_fontlist_modified
xor eax, eax
jmp 0x409d32
mov dword [ebp - 0x214], 0x168
cmp si, 0x522
jne 0x40c38d
movzx ebx, word [0x410280]
jmp 0x40c395
mov dword [esp + 8], 1
mov dword [esp + 4], 0xcf
mov dword [esp], edx
call dword [sym.imp.user32.dll_SendMessageW]
xor eax, eax
sub esp, 0x10
jmp 0x409d32
mov dword [esp + 8], 1
mov dword [esp + 4], 0xb9
mov dword [esp], edx
call ebx
xor eax, eax
sub esp, 0x10
jmp 0x409d32
mov ecx, 2
mov eax, 2
jmp 0x40c44d
mov eax, 3
jmp 0x40bf2a
mov eax, 1
jmp 0x40c16b
mov eax, dword fs:[0x18]
mov ebx, dword [eax + 0x34]
mov dword [esp], 2
call dword [sym.imp.ucrtbase.dll___acrt_iob_func]
mov dword [esp + 4], str.Error_code__lu_n
mov dword [esp + 8], ebx
mov dword [esp], eax
call sym._fprintf.constprop.0
or eax, 0xffffffff
jmp 0x409d32
mov word [ebp - 0x218], 0
xor eax, eax
mov dword [ebp - 0x170], eax
xor eax, eax
mov word [ebp - 0x16c], 0
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x214], 0xfffffe98
jmp 0x40c3b9
mov eax, dword [ebp - 0x218]
or eax, 0x40000000
jmp 0x40cadb