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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x421343
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 0x40b66f
cmp eax, 7
je 0x40ae7d
cmp eax, 0xb
jne 0x40b773
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 0x40a4db
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 0x40a4dd
jmp 0x40a4e2
xor ebp, ebp
mov edi, 0x42c54c
mov dl, byte [esp + 0x5f]
push ebp
lea ecx, [esp + 0x28]
mov byte [esp + 0x28], dl
call fcn.0040cf30
push edi
call fcn.00417a8e
add esp, 4
mov esi, eax
lea ecx, [esp + 0x24]
push 1
push esi
call fcn.0040ce00
test al, al
je 0x40a528
mov eax, dword [esp + 0x28]
push esi
push edi
push eax
call fcn.00401be0
add esp, 0xc
lea ecx, [esp + 0x24]
push esi
call fcn.0040cd60
cmp dword [esp + 0x2c], ebp
jne 0x40a553
push 1
lea ecx, [esp + 0x28]
mov byte [esp + 0xfc], 0x33
call fcn.0040cf30
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x40b773
push eax
jmp 0x40b76d
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.00410620
push str.undo
mov byte [esp + 0xfc], 0x36
call fcn.00417a8e
mov edx, dword [esp + 0x30]
add esp, 4
lea ecx, [esp + 0x24]
push eax
push str.undo
push edx
push ebp
call fcn.004118e0
cmp eax, ebp
jne 0x40a6c5
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.0040da80
sub esp, 0x10
mov byte [esp + 0x128], 0x38
mov ecx, esp
mov dword [esp + 0x78], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x138], 0x39
mov ecx, esp
mov dword [esp + 0x84], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x148], 0x3a
mov ecx, esp
mov dword [esp + 0x8c], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x158], 0x3b
mov ecx, esp
mov dword [esp + 0x94], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x168], 0x3c
mov ecx, esp
mov dword [esp + 0xa8], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x178], 0x3d
mov ecx, esp
mov dword [esp + 0xc0], esp
push 1
call fcn.0040daa0
lea eax, [esp + 0x150]
push 0x4285a4
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0x180], 0x36
call fcn.00410160
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.0040cf30
mov eax, dword [esp + 0x14]
mov esi, dword [sym.imp.MxUI.dll_HTMLayout_UnuseElement]
cmp eax, ebp
je 0x40a7f9
jmp 0x40a7f6
push str.copy
call fcn.00417a8e
mov edx, dword [esp + 0x30]
add esp, 4
lea ecx, [esp + 0x24]
push eax
push str.copy
push edx
push ebp
call fcn.004118e0
cmp eax, ebp
jne 0x40a829
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.0040da80
sub esp, 0x10
mov byte [esp + 0x128], 0x3f
mov ecx, esp
mov dword [esp + 0x64], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x138], 0x40
mov ecx, esp
mov dword [esp + 0x7c], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x148], 0x41
mov ecx, esp
mov dword [esp + 0x94], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x158], 0x42
mov ecx, esp
mov dword [esp + 0xa8], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x168], 0x43
mov ecx, esp
mov dword [esp + 0x80], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x178], 0x44
mov ecx, esp
mov dword [esp + 0xa0], esp
push 1
call fcn.0040daa0
lea eax, [esp + 0x120]
push 0x428590
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0x180], 0x36
call fcn.00410160
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.0040cf30
mov eax, dword [esp + 0x14]
mov esi, dword [sym.imp.MxUI.dll_HTMLayout_UnuseElement]
cmp eax, ebp
je 0x40a7f9
push eax
call esi
push 1
lea ecx, [esp + 0x28]
mov dword [esp + 0x18], ebp
mov byte [esp + 0xfc], 0x33
call fcn.0040cf30
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x40ade6
push eax
call esi
mov eax, 1
jmp 0x40b775
push 0x428588
call fcn.00417a8e
mov edx, dword [esp + 0x30]
add esp, 4
lea ecx, [esp + 0x24]
push eax
push 0x428588
push edx
push ebp
call fcn.004118e0
cmp eax, ebp
jne 0x40a96e
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.0040da80
sub esp, 0x10
mov byte [esp + 0x128], 0x46
mov ecx, esp
mov dword [esp + 0x64], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x138], 0x47
mov ecx, esp
mov dword [esp + 0x7c], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x148], 0x48
mov ecx, esp
mov dword [esp + 0x94], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x158], 0x49
mov ecx, esp
mov dword [esp + 0xa8], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x168], 0x4a
mov ecx, esp
mov dword [esp + 0x80], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x178], 0x4b
mov ecx, esp
mov dword [esp + 0xa0], esp
push 1
call fcn.0040daa0
lea eax, [esp + 0x130]
push 0x428584
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0x180], 0x36
call fcn.00410160
lea ecx, [esp + 0xb0]
push ecx
call dword [sym.imp.MxUI.dll_ValueClear]
jmp 0x40ac03
add ecx, 0xfffffffe
push ecx
call fcn.0041749e
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 0x40ada5
jmp 0x40ada2
push str.paste
call fcn.00417a8e
mov edx, dword [esp + 0x30]
add esp, 4
lea ecx, [esp + 0x24]
push eax
push str.paste
push edx
push ebp
call fcn.004118e0
cmp eax, ebp
jne 0x40aa84
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.0040da80
sub esp, 0x10
mov byte [esp + 0x128], 0x4d
mov ecx, esp
mov dword [esp + 0x64], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x138], 0x4e
mov ecx, esp
mov dword [esp + 0x7c], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x148], 0x4f
mov ecx, esp
mov dword [esp + 0x94], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x158], 0x50
mov ecx, esp
mov dword [esp + 0xa8], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x168], 0x51
mov ecx, esp
mov dword [esp + 0x80], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x178], 0x52
mov ecx, esp
mov dword [esp + 0xa0], esp
push 1
call fcn.0040daa0
lea eax, [esp + 0x140]
push 0x428570
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0x180], 0x36
call fcn.00410160
lea ecx, [esp + 0xc0]
push ecx
call dword [sym.imp.MxUI.dll_ValueClear]
jmp 0x40ac03
push str.delete
call fcn.00417a8e
mov esi, eax
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, esi
mov edi, eax
mov ecx, eax
jb 0x40aaa1
mov ecx, esi
mov eax, dword [esp + 0x28]
push ecx
push str.delete
push eax
call fcn.0040b790
add esp, 0xc
cmp eax, ebp
jne 0x40ac2c
cmp edi, esi
jb 0x40ac2c
xor eax, eax
cmp edi, esi
setne al
cmp eax, ebp
jne 0x40ac2c
mov eax, dword [esp + 0x14]
mov dword [esp + 0x60], 3
cmp eax, ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ebp
je 0x40ac03
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 0x40ac03
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
cmp esi, edi
je 0x40ac03
mov eax, dword [esp + 0x54]
sub edi, esi
cmp eax, esi
jae 0x40ab2d
call fcn.004175ff
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
cmp ecx, ebp
je 0x40ab6c
mov dl, byte [ecx - 1]
test dl, dl
je 0x40ab6c
cmp dl, 0xff
je 0x40ab6c
mov ebp, ecx
push 1
lea ecx, [esp + 0x50]
call fcn.0040cf30
push ebp
call fcn.00417a8e
add esp, 4
lea ecx, [esp + 0x4c]
push eax
push ebp
call fcn.0040cb90
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
xor ebp, ebp
mov edx, eax
sub edx, esi
cmp edx, edi
jae 0x40ab76
mov edi, edx
cmp edi, ebp
jbe 0x40abb7
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.0040a040
mov esi, dword [esp + 0x60]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x4c]
push ebp
push esi
call fcn.0040ce00
test al, al
je 0x40abb3
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 0x40abc0
mov ecx, 0x422470
cmp ecx, ebp
mov dword [esp + 0x60], 2
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ecx
je 0x40abe3
push ecx
call fcn.00417a8e
add esp, 4
mov dword [esp + 0x68], eax
jmp 0x40abe7
mov dword [esp + 0x68], ebp
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x40abfb
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 0x40a94b
mov al, byte [ecx - 1]
test al, al
je 0x40a93f
cmp al, 0xff
je 0x40a93f
dec al
mov byte [ecx - 1], al
jmp 0x40a94b
push str.select_all
call fcn.00417a8e
mov esi, eax
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, esi
mov edi, eax
mov ecx, eax
jb 0x40ac49
mov ecx, esi
mov eax, dword [esp + 0x28]
push ecx
push str.select_all
push eax
call fcn.0040b790
add esp, 0xc
cmp eax, ebp
jne 0x40adf0
cmp edi, esi
jb 0x40adf0
xor eax, eax
cmp edi, esi
setne al
cmp eax, ebp
jne 0x40adf0
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.0040da80
sub esp, 0x10
mov byte [esp + 0x128], 0x54
mov ecx, esp
mov dword [esp + 0x64], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x138], 0x55
mov ecx, esp
mov dword [esp + 0x7c], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x148], 0x56
mov ecx, esp
mov dword [esp + 0x94], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x158], 0x57
mov ecx, esp
mov dword [esp + 0xa8], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x168], 0x58
mov ecx, esp
mov dword [esp + 0x80], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x178], 0x59
mov ecx, esp
mov dword [esp + 0xa0], esp
push 1
call fcn.0040daa0
lea eax, [esp + 0x160]
push str.selectAll
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0x180], 0x36
call fcn.00410160
lea ecx, [esp + 0xe0]
push ecx
call dword [sym.imp.MxUI.dll_ValueClear]
mov ecx, dword [esp + 0x50]
cmp ecx, ebp
je 0x40ad88
mov al, byte [ecx - 1]
test al, al
je 0x40ad7c
cmp al, 0xff
je 0x40ad7c
dec al
mov byte [ecx - 1], al
jmp 0x40ad88
add ecx, 0xfffffffe
push ecx
call fcn.0041749e
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 0x40ada5
push eax
call esi
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x14], ebp
cmp ecx, ebp
je 0x40adcf
mov al, byte [ecx - 1]
test al, al
je 0x40adc3
cmp al, 0xff
je 0x40adc3
dec al
mov byte [ecx - 1], al
jmp 0x40adcf
add ecx, 0xfffffffe
push ecx
call fcn.0041749e
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 0x40ade6
push eax
call esi
mov eax, 1
jmp 0x40b775
mov ecx, dword [esp + 0x50]
cmp ecx, ebp
je 0x40ae16
mov al, byte [ecx - 1]
test al, al
je 0x40ae0a
cmp al, 0xff
je 0x40ae0a
dec al
mov byte [ecx - 1], al
jmp 0x40ae16
add ecx, 0xfffffffe
push ecx
call fcn.0041749e
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 0x40ae33
push eax
call esi
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x14], ebp
cmp ecx, ebp
je 0x40ae5d
mov al, byte [ecx - 1]
test al, al
je 0x40ae51
cmp al, 0xff
je 0x40ae51
dec al
mov byte [ecx - 1], al
jmp 0x40ae5d
add ecx, 0xfffffffe
push ecx
call fcn.0041749e
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 0x40b773
push eax
call esi
jmp 0x40b773
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 0x40b65d
push str.BASE_EDIT_CONTEXT_MENU
push eax
call fcn.004181e2
add esp, 8
test eax, eax
jne 0x40b65d
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.0040da80
sub esp, 0x10
mov byte [esp + 0x128], 3
mov ecx, esp
mov dword [esp + 0x64], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x138], 4
mov ecx, esp
mov dword [esp + 0x7c], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x148], 5
mov ecx, esp
mov dword [esp + 0x94], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x158], 6
mov ecx, esp
mov dword [esp + 0xa8], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x168], 7
mov ecx, esp
mov dword [esp + 0x80], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x178], 8
mov ecx, esp
mov dword [esp + 0x9c], esp
call fcn.0040da80
lea eax, [esp + 0xf0]
push str.selectionText
push eax
lea ecx, [esp + 0xa0]
mov byte [esp + 0x180], 1
call fcn.00410160
lea ecx, [esp + 0x20]
push ebx
push ecx
lea ecx, [esp + 0x78]
mov byte [esp + 0x100], 9
call fcn.0040e2d0
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.0040da80
sub esp, 0x10
mov byte [esp + 0x128], 0xc
mov ecx, esp
mov dword [esp + 0x68], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x138], 0xd
mov ecx, esp
mov dword [esp + 0x74], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x148], 0xe
mov ecx, esp
mov dword [esp + 0x8c], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x158], 0xf
mov ecx, esp
mov dword [esp + 0xa4], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x168], 0x10
mov ecx, esp
mov dword [esp + 0xb8], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x178], 0x11
mov ecx, esp
mov dword [esp + 0x90], esp
push ebx
call fcn.0040daa0
lea edx, [esp + 0x100]
push 0x4285a4
push edx
lea ecx, [esp + 0xa0]
mov byte [esp + 0x180], 0xa
call fcn.00410160
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.0040da80
sub esp, 0x10
mov byte [esp + 0x128], 0x14
mov ecx, esp
mov dword [esp + 0x68], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x138], 0x15
mov ecx, esp
mov dword [esp + 0x74], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x148], 0x16
mov ecx, esp
mov dword [esp + 0x8c], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x158], 0x17
mov ecx, esp
mov dword [esp + 0xa4], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x168], 0x18
mov ecx, esp
mov dword [esp + 0xb8], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x178], 0x19
mov ecx, esp
mov dword [esp + 0x90], esp
push ebx
call fcn.0040daa0
lea eax, [esp + 0x110]
push 0x428590
push eax
lea ecx, [esp + 0xa0]
mov byte [esp + 0x180], 0x12
call fcn.00410160
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.0040da80
sub esp, 0x10
mov byte [esp + 0x128], 0x1c
mov ecx, esp
mov dword [esp + 0x68], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x138], 0x1d
mov ecx, esp
mov dword [esp + 0x74], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x148], 0x1e
mov ecx, esp
mov dword [esp + 0x8c], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x158], 0x1f
mov ecx, esp
mov dword [esp + 0xa4], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x168], 0x20
mov ecx, esp
mov dword [esp + 0xb8], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x178], 0x21
mov ecx, esp
mov dword [esp + 0x90], esp
push ebx
call fcn.0040daa0
lea ecx, [esp + 0xe0]
push 0x428584
push ecx
lea ecx, [esp + 0xa0]
mov byte [esp + 0x180], 0x1a
call fcn.00410160
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.0040da80
sub esp, 0x10
mov byte [esp + 0x128], 0x24
mov ecx, esp
mov dword [esp + 0x68], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x138], 0x25
mov ecx, esp
mov dword [esp + 0x74], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x148], 0x26
mov ecx, esp
mov dword [esp + 0x8c], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x158], 0x27
mov ecx, esp
mov dword [esp + 0xa4], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x168], 0x28
mov ecx, esp
mov dword [esp + 0xb8], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x178], 0x29
mov ecx, esp
mov dword [esp + 0x90], esp
push ebx
call fcn.0040daa0
lea edx, [esp + 0xcc]
push 0x428570
push edx
lea ecx, [esp + 0xa0]
mov byte [esp + 0x180], 0x22
call fcn.00410160
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.0040da80
sub esp, 0x10
mov byte [esp + 0x128], 0x2c
mov ecx, esp
mov dword [esp + 0x68], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x138], 0x2d
mov ecx, esp
mov dword [esp + 0x74], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x148], 0x2e
mov ecx, esp
mov dword [esp + 0x8c], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x158], 0x2f
mov dword [esp + 0xa4], esp
mov ecx, esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x168], 0x30
mov ecx, esp
mov dword [esp + 0xb8], esp
call fcn.0040da80
sub esp, 0x10
mov byte [esp + 0x178], 0x31
mov ecx, esp
mov dword [esp + 0x90], esp
push ebx
call fcn.0040daa0
lea eax, [esp + 0xa4]
push str.selectAll
push eax
lea ecx, [esp + 0xa0]
mov byte [esp + 0x180], 0x2a
call fcn.00410160
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 0x40b42f
cmp dword [esp + 0x10], ebx
setne al
mov byte [esp + 0x10], al
jmp 0x40b434
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.0040ed10
lea edi, [ebp - 0x24]
mov ecx, edi
call fcn.0040d6f0
lea eax, [esp + 0x10]
lea ecx, [esp + 0x90]
push eax
push ecx
call esi
test eax, eax
jne 0x40b479
cmp dword [esp + 0x10], ebx
setne dl
mov byte [esp + 0x10], dl
jmp 0x40b47e
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.0040ed10
mov ecx, edi
call fcn.0040d6f0
lea eax, [esp + 0x10]
lea ecx, [esp + 0x60]
push eax
push ecx
call esi
test eax, eax
jne 0x40b4bd
cmp dword [esp + 0x10], ebx
setne dl
mov byte [esp + 0x10], dl
jmp 0x40b4c2
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.0040ed10
mov ecx, edi
call fcn.0040d6f0
lea eax, [esp + 0x10]
lea ecx, [esp + 0x4c]
push eax
push ecx
call esi
test eax, eax
jne 0x40b501
cmp dword [esp + 0x10], ebx
setne dl
mov byte [esp + 0x10], dl
jmp 0x40b506
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.0040ed10
mov ecx, edi
call fcn.0040d6f0
lea eax, [esp + 0x10]
lea ecx, [esp + 0x4c]
push eax
push ecx
call esi
test eax, eax
jne 0x40b545
cmp dword [esp + 0x10], ebx
setne dl
mov byte [esp + 0x10], dl
jmp 0x40b54a
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.0040ed10
mov ecx, edi
call fcn.0040d6f0
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x40b579
mov eax, dword [eax + 4]
jmp 0x40b57b
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.0040ed10
mov ecx, edi
call fcn.0040d6f0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x24]
push ecx
push edx
call esi
test eax, eax
jne 0x40b5be
cmp dword [esp + 0x10], ebx
setne al
mov byte [esp + 0x10], al
jmp 0x40b5c3
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.0040ed10
mov ecx, edi
call fcn.0040d6f0
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 0x40b636
mov edx, dword [eax]
dec edx
mov dword [eax], edx
mov eax, dword [esp + 0x20]
cmp dword [eax], ebx
jne 0x40b636
push eax
call fcn.00418179
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 0x40b64e
push eax
call esi
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
cmp eax, ebx
jmp 0x40a816
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x40b773
push eax
jmp 0x40b76d
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 0x42731c
push esi
mov dword [esp + 0x1c], ebx
call dword [sym.imp.MxUI.dll_HTMLayoutGetAttributeByName]
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x40b768
push ebx
call fcn.00417a8e
add esp, 4
test eax, eax
je 0x40b768
mov edx, dword [ebp - 0x24]
lea edi, [ebp - 0x24]
mov ecx, edi
call dword [edx + 0x10]
test eax, eax
je 0x40b6fe
push eax
push ebx
call fcn.004181e2
add esp, 8
test eax, eax
jne 0x40b6fe
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1c]
test esi, esi
je 0x40b75b
push esi
call dword [sym.imp.MxUI.dll_HTMLayout_UnuseElement]
mov eax, 1
jmp 0x40b775
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x14]
test eax, eax
je 0x40b730
push eax
push ebx
call fcn.004181e2
add esp, 8
test eax, eax
jne 0x40b730
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x20]
test esi, esi
je 0x40b75b
push esi
call dword [sym.imp.MxUI.dll_HTMLayout_UnuseElement]
mov eax, 1
jmp 0x40b775
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x18]
test eax, eax
je 0x40b762
push eax
push ebx
call fcn.004181e2
add esp, 8
test eax, eax
jne 0x40b762
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x24]
test esi, esi
je 0x40b75b
push esi
call dword [sym.imp.MxUI.dll_HTMLayout_UnuseElement]
mov eax, 1
jmp 0x40b775
test esi, esi
je 0x40b773
jmp 0x40b76c
test esi, esi
je 0x40b773
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