Function at 0x45ecca
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4b201f
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
mov eax, dword [0x4dd070]
xor eax, esp
mov dword [esp + 0xc0], eax
push ebx
push esi
push edi
mov eax, dword [0x4dd070]
xor eax, esp
push eax
lea eax, [esp + 0xd8]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
push 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
mov ecx, 0x4c32f0
mov eax, esi
xor ebx, ebx
pop edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45ed48
cmp dx, bx
je 0x45ed44
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45ed48
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45ed24
xor eax, eax
jmp 0x45ed4d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45eded
and dword [esp + 0x18], ebx
push 0xa
pop esi
push esi
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
call fcn.0049443c
add esp, 0xc
mov ebx, eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0049443c
add esp, 0xc
mov dword [esp + 0x28], eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0049443c
add esp, 0xc
mov edi, eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0049443c
mov ecx, dword [esp + 0x20]
add esp, 0xc
push dword [esp + 0x28]
mov esi, eax
mov eax, dword [ecx]
push ebx
call dword [eax + 0x70]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
sub edi, ebx
push edi
call dword [eax + 0x80]
sub esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
push esi
call dword [eax + 0x88]
jmp 0x45fb99
mov ecx, str.padding
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45ee18
cmp dx, bx
je 0x45ee14
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45ee18
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45edf4
xor eax, eax
jmp 0x45ee1d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45eeaf
xor eax, eax
lea edi, [esp + 0x28]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0xa
pop esi
stosd dword es:[edi], eax
push esi
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], ebx
call fcn.0049443c
add esp, 0xc
mov dword [esp + 0x24], eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0049443c
add esp, 0xc
mov dword [esp + 0x28], eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0049443c
add esp, 0xc
mov dword [esp + 0x2c], eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0049443c
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx]
push ecx
mov edi, esp
lea esi, [esp + 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [eax + 0x68]
jmp 0x45fb99
mov ecx, str.bkcolor
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45eeda
cmp dx, bx
je 0x45eed6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45eeda
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45eeb6
xor eax, eax
jmp 0x45eedf
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x45fb42
mov ecx, str.bkcolor1
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45ef12
cmp dx, bx
je 0x45ef0e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45ef12
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45eeee
xor eax, eax
jmp 0x45ef17
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x45fb42
mov ecx, str.bkcolor2
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45ef4a
cmp dx, bx
je 0x45ef46
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45ef4a
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45ef26
xor eax, eax
jmp 0x45ef4f
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45efab
mov eax, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_CharNextW]
jmp 0x45ef6f
cmp ax, 0x20
ja 0x45ef77
push dword [esp + 0x10]
call esi
mov dword [esp + 0x10], eax
movzx eax, word [eax]
cmp ax, bx
ja 0x45ef5f
mov eax, dword [esp + 0x10]
cmp word [eax], 0x23
jne 0x45ef88
push eax
call esi
mov dword [esp + 0x10], eax
push 0x10
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], ebx
call fcn.00494467
mov edx, dword [esp + 0x20]
lea ecx, [edx + 0x37c]
jmp 0x45f107
mov ecx, str.bkcolor3
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45efd6
cmp dx, bx
je 0x45efd2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45efd6
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45efb2
xor eax, eax
jmp 0x45efdb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f037
mov eax, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_CharNextW]
jmp 0x45effb
cmp ax, 0x20
ja 0x45f003
push dword [esp + 0x10]
call esi
mov dword [esp + 0x10], eax
movzx eax, word [eax]
cmp ax, bx
ja 0x45efeb
mov eax, dword [esp + 0x10]
cmp word [eax], 0x23
jne 0x45f014
push eax
call esi
mov dword [esp + 0x10], eax
push 0x10
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], ebx
call fcn.00494467
mov edx, dword [esp + 0x20]
lea ecx, [edx + 0x380]
jmp 0x45f107
mov ecx, str.bordercolor
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f062
cmp dx, bx
je 0x45f05e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f062
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f03e
xor eax, eax
jmp 0x45f067
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f0a0
mov eax, dword [esp + 0x10]
cmp word [eax], 0x23
jne 0x45f080
push eax
call dword [sym.imp.USER32.dll_CharNextW]
mov dword [esp + 0x10], eax
push 0x10
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], ebx
call fcn.00494467
mov edx, dword [esp + 0x20]
lea ecx, [edx + 0x60c]
jmp 0x45f107
mov ecx, str.focusbordercolor
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f0cb
cmp dx, bx
je 0x45f0c7
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f0cb
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f0a7
xor eax, eax
jmp 0x45f0d0
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f116
mov eax, dword [esp + 0x10]
cmp word [eax], 0x23
jne 0x45f0e9
push eax
call dword [sym.imp.USER32.dll_CharNextW]
mov dword [esp + 0x10], eax
push 0x10
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], ebx
call fcn.00494467
mov edx, dword [esp + 0x20]
lea ecx, [edx + 0x610]
add esp, 0xc
cmp dword [ecx], eax
je 0x45fb99
mov dword [ecx], eax
jmp 0x45f195
mov ecx, str.colorhsl
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f141
cmp dx, bx
je 0x45f13d
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f141
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f11d
xor eax, eax
jmp 0x45f146
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f19b
mov eax, dword [esp + 0x10]
mov ecx, str.true
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f177
cmp dx, bx
je 0x45f173
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f177
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f153
xor eax, eax
jmp 0x45f17c
sbb eax, eax
sbb eax, 0xffffffff
mov edx, dword [esp + 0x14]
cmp eax, ebx
sete cl
lea eax, [edx + 0x614]
cmp byte [eax], cl
je 0x45fb99
mov byte [eax], cl
push edx
jmp 0x45f36c
mov ecx, str.bordersize
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f1c6
cmp dx, bx
je 0x45f1c2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f1c6
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f1a2
xor eax, eax
jmp 0x45f1cb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f2a5
push 0xffffffffffffffff
push dword [esp + 0x14]
lea eax, [esp + 0x4c]
call fcn.004566df
push 0x2c
xor ecx, ecx
lea esi, [esp + 0x48]
mov dword [esp + 0xe4], ebx
call fcn.00456afe
test eax, eax
jge 0x45f214
push dword [esp + 0x10]
call fcn.00490d7a
pop ecx
mov ecx, eax
mov eax, dword [esp + 0x14]
call fcn.0045df08
jmp 0x45fa07
xor eax, eax
lea edi, [esp + 0x28]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0xa
pop esi
stosd dword es:[edi], eax
push esi
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], ebx
call fcn.0049443c
add esp, 0xc
mov dword [esp + 0x24], eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0049443c
add esp, 0xc
mov dword [esp + 0x28], eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0049443c
add esp, 0xc
mov dword [esp + 0x2c], eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0049443c
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x20]
lea edi, [eax + 0x638]
lea esi, [esp + 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add esp, 0xc
push eax
movsd dword es:[edi], dword [esi]
call fcn.0045ea57
jmp 0x45fa07
mov ecx, str.borderstyle
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f2d0
cmp dx, bx
je 0x45f2cc
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f2d0
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f2ac
xor eax, eax
jmp 0x45f2d5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f2ef
push dword [esp + 0x10]
call fcn.00490d7a
pop ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x618], eax
jmp 0x45f36b
mov ecx, str.borderround
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f31a
cmp dx, bx
je 0x45f316
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f31a
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f2f6
xor eax, eax
jmp 0x45f31f
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f376
push 0xa
xor eax, eax
pop esi
lea edi, [esp + 0x1c]
stosd dword es:[edi], eax
push esi
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], ebx
call fcn.0049443c
add esp, 0xc
mov edi, eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0049443c
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov dword [ecx + 0x620], edi
mov dword [ecx + 0x624], eax
push ecx
call fcn.0045ea57
jmp 0x45fb99
mov ecx, str.bkimage
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f3a1
cmp dx, bx
je 0x45f39d
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f3a1
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f37d
xor eax, eax
jmp 0x45f3a6
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f3bc
push dword [esp + 0x10]
mov edi, dword [esp + 0x18]
call fcn.0045de93
jmp 0x45fb99
mov ecx, str.width
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f3e7
cmp dx, bx
je 0x45f3e3
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f3e7
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f3c3
xor eax, eax
jmp 0x45f3ec
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f3fe
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
sub esi, 0xffffff80
jmp 0x45f6b5
mov ecx, str.height
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f429
cmp dx, bx
je 0x45f425
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f429
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f405
xor eax, eax
jmp 0x45f42e
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f443
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
add esi, 0x88
jmp 0x45f6b5
mov ecx, str.minwidth
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f46e
cmp dx, bx
je 0x45f46a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f46e
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f44a
xor eax, eax
jmp 0x45f473
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f488
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
add esi, 0x90
jmp 0x45f6b5
mov ecx, str.minheight
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f4b3
cmp dx, bx
je 0x45f4af
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f4b3
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f48f
xor eax, eax
jmp 0x45f4b8
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f4cd
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
add esi, 0xa0
jmp 0x45f6b5
mov ecx, str.maxwidth
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f4f8
cmp dx, bx
je 0x45f4f4
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f4f8
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f4d4
xor eax, eax
jmp 0x45f4fd
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f512
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
add esi, 0x98
jmp 0x45f6b5
mov ecx, str.maxheight
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f53d
cmp dx, bx
je 0x45f539
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f53d
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f519
xor eax, eax
jmp 0x45f542
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f557
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
add esi, 0xa8
jmp 0x45f6b5
mov ecx, str.name
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f582
cmp dx, bx
je 0x45f57e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f582
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f55e
xor eax, eax
jmp 0x45f587
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f59d
mov ecx, dword [esp + 0x14]
push dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0xc]
jmp 0x45fb99
mov ecx, str.text
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f5c8
cmp dx, bx
je 0x45f5c4
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f5c8
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f5a4
xor eax, eax
jmp 0x45f5cd
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f5e3
mov ecx, dword [esp + 0x14]
push dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x3c]
jmp 0x45fb99
mov ecx, str.tooltip
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f60e
cmp dx, bx
je 0x45f60a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f60e
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f5ea
xor eax, eax
jmp 0x45f613
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f62c
mov ecx, dword [esp + 0x14]
push dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0xb0]
jmp 0x45fb99
mov ecx, str.userdata
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f657
cmp dx, bx
je 0x45f653
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f657
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f633
xor eax, eax
jmp 0x45f65c
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f675
mov ecx, dword [esp + 0x14]
push dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0xd0]
jmp 0x45fb99
mov ecx, 0x4bc3f8
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f6a0
cmp dx, bx
je 0x45f69c
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f6a0
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f67c
xor eax, eax
jmp 0x45f6a5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f6cb
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
add esi, 0xd8
push dword [esp + 0x10]
call fcn.00490d7a
pop ecx
mov ecx, dword [esp + 0x14]
push eax
call dword [esi]
jmp 0x45fb99
mov ecx, str.enabled
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f6f6
cmp dx, bx
je 0x45f6f2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f6f6
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f6d2
xor eax, eax
jmp 0x45f6fb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f74b
mov eax, dword [esp + 0x10]
mov ecx, str.true
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f72c
cmp dx, bx
je 0x45f728
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f72c
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f708
xor eax, eax
jmp 0x45f731
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
cmp eax, ebx
sete al
movzx eax, al
push eax
call dword [edx + 0xec]
jmp 0x45fb99
mov ecx, str.mouse
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f776
cmp dx, bx
je 0x45f772
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f776
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f752
xor eax, eax
jmp 0x45f77b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f7cb
mov eax, dword [esp + 0x10]
mov ecx, str.true
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f7ac
cmp dx, bx
je 0x45f7a8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f7ac
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f788
xor eax, eax
jmp 0x45f7b1
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
cmp eax, ebx
sete al
movzx eax, al
push eax
call dword [edx + 0xf4]
jmp 0x45fb99
mov ecx, str.keyboard
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f7f6
cmp dx, bx
je 0x45f7f2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f7f6
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f7d2
xor eax, eax
jmp 0x45f7fb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f84b
mov eax, dword [esp + 0x10]
mov ecx, str.true
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f82c
cmp dx, bx
je 0x45f828
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f82c
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f808
xor eax, eax
jmp 0x45f831
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
cmp eax, ebx
sete al
movzx eax, al
push eax
call dword [edx + 0xfc]
jmp 0x45fb99
mov ecx, str.visible
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f876
cmp dx, bx
je 0x45f872
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f876
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f852
xor eax, eax
jmp 0x45f87b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45f8cb
mov eax, dword [esp + 0x10]
mov ecx, str.true
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f8ac
cmp dx, bx
je 0x45f8a8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f8ac
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f888
xor eax, eax
jmp 0x45f8b1
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
cmp eax, ebx
sete al
movzx eax, al
push eax
call dword [edx + 0xe0]
jmp 0x45fb99
mov ecx, str.float
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f8f6
cmp dx, bx
je 0x45f8f2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f8f6
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45f8d2
xor eax, eax
jmp 0x45f8fb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45fa15
push 0xffffffffffffffff
push dword [esp + 0x14]
lea eax, [esp + 0x4c]
call fcn.004566df
xor ebx, ebx
inc ebx
push 0x2c
xor ecx, ecx
lea esi, [esp + 0x48]
mov dword [esp + 0xe4], ebx
call fcn.00456afe
test eax, eax
jge 0x45f979
mov eax, dword [esp + 0x10]
mov ecx, str.true
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45f95a
test dx, dx
je 0x45f956
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45f95a
add eax, edi
add ecx, edi
test dx, dx
jne 0x45f936
xor eax, eax
jmp 0x45f95f
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
test eax, eax
sete al
movzx eax, al
push eax
call dword [edx + 0x10c]
jmp 0x45fa07
push 6
xor eax, eax
and dword [esp + 0x24], eax
pop ecx
lea edi, [esp + 0x2c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x14]
call fcn.0049e6d1
fstp qword [esp + 0x2c]
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x2c]
add eax, 2
push eax
call fcn.0049e6d1
fstp qword [esp + 0x3c]
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x34]
add eax, 2
push eax
call fcn.0049e6d1
fstp qword [esp + 0x4c]
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x3c]
add eax, 2
push eax
call fcn.0049e6d1
fld qword [esp + 0x44]
mov esi, dword [esp + 0x34]
mov edx, dword [esi]
mov eax, esp
fstp qword [eax]
mov ecx, esi
fld qword [esp + 0x4c]
fstp qword [eax + 8]
fld qword [esp + 0x54]
fstp qword [eax + 0x10]
fstp qword [eax + 0x18]
call dword [edx + 0x78]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x10c]
lea ecx, [esp + 0x44]
call fcn.0045671f
jmp 0x45fb99
mov ecx, str.shortcut
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45fa40
cmp dx, bx
je 0x45fa3c
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45fa40
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45fa1c
xor eax, eax
jmp 0x45fa45
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45fa62
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
push edx
call dword [eax + 0xc0]
jmp 0x45fb99
mov ecx, str.menu
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45fa8d
cmp dx, bx
je 0x45fa89
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45fa8d
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45fa69
xor eax, eax
jmp 0x45fa92
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45fae2
mov eax, dword [esp + 0x10]
mov ecx, str.true
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45fac3
cmp dx, bx
je 0x45fabf
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45fac3
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45fa9f
xor eax, eax
jmp 0x45fac8
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
cmp eax, ebx
sete al
movzx eax, al
push eax
call dword [edx + 0xc8]
jmp 0x45fb99
mov ecx, str.virtualwnd
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45fb0d
cmp dx, bx
je 0x45fb09
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45fb0d
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x45fae9
xor eax, eax
jmp 0x45fb12
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45fb32
mov esi, dword [esp + 0x14]
push dword [esp + 0x10]
lea eax, [esi + 0x68]
call fcn.004568fa
mov eax, dword [esi + 0x5c]
mov byte [eax + 0x2bb], 1
jmp 0x45fb99
mov eax, dword [esp + 0x10]
push esi
push dword [esp + 0x18]
call fcn.0045e8e1
jmp 0x45fb99
mov eax, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_CharNextW]
jmp 0x45fb5e
cmp ax, 0x20
ja 0x45fb66
push dword [esp + 0x10]
call esi
mov dword [esp + 0x10], eax
movzx eax, word [eax]
cmp ax, bx
ja 0x45fb4e
mov eax, dword [esp + 0x10]
cmp word [eax], 0x23
jne 0x45fb77
push eax
call esi
mov dword [esp + 0x10], eax
push 0x10
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], ebx
call fcn.00494467
mov edx, dword [esp + 0x20]
add esp, 0xc
mov ecx, eax
call fcn.0045de80
mov ecx, dword [esp + 0xd8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.0048ff11
mov esp, ebp
pop ebp
ret 8