Function at 0x406ae0
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x41ba43
push eax
mov eax, dword [esp + 0x18]
mov dword fs:[0], esp
sub esp, 0xe0
push ebx
xor ebx, ebx
push ebp
push esi
cmp eax, ebx
push edi
mov ebp, ecx
je 0x407cff
cmp eax, 7
je 0x40750d
cmp eax, 0xb
jne 0x407e03
mov esi, dword [esp + 0x104]
mov ebx, dword [sym.imp.MxUI.dll_HTMLayout_UseElement]
push esi
call ebx
neg eax
sbb eax, eax
not eax
and eax, esi
mov dword [esp + 0x18], eax
mov dword [esp + 0xf8], 0x33
je 0x406b6b
lea ecx, [esp + 0x20]
xor ebp, ebp
push ecx
push str.mx_command
push eax
mov dword [esp + 0x2c], ebp
call dword [sym.imp.MxUI.dll_HTMLayoutGetAttributeByName]
mov edi, dword [esp + 0x20]
cmp edi, ebp
je 0x406b6d
jmp 0x406b72
xor ebp, ebp
mov edi, 0x426c34
mov dl, byte [esp + 0x5f]
push ebp
lea ecx, [esp + 0x28]
mov byte [esp + 0x28], dl
call fcn.00409580
push edi
call fcn.0041255c
add esp, 4
mov esi, eax
lea ecx, [esp + 0x24]
push 1
push esi
call fcn.00409450
test al, al
je 0x406bb8
mov eax, dword [esp + 0x28]
push esi
push edi
push eax
call fcn.00401b80
add esp, 0xc
lea ecx, [esp + 0x24]
push esi
call fcn.00409430
cmp dword [esp + 0x2c], ebp
jne 0x406be3
push 1
lea ecx, [esp + 0x28]
mov byte [esp + 0xfc], 0x33
call fcn.00409580
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x407e03
push eax
jmp 0x407dfd
mov esi, dword [esp + 0x100]
push esi
call ebx
neg eax
sbb eax, eax
not eax
and eax, esi
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x4c]
mov bl, 0x35
push ecx
lea ecx, [esp + 0x18]
mov byte [esp + 0xfc], bl
call fcn.0040d310
push str.undo
mov byte [esp + 0xfc], 0x36
call fcn.0041255c
mov edx, dword [esp + 0x30]
add esp, 4
lea ecx, [esp + 0x24]
push eax
push str.undo
push edx
push ebp
call fcn.0040d600
cmp eax, ebp
jne 0x406d55
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x20], esp
push eax
call dword [sym.imp.MxUI.dll_ValueInit]
sub esp, 0x10
mov byte [esp + 0x118], 0x37
mov ecx, esp
mov dword [esp + 0x40], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x128], 0x38
mov ecx, esp
mov dword [esp + 0x78], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x138], 0x39
mov ecx, esp
mov dword [esp + 0x84], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x148], 0x3a
mov ecx, esp
mov dword [esp + 0x8c], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x158], 0x3b
mov ecx, esp
mov dword [esp + 0x94], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x168], 0x3c
mov ecx, esp
mov dword [esp + 0xa8], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x178], 0x3d
mov ecx, esp
mov dword [esp + 0xc0], esp
push 1
call fcn.0040ac30
lea eax, [esp + 0x150]
push 0x4233e8
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0x180], 0x36
call fcn.0040c9d0
lea ecx, [esp + 0xd0]
push ecx
call dword [sym.imp.MxUI.dll_ValueClear]
push 1
lea ecx, [esp + 0x50]
mov byte [esp + 0xfc], bl
call fcn.00409580
mov eax, dword [esp + 0x14]
mov esi, dword [sym.imp.MxUI.dll_HTMLayout_UnuseElement]
cmp eax, ebp
je 0x406e89
jmp 0x406e86
push str.copy
call fcn.0041255c
mov edx, dword [esp + 0x30]
add esp, 4
lea ecx, [esp + 0x24]
push eax
push str.copy
push edx
push ebp
call fcn.0040d600
cmp eax, ebp
jne 0x406eb9
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x50], esp
push eax
call dword [sym.imp.MxUI.dll_ValueInit]
sub esp, 0x10
mov byte [esp + 0x118], 0x3e
mov ecx, esp
mov dword [esp + 0x58], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x128], 0x3f
mov ecx, esp
mov dword [esp + 0x64], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x138], 0x40
mov ecx, esp
mov dword [esp + 0x7c], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x148], 0x41
mov ecx, esp
mov dword [esp + 0x94], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x158], 0x42
mov ecx, esp
mov dword [esp + 0xa8], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x168], 0x43
mov ecx, esp
mov dword [esp + 0x80], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x178], 0x44
mov ecx, esp
mov dword [esp + 0xa0], esp
push 1
call fcn.0040ac30
lea eax, [esp + 0x120]
push 0x4233d4
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0x180], 0x36
call fcn.0040c9d0
lea ecx, [esp + 0xa0]
push ecx
call dword [sym.imp.MxUI.dll_ValueClear]
push 1
lea ecx, [esp + 0x50]
mov byte [esp + 0xfc], bl
call fcn.00409580
mov eax, dword [esp + 0x14]
mov esi, dword [sym.imp.MxUI.dll_HTMLayout_UnuseElement]
cmp eax, ebp
je 0x406e89
push eax
call esi
push 1
lea ecx, [esp + 0x28]
mov dword [esp + 0x18], ebp
mov byte [esp + 0xfc], 0x33
call fcn.00409580
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x407476
push eax
call esi
mov eax, 1
jmp 0x407e05
push 0x4233cc
call fcn.0041255c
mov edx, dword [esp + 0x30]
add esp, 4
lea ecx, [esp + 0x24]
push eax
push 0x4233cc
push edx
push ebp
call fcn.0040d600
cmp eax, ebp
jne 0x406ffe
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x50], esp
push eax
call dword [sym.imp.MxUI.dll_ValueInit]
sub esp, 0x10
mov byte [esp + 0x118], 0x45
mov ecx, esp
mov dword [esp + 0x58], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x128], 0x46
mov ecx, esp
mov dword [esp + 0x64], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x138], 0x47
mov ecx, esp
mov dword [esp + 0x7c], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x148], 0x48
mov ecx, esp
mov dword [esp + 0x94], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x158], 0x49
mov ecx, esp
mov dword [esp + 0xa8], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x168], 0x4a
mov ecx, esp
mov dword [esp + 0x80], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x178], 0x4b
mov ecx, esp
mov dword [esp + 0xa0], esp
push 1
call fcn.0040ac30
lea eax, [esp + 0x130]
push 0x4233c8
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0x180], 0x36
call fcn.0040c9d0
lea ecx, [esp + 0xb0]
push ecx
call dword [sym.imp.MxUI.dll_ValueClear]
jmp 0x407293
add ecx, 0xfffffffe
push ecx
call fcn.00411f90
add esp, 4
mov eax, dword [esp + 0x14]
mov esi, dword [sym.imp.MxUI.dll_HTMLayout_UnuseElement]
cmp eax, ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
je 0x407435
jmp 0x407432
push str.paste
call fcn.0041255c
mov edx, dword [esp + 0x30]
add esp, 4
lea ecx, [esp + 0x24]
push eax
push str.paste
push edx
push ebp
call fcn.0040d600
cmp eax, ebp
jne 0x407114
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x50], esp
push eax
call dword [sym.imp.MxUI.dll_ValueInit]
sub esp, 0x10
mov byte [esp + 0x118], 0x4c
mov ecx, esp
mov dword [esp + 0x58], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x128], 0x4d
mov ecx, esp
mov dword [esp + 0x64], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x138], 0x4e
mov ecx, esp
mov dword [esp + 0x7c], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x148], 0x4f
mov ecx, esp
mov dword [esp + 0x94], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x158], 0x50
mov ecx, esp
mov dword [esp + 0xa8], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x168], 0x51
mov ecx, esp
mov dword [esp + 0x80], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x178], 0x52
mov ecx, esp
mov dword [esp + 0xa0], esp
push 1
call fcn.0040ac30
lea eax, [esp + 0x140]
push 0x4233b4
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0x180], 0x36
call fcn.0040c9d0
lea ecx, [esp + 0xc0]
push ecx
call dword [sym.imp.MxUI.dll_ValueClear]
jmp 0x407293
push str.delete
call fcn.0041255c
mov esi, eax
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, esi
mov edi, eax
mov ecx, eax
jb 0x407131
mov ecx, esi
mov eax, dword [esp + 0x28]
push ecx
push str.delete
push eax
call fcn.00407e20
add esp, 0xc
cmp eax, ebp
jne 0x4072bc
cmp edi, esi
jb 0x4072bc
xor eax, eax
cmp edi, esi
setne al
cmp eax, ebp
jne 0x4072bc
mov eax, dword [esp + 0x14]
mov dword [esp + 0x60], 3
cmp eax, ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ebp
je 0x407293
mov ebx, dword [sym.imp.MxUI.dll_HTMLayoutCallBehaviorMethod]
lea edx, [esp + 0x60]
push edx
push eax
call ebx
test eax, eax
sete al
test al, al
je 0x407293
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
cmp esi, edi
je 0x407293
mov eax, dword [esp + 0x54]
sub edi, esi
cmp eax, esi
jae 0x4071bd
call fcn.004120f1
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
cmp ecx, ebp
je 0x4071fc
mov dl, byte [ecx - 1]
test dl, dl
je 0x4071fc
cmp dl, 0xff
je 0x4071fc
mov ebp, ecx
push 1
lea ecx, [esp + 0x50]
call fcn.00409580
push ebp
call fcn.0041255c
add esp, 4
lea ecx, [esp + 0x4c]
push eax
push ebp
call fcn.00409380
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
xor ebp, ebp
mov edx, eax
sub edx, esi
cmp edx, edi
jae 0x407206
mov edi, edx
cmp edi, ebp
jbe 0x407247
sub eax, edi
sub eax, esi
push eax
lea eax, [edi + esi]
lea edx, [ecx + eax*2]
lea eax, [ecx + esi*2]
push edx
push eax
call fcn.00406a50
mov esi, dword [esp + 0x60]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x4c]
push ebp
push esi
call fcn.00409450
test al, al
je 0x407243
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x54], esi
mov word [ecx + esi*2], bp
mov ecx, dword [esp + 0x50]
cmp ecx, ebp
jne 0x407250
mov ecx, 0x41d59c
cmp ecx, ebp
mov dword [esp + 0x60], 2
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ecx
je 0x407273
push ecx
call fcn.0041255c
add esp, 4
mov dword [esp + 0x68], eax
jmp 0x407277
mov dword [esp + 0x68], ebp
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x40728b
lea edx, [esp + 0x60]
push edx
push eax
call ebx
mov eax, dword [esp + 0x14]
push ebp
push eax
call dword [sym.imp.MxUI.dll_HTMLayoutUpdateElement]
mov ecx, dword [esp + 0x50]
cmp ecx, ebp
je 0x406fdb
mov al, byte [ecx - 1]
test al, al
je 0x406fcf
cmp al, 0xff
je 0x406fcf
dec al
mov byte [ecx - 1], al
jmp 0x406fdb
push str.select_all
call fcn.0041255c
mov esi, eax
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, esi
mov edi, eax
mov ecx, eax
jb 0x4072d9
mov ecx, esi
mov eax, dword [esp + 0x28]
push ecx
push str.select_all
push eax
call fcn.00407e20
add esp, 0xc
cmp eax, ebp
jne 0x407480
cmp edi, esi
jb 0x407480
xor eax, eax
cmp edi, esi
setne al
cmp eax, ebp
jne 0x407480
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x50], esp
push eax
call dword [sym.imp.MxUI.dll_ValueInit]
sub esp, 0x10
mov byte [esp + 0x118], 0x53
mov ecx, esp
mov dword [esp + 0x58], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x128], 0x54
mov ecx, esp
mov dword [esp + 0x64], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x138], 0x55
mov ecx, esp
mov dword [esp + 0x7c], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x148], 0x56
mov ecx, esp
mov dword [esp + 0x94], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x158], 0x57
mov ecx, esp
mov dword [esp + 0xa8], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x168], 0x58
mov ecx, esp
mov dword [esp + 0x80], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x178], 0x59
mov ecx, esp
mov dword [esp + 0xa0], esp
push 1
call fcn.0040ac30
lea eax, [esp + 0x160]
push str.selectAll
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0x180], 0x36
call fcn.0040c9d0
lea ecx, [esp + 0xe0]
push ecx
call dword [sym.imp.MxUI.dll_ValueClear]
mov ecx, dword [esp + 0x50]
cmp ecx, ebp
je 0x407418
mov al, byte [ecx - 1]
test al, al
je 0x40740c
cmp al, 0xff
je 0x40740c
dec al
mov byte [ecx - 1], al
jmp 0x407418
add ecx, 0xfffffffe
push ecx
call fcn.00411f90
add esp, 4
mov eax, dword [esp + 0x14]
mov esi, dword [sym.imp.MxUI.dll_HTMLayout_UnuseElement]
cmp eax, ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
je 0x407435
push eax
call esi
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x14], ebp
cmp ecx, ebp
je 0x40745f
mov al, byte [ecx - 1]
test al, al
je 0x407453
cmp al, 0xff
je 0x407453
dec al
mov byte [ecx - 1], al
jmp 0x40745f
add ecx, 0xfffffffe
push ecx
call fcn.00411f90
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], ebp
cmp eax, ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
je 0x407476
push eax
call esi
mov eax, 1
jmp 0x407e05
mov ecx, dword [esp + 0x50]
cmp ecx, ebp
je 0x4074a6
mov al, byte [ecx - 1]
test al, al
je 0x40749a
cmp al, 0xff
je 0x40749a
dec al
mov byte [ecx - 1], al
jmp 0x4074a6
add ecx, 0xfffffffe
push ecx
call fcn.00411f90
add esp, 4
mov eax, dword [esp + 0x14]
mov esi, dword [sym.imp.MxUI.dll_HTMLayout_UnuseElement]
cmp eax, ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
je 0x4074c3
push eax
call esi
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x14], ebp
cmp ecx, ebp
je 0x4074ed
mov al, byte [ecx - 1]
test al, al
je 0x4074e1
cmp al, 0xff
je 0x4074e1
dec al
mov byte [ecx - 1], al
jmp 0x4074ed
add ecx, 0xfffffffe
push ecx
call fcn.00411f90
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], ebp
cmp eax, ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
je 0x407e03
push eax
call esi
jmp 0x407e03
mov esi, dword [esp + 0x104]
mov edi, dword [sym.imp.MxUI.dll_HTMLayout_UseElement]
push esi
call edi
neg eax
sbb eax, eax
not eax
and eax, esi
mov dword [esp + 0x14], eax
lea edx, [esp + 0x10]
mov dword [esp + 0xf8], ebx
push edx
push str.mx_type
push eax
mov dword [esp + 0x1c], ebx
call dword [sym.imp.MxUI.dll_HTMLayoutGetAttributeByName]
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x407ced
push str.BASE_EDIT_CONTEXT_MENU
push eax
call fcn.00412a2f
add esp, 8
test eax, eax
jne 0x407ced
mov esi, dword [esp + 0x100]
push esi
call edi
neg eax
sbb eax, eax
not eax
and eax, esi
mov dword [esp + 0x18], eax
mov esi, dword [sym.imp.MxUI.dll_ValueInit]
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x50], esp
push eax
call esi
sub esp, 0x10
mov byte [esp + 0x118], 2
mov ecx, esp
mov dword [esp + 0x58], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x128], 3
mov ecx, esp
mov dword [esp + 0x64], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x138], 4
mov ecx, esp
mov dword [esp + 0x7c], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x148], 5
mov ecx, esp
mov dword [esp + 0x94], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x158], 6
mov ecx, esp
mov dword [esp + 0xa8], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x168], 7
mov ecx, esp
mov dword [esp + 0x80], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x178], 8
mov ecx, esp
mov dword [esp + 0x9c], esp
call fcn.0040ac10
lea eax, [esp + 0xf0]
push str.selectionText
push eax
lea ecx, [esp + 0xa0]
mov byte [esp + 0x180], 1
call fcn.0040c9d0
lea ecx, [esp + 0x20]
push ebx
push ecx
lea ecx, [esp + 0x78]
mov byte [esp + 0x100], 9
call fcn.0040ac60
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x2c], esp
push eax
call esi
sub esp, 0x10
mov byte [esp + 0x118], 0xb
mov dword [esp + 0x60], esp
mov ecx, esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x128], 0xc
mov ecx, esp
mov dword [esp + 0x68], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x138], 0xd
mov ecx, esp
mov dword [esp + 0x74], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x148], 0xe
mov ecx, esp
mov dword [esp + 0x8c], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x158], 0xf
mov ecx, esp
mov dword [esp + 0xa4], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x168], 0x10
mov ecx, esp
mov dword [esp + 0xb8], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x178], 0x11
mov ecx, esp
mov dword [esp + 0x90], esp
push ebx
call fcn.0040ac30
lea edx, [esp + 0x100]
push 0x4233e8
push edx
lea ecx, [esp + 0xa0]
mov byte [esp + 0x180], 0xa
call fcn.0040c9d0
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x2c], esp
push eax
call esi
sub esp, 0x10
mov byte [esp + 0x118], 0x13
mov ecx, esp
mov dword [esp + 0x60], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x128], 0x14
mov ecx, esp
mov dword [esp + 0x68], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x138], 0x15
mov ecx, esp
mov dword [esp + 0x74], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x148], 0x16
mov ecx, esp
mov dword [esp + 0x8c], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x158], 0x17
mov ecx, esp
mov dword [esp + 0xa4], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x168], 0x18
mov ecx, esp
mov dword [esp + 0xb8], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x178], 0x19
mov ecx, esp
mov dword [esp + 0x90], esp
push ebx
call fcn.0040ac30
lea eax, [esp + 0x110]
push 0x4233d4
push eax
lea ecx, [esp + 0xa0]
mov byte [esp + 0x180], 0x12
call fcn.0040c9d0
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x2c], esp
push eax
call esi
sub esp, 0x10
mov byte [esp + 0x118], 0x1b
mov ecx, esp
mov dword [esp + 0x60], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x128], 0x1c
mov ecx, esp
mov dword [esp + 0x68], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x138], 0x1d
mov ecx, esp
mov dword [esp + 0x74], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x148], 0x1e
mov ecx, esp
mov dword [esp + 0x8c], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x158], 0x1f
mov ecx, esp
mov dword [esp + 0xa4], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x168], 0x20
mov ecx, esp
mov dword [esp + 0xb8], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x178], 0x21
mov ecx, esp
mov dword [esp + 0x90], esp
push ebx
call fcn.0040ac30
lea ecx, [esp + 0xe0]
push 0x4233c8
push ecx
lea ecx, [esp + 0xa0]
mov byte [esp + 0x180], 0x1a
call fcn.0040c9d0
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x2c], esp
push eax
call esi
mov byte [esp + 0x108], 0x23
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x60], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x128], 0x24
mov ecx, esp
mov dword [esp + 0x68], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x138], 0x25
mov ecx, esp
mov dword [esp + 0x74], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x148], 0x26
mov ecx, esp
mov dword [esp + 0x8c], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x158], 0x27
mov ecx, esp
mov dword [esp + 0xa4], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x168], 0x28
mov ecx, esp
mov dword [esp + 0xb8], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x178], 0x29
mov ecx, esp
mov dword [esp + 0x90], esp
push ebx
call fcn.0040ac30
lea edx, [esp + 0xcc]
push 0x4233b4
push edx
lea ecx, [esp + 0xa0]
mov byte [esp + 0x180], 0x22
call fcn.0040c9d0
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x2c], esp
push eax
call esi
sub esp, 0x10
mov byte [esp + 0x118], 0x2b
mov ecx, esp
mov dword [esp + 0x60], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x128], 0x2c
mov ecx, esp
mov dword [esp + 0x68], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x138], 0x2d
mov ecx, esp
mov dword [esp + 0x74], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x148], 0x2e
mov ecx, esp
mov dword [esp + 0x8c], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x158], 0x2f
mov dword [esp + 0xa4], esp
mov ecx, esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x168], 0x30
mov ecx, esp
mov dword [esp + 0xb8], esp
call fcn.0040ac10
sub esp, 0x10
mov byte [esp + 0x178], 0x31
mov ecx, esp
mov dword [esp + 0x90], esp
push ebx
call fcn.0040ac30
lea eax, [esp + 0xa4]
push str.selectAll
push eax
lea ecx, [esp + 0xa0]
mov byte [esp + 0x180], 0x2a
call fcn.0040c9d0
mov esi, dword [sym.imp.MxUI.dll_ValueIntData]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x80]
push ecx
push edx
mov byte [esp + 0x100], 0x32
call esi
test eax, eax
jne 0x407abf
cmp dword [esp + 0x10], ebx
setne al
mov byte [esp + 0x10], al
jmp 0x407ac4
mov byte [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
push ecx
push str._mx_commandundo_
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.0040c480
lea edi, [ebp - 0x24]
mov ecx, edi
call fcn.00409e00
lea eax, [esp + 0x10]
lea ecx, [esp + 0x90]
push eax
push ecx
call esi
test eax, eax
jne 0x407b09
cmp dword [esp + 0x10], ebx
setne dl
mov byte [esp + 0x10], dl
jmp 0x407b0e
mov byte [esp + 0x10], 0
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x14]
push eax
push str._mx_commandcopy_
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.0040c480
mov ecx, edi
call fcn.00409e00
lea eax, [esp + 0x10]
lea ecx, [esp + 0x60]
push eax
push ecx
call esi
test eax, eax
jne 0x407b4d
cmp dword [esp + 0x10], ebx
setne dl
mov byte [esp + 0x10], dl
jmp 0x407b52
mov byte [esp + 0x10], 0
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x14]
push eax
push str._mx_commandcut_
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.0040c480
mov ecx, edi
call fcn.00409e00
lea eax, [esp + 0x10]
lea ecx, [esp + 0x4c]
push eax
push ecx
call esi
test eax, eax
jne 0x407b91
cmp dword [esp + 0x10], ebx
setne dl
mov byte [esp + 0x10], dl
jmp 0x407b96
mov byte [esp + 0x10], 0
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x14]
push eax
push str._mx_commandpaste_
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.0040c480
mov ecx, edi
call fcn.00409e00
lea eax, [esp + 0x10]
lea ecx, [esp + 0x4c]
push eax
push ecx
call esi
test eax, eax
jne 0x407bd5
cmp dword [esp + 0x10], ebx
setne dl
mov byte [esp + 0x10], dl
jmp 0x407bda
mov byte [esp + 0x10], 0
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x14]
push eax
push str._mx_commandpaste_and_go_
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.0040c480
mov ecx, edi
call fcn.00409e00
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x407c09
mov eax, dword [eax + 4]
jmp 0x407c0b
xor eax, eax
xor ecx, ecx
cmp ecx, eax
lea eax, [esp + 0x14]
sbb edx, edx
neg edx
push edx
push str._mx_commanddelete_
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.0040c480
mov ecx, edi
call fcn.00409e00
lea ecx, [esp + 0x10]
lea edx, [esp + 0x24]
push ecx
push edx
call esi
test eax, eax
jne 0x407c4e
cmp dword [esp + 0x10], ebx
setne al
mov byte [esp + 0x10], al
jmp 0x407c53
mov byte [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
push ecx
push str._mx_commandselect_all_
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.0040c480
mov ecx, edi
call fcn.00409e00
mov esi, dword [sym.imp.MxUI.dll_ValueClear]
lea eax, [esp + 0x24]
push eax
call esi
lea ecx, [esp + 0x4c]
push ecx
call esi
lea edx, [esp + 0x60]
push edx
call esi
lea eax, [esp + 0x90]
push eax
call esi
lea ecx, [esp + 0x80]
push ecx
call esi
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x407cc6
mov edx, dword [eax]
dec edx
mov dword [eax], edx
mov eax, dword [esp + 0x20]
cmp dword [eax], ebx
jne 0x407cc6
push eax
call fcn.00412bb7
add esp, 4
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x70]
push edx
call esi
mov eax, dword [esp + 0x18]
mov esi, dword [sym.imp.MxUI.dll_HTMLayout_UnuseElement]
cmp eax, ebx
je 0x407cde
push eax
call esi
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
cmp eax, ebx
jmp 0x406ea6
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x407e03
push eax
jmp 0x407dfd
mov edi, dword [esp + 0x104]
push edi
call dword [sym.imp.MxUI.dll_HTMLayout_UseElement]
mov esi, eax
neg esi
sbb esi, esi
not esi
and esi, edi
mov dword [esp + 0x1c], esi
lea eax, [esp + 0x10]
mov dword [esp + 0xf8], 0x5a
push eax
push 0x4221b0
push esi
mov dword [esp + 0x1c], ebx
call dword [sym.imp.MxUI.dll_HTMLayoutGetAttributeByName]
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x407df8
push ebx
call fcn.0041255c
add esp, 4
test eax, eax
je 0x407df8
mov edx, dword [ebp - 0x24]
lea edi, [ebp - 0x24]
mov ecx, edi
call dword [edx + 0x10]
test eax, eax
je 0x407d8e
push eax
push ebx
call fcn.00412a2f
add esp, 8
test eax, eax
jne 0x407d8e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1c]
test esi, esi
je 0x407deb
push esi
call dword [sym.imp.MxUI.dll_HTMLayout_UnuseElement]
mov eax, 1
jmp 0x407e05
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x14]
test eax, eax
je 0x407dc0
push eax
push ebx
call fcn.00412a2f
add esp, 8
test eax, eax
jne 0x407dc0
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x20]
test esi, esi
je 0x407deb
push esi
call dword [sym.imp.MxUI.dll_HTMLayout_UnuseElement]
mov eax, 1
jmp 0x407e05
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x18]
test eax, eax
je 0x407df2
push eax
push ebx
call fcn.00412a2f
add esp, 8
test eax, eax
jne 0x407df2
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x24]
test esi, esi
je 0x407deb
push esi
call dword [sym.imp.MxUI.dll_HTMLayout_UnuseElement]
mov eax, 1
jmp 0x407e05
test esi, esi
je 0x407e03
jmp 0x407dfc
test esi, esi
je 0x407e03
push esi
call dword [sym.imp.MxUI.dll_HTMLayout_UnuseElement]
xor eax, eax
mov ecx, dword [esp + 0xf0]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xec
ret 0x10