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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4ba474
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
mov eax, dword [0x4e8070]
xor eax, esp
mov dword [esp + 0xc0], eax
push ebx
push esi
push edi
mov eax, dword [0x4e8070]
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, 0x4ceeec
mov eax, esi
xor ebx, ebx
pop edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4737ce
cmp dx, bx
je 0x4737ca
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4737ce
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x4737aa
xor eax, eax
jmp 0x4737d3
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x473873
and dword [esp + 0x18], ebx
push 0xa
pop esi
push esi
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
call fcn.0049bead
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.0049bead
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.0049bead
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.0049bead
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 0x47461f
mov ecx, str.padding
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47389e
cmp dx, bx
je 0x47389a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47389e
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x47387a
xor eax, eax
jmp 0x4738a3
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x473935
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.0049bead
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.0049bead
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.0049bead
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.0049bead
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 0x47461f
mov ecx, str.bkcolor
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x473960
cmp dx, bx
je 0x47395c
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x473960
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x47393c
xor eax, eax
jmp 0x473965
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4745c8
mov ecx, str.bkcolor1
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x473998
cmp dx, bx
je 0x473994
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x473998
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x473974
xor eax, eax
jmp 0x47399d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4745c8
mov ecx, str.bkcolor2
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4739d0
cmp dx, bx
je 0x4739cc
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4739d0
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x4739ac
xor eax, eax
jmp 0x4739d5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x473a31
mov eax, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_CharNextW]
jmp 0x4739f5
cmp ax, 0x20
ja 0x4739fd
push dword [esp + 0x10]
call esi
mov dword [esp + 0x10], eax
movzx eax, word [eax]
cmp ax, bx
ja 0x4739e5
mov eax, dword [esp + 0x10]
cmp word [eax], 0x23
jne 0x473a0e
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.0049bed8
mov edx, dword [esp + 0x20]
lea ecx, [edx + 0x37c]
jmp 0x473b8d
mov ecx, str.bkcolor3
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x473a5c
cmp dx, bx
je 0x473a58
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x473a5c
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x473a38
xor eax, eax
jmp 0x473a61
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x473abd
mov eax, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_CharNextW]
jmp 0x473a81
cmp ax, 0x20
ja 0x473a89
push dword [esp + 0x10]
call esi
mov dword [esp + 0x10], eax
movzx eax, word [eax]
cmp ax, bx
ja 0x473a71
mov eax, dword [esp + 0x10]
cmp word [eax], 0x23
jne 0x473a9a
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.0049bed8
mov edx, dword [esp + 0x20]
lea ecx, [edx + 0x380]
jmp 0x473b8d
mov ecx, str.bordercolor
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x473ae8
cmp dx, bx
je 0x473ae4
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x473ae8
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x473ac4
xor eax, eax
jmp 0x473aed
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x473b26
mov eax, dword [esp + 0x10]
cmp word [eax], 0x23
jne 0x473b06
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.0049bed8
mov edx, dword [esp + 0x20]
lea ecx, [edx + 0x60c]
jmp 0x473b8d
mov ecx, str.focusbordercolor
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x473b51
cmp dx, bx
je 0x473b4d
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x473b51
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x473b2d
xor eax, eax
jmp 0x473b56
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x473b9c
mov eax, dword [esp + 0x10]
cmp word [eax], 0x23
jne 0x473b6f
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.0049bed8
mov edx, dword [esp + 0x20]
lea ecx, [edx + 0x610]
add esp, 0xc
cmp dword [ecx], eax
je 0x47461f
mov dword [ecx], eax
jmp 0x473c1b
mov ecx, str.colorhsl
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x473bc7
cmp dx, bx
je 0x473bc3
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x473bc7
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x473ba3
xor eax, eax
jmp 0x473bcc
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x473c21
mov eax, dword [esp + 0x10]
mov ecx, str.true
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x473bfd
cmp dx, bx
je 0x473bf9
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x473bfd
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x473bd9
xor eax, eax
jmp 0x473c02
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 0x47461f
mov byte [eax], cl
push edx
jmp 0x473df2
mov ecx, str.bordersize
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x473c4c
cmp dx, bx
je 0x473c48
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x473c4c
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x473c28
xor eax, eax
jmp 0x473c51
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x473d2b
push 0xffffffffffffffff
push dword [esp + 0x14]
lea eax, [esp + 0x4c]
call fcn.00460c22
push 0x2c
xor ecx, ecx
lea esi, [esp + 0x48]
mov dword [esp + 0xe4], ebx
call fcn.00461041
test eax, eax
jge 0x473c9a
push dword [esp + 0x10]
call fcn.004987ea
pop ecx
mov ecx, eax
mov eax, dword [esp + 0x14]
call fcn.0047298f
jmp 0x47448d
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.0049bead
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.0049bead
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.0049bead
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.0049bead
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.004734de
jmp 0x47448d
mov ecx, str.borderstyle
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x473d56
cmp dx, bx
je 0x473d52
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x473d56
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x473d32
xor eax, eax
jmp 0x473d5b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x473d75
push dword [esp + 0x10]
call fcn.004987ea
pop ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x618], eax
jmp 0x473df1
mov ecx, str.borderround
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x473da0
cmp dx, bx
je 0x473d9c
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x473da0
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x473d7c
xor eax, eax
jmp 0x473da5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x473dfc
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.0049bead
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.0049bead
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov dword [ecx + 0x620], edi
mov dword [ecx + 0x624], eax
push ecx
call fcn.004734de
jmp 0x47461f
mov ecx, str.bkimage
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x473e27
cmp dx, bx
je 0x473e23
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x473e27
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x473e03
xor eax, eax
jmp 0x473e2c
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x473e42
push dword [esp + 0x10]
mov edi, dword [esp + 0x18]
call fcn.0047291a
jmp 0x47461f
mov ecx, str.width
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x473e6d
cmp dx, bx
je 0x473e69
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x473e6d
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x473e49
xor eax, eax
jmp 0x473e72
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x473e84
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
sub esi, 0xffffff80
jmp 0x47413b
mov ecx, str.height
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x473eaf
cmp dx, bx
je 0x473eab
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x473eaf
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x473e8b
xor eax, eax
jmp 0x473eb4
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x473ec9
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
add esi, 0x88
jmp 0x47413b
mov ecx, str.minwidth
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x473ef4
cmp dx, bx
je 0x473ef0
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x473ef4
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x473ed0
xor eax, eax
jmp 0x473ef9
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x473f0e
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
add esi, 0x90
jmp 0x47413b
mov ecx, str.minheight
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x473f39
cmp dx, bx
je 0x473f35
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x473f39
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x473f15
xor eax, eax
jmp 0x473f3e
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x473f53
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
add esi, 0xa0
jmp 0x47413b
mov ecx, str.maxwidth
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x473f7e
cmp dx, bx
je 0x473f7a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x473f7e
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x473f5a
xor eax, eax
jmp 0x473f83
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x473f98
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
add esi, 0x98
jmp 0x47413b
mov ecx, str.maxheight
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x473fc3
cmp dx, bx
je 0x473fbf
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x473fc3
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x473f9f
xor eax, eax
jmp 0x473fc8
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x473fdd
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
add esi, 0xa8
jmp 0x47413b
mov ecx, str.name
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x474008
cmp dx, bx
je 0x474004
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x474008
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x473fe4
xor eax, eax
jmp 0x47400d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x474023
mov ecx, dword [esp + 0x14]
push dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0xc]
jmp 0x47461f
mov ecx, str.text
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47404e
cmp dx, bx
je 0x47404a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47404e
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x47402a
xor eax, eax
jmp 0x474053
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x474069
mov ecx, dword [esp + 0x14]
push dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x3c]
jmp 0x47461f
mov ecx, str.tooltip
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x474094
cmp dx, bx
je 0x474090
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x474094
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x474070
xor eax, eax
jmp 0x474099
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4740b2
mov ecx, dword [esp + 0x14]
push dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0xb0]
jmp 0x47461f
mov ecx, str.userdata
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4740dd
cmp dx, bx
je 0x4740d9
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4740dd
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x4740b9
xor eax, eax
jmp 0x4740e2
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4740fb
mov ecx, dword [esp + 0x14]
push dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0xd0]
jmp 0x47461f
mov ecx, 0x4c5e18
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x474126
cmp dx, bx
je 0x474122
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x474126
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x474102
xor eax, eax
jmp 0x47412b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x474151
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
add esi, 0xd8
push dword [esp + 0x10]
call fcn.004987ea
pop ecx
mov ecx, dword [esp + 0x14]
push eax
call dword [esi]
jmp 0x47461f
mov ecx, str.enabled
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47417c
cmp dx, bx
je 0x474178
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47417c
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x474158
xor eax, eax
jmp 0x474181
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4741d1
mov eax, dword [esp + 0x10]
mov ecx, str.true
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4741b2
cmp dx, bx
je 0x4741ae
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4741b2
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x47418e
xor eax, eax
jmp 0x4741b7
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 0x47461f
mov ecx, str.mouse
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4741fc
cmp dx, bx
je 0x4741f8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4741fc
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x4741d8
xor eax, eax
jmp 0x474201
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x474251
mov eax, dword [esp + 0x10]
mov ecx, str.true
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x474232
cmp dx, bx
je 0x47422e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x474232
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x47420e
xor eax, eax
jmp 0x474237
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 0x47461f
mov ecx, str.keyboard
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47427c
cmp dx, bx
je 0x474278
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47427c
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x474258
xor eax, eax
jmp 0x474281
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4742d1
mov eax, dword [esp + 0x10]
mov ecx, str.true
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4742b2
cmp dx, bx
je 0x4742ae
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4742b2
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x47428e
xor eax, eax
jmp 0x4742b7
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 0x47461f
mov ecx, str.visible
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4742fc
cmp dx, bx
je 0x4742f8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4742fc
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x4742d8
xor eax, eax
jmp 0x474301
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x474351
mov eax, dword [esp + 0x10]
mov ecx, str.true
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x474332
cmp dx, bx
je 0x47432e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x474332
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x47430e
xor eax, eax
jmp 0x474337
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 0x47461f
mov ecx, str.float
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47437c
cmp dx, bx
je 0x474378
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47437c
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x474358
xor eax, eax
jmp 0x474381
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x47449b
push 0xffffffffffffffff
push dword [esp + 0x14]
lea eax, [esp + 0x4c]
call fcn.00460c22
xor ebx, ebx
inc ebx
push 0x2c
xor ecx, ecx
lea esi, [esp + 0x48]
mov dword [esp + 0xe4], ebx
call fcn.00461041
test eax, eax
jge 0x4743ff
mov eax, dword [esp + 0x10]
mov ecx, str.true
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4743e0
test dx, dx
je 0x4743dc
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4743e0
add eax, edi
add ecx, edi
test dx, dx
jne 0x4743bc
xor eax, eax
jmp 0x4743e5
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 0x47448d
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.004a61e2
fstp qword [esp + 0x2c]
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x2c]
add eax, 2
push eax
call fcn.004a61e2
fstp qword [esp + 0x3c]
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x34]
add eax, 2
push eax
call fcn.004a61e2
fstp qword [esp + 0x4c]
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x3c]
add eax, 2
push eax
call fcn.004a61e2
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.00460c62
jmp 0x47461f
mov ecx, str.shortcut
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4744c6
cmp dx, bx
je 0x4744c2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4744c6
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x4744a2
xor eax, eax
jmp 0x4744cb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4744e8
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 0x47461f
mov ecx, str.menu
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x474513
cmp dx, bx
je 0x47450f
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x474513
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x4744ef
xor eax, eax
jmp 0x474518
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x474568
mov eax, dword [esp + 0x10]
mov ecx, str.true
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x474549
cmp dx, bx
je 0x474545
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x474549
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x474525
xor eax, eax
jmp 0x47454e
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 0x47461f
mov ecx, str.virtualwnd
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x474593
cmp dx, bx
je 0x47458f
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x474593
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x47456f
xor eax, eax
jmp 0x474598
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4745b8
mov esi, dword [esp + 0x14]
push dword [esp + 0x10]
lea eax, [esi + 0x68]
call fcn.00460e3d
mov eax, dword [esi + 0x5c]
mov byte [eax + 0x2bb], 1
jmp 0x47461f
mov eax, dword [esp + 0x10]
push esi
push dword [esp + 0x18]
call fcn.00473368
jmp 0x47461f
mov eax, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_CharNextW]
jmp 0x4745e4
cmp ax, 0x20
ja 0x4745ec
push dword [esp + 0x10]
call esi
mov dword [esp + 0x10], eax
movzx eax, word [eax]
cmp ax, bx
ja 0x4745d4
mov eax, dword [esp + 0x10]
cmp word [eax], 0x23
jne 0x4745fd
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.0049bed8
mov edx, dword [esp + 0x20]
add esp, 0xc
mov ecx, eax
call fcn.00472907
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.0049795f
mov esp, ebp
pop ebp
ret 8