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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xbc
mov edx, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x18], ecx
mov ecx, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x10], ecx
movzx eax, word [edi]
mov ecx, dword [sym.imp.USER32.dll_GetWindowLongW]
mov byte [esp + 0x40], 0
mov dword [esp + 0x34], ecx
test ax, ax
je 0x466ae3
mov bh, byte [esp + 0x17]
mov ecx, eax
mov eax, dword [sym.imp.USER32.dll_EnableWindow]
movss xmm0, dword [esp + 0x44]
mov dword [esp + 0x50], eax
mov eax, dword [sym.imp.USER32.dll_ShowWindow]
mov dword [esp + 0x54], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [esp + 0x58], eax
mov eax, dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [esp + 0x60], eax
mov eax, dword [sym.imp.USER32.dll_GetClassInfoExW]
mov dword [esp + 0x64], eax
mov eax, dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x44]
mov byte [esp + 0xf], bh
movss dword [esp + 0x48], xmm0
mov dword [esp + 0x30], eax
cmp cx, 0x2d
jne 0x46484f
xor bl, bl
jmp 0x46485a
movzx eax, cx
mov bl, 1
cmp cx, 0x2b
jne 0x464861
movzx eax, word [edi + 2]
add edi, 2
test ax, ax
je 0x466adc
mov dword [esp + 0x1c], edi
test edi, edi
je 0x4648c4
movzx eax, ax
mov dword [esp + 0x28], eax
nop dword [eax]
mov ecx, 0x4c678c
mov edx, 0x20
nop word [eax + eax]
cmp ax, dx
je 0x464927
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
mov eax, dword [esp + 0x28]
jne 0x464890
mov eax, dword [esp + 0x1c]
add eax, 2
mov dword [esp + 0x1c], eax
movzx eax, word [eax]
mov ecx, eax
mov dword [esp + 0x28], ecx
test ax, ax
jne 0x464880
mov ecx, edi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4648d0
sub ecx, edx
sar ecx, 1
lea eax, [edi + ecx*2]
mov dword [esp + 0x1c], eax
cmp eax, edi
je 0x4665f6
movzx eax, word [eax]
xor ecx, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x1c]
push str.Section
push edi
mov word [eax], cx
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x46492d
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov byte [esi + 0x18d], 1
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
jmp 0x4648e6
push str.AltSubmit
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x464972
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 0xc
je 0x464972
mov edi, eax
mov cl, byte [edi + 0x31]
mov al, cl
or cl, 2
and al, 0xfd
movzx ecx, cl
test bl, bl
movzx eax, al
mov ebx, dword [esp + 0x3c]
cmove ecx, eax
mov eax, dword [esp + 0x1c]
mov byte [edi + 0x31], cl
mov word [eax], bx
jmp 0x4665f2
push 7
push str.Checked
push edi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x464a29
add edi, 0xe
push str.Gray
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x4649b7
movzx eax, bl
mov ebx, dword [esp + 0x3c]
add eax, eax
mov dword [esi + 0x68], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 0xa
jne 0x4649e3
mov ecx, dword [esi + 0x10]
mov eax, ecx
and eax, 0xfffffffb
or ecx, 4
test bl, bl
mov ebx, dword [esp + 0x3c]
cmove ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x10], ecx
mov word [eax], bx
jmp 0x4665f2
cmp word [edi], 0
je 0x464a13
mov ecx, edi
call fcn.0047b060
mov dword [esi + 0x68], eax
cmp eax, 0xffffffff
jne case.0x466200.7
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x68], 2
mov word [eax], bx
jmp 0x4665f2
movzx eax, bl
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x68], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
push 6
push str.Choose
push edi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x464ad9
test bl, bl
je case.0x466200.7
mov eax, dword [ebp + 0x10]
add edi, 0xc
cmp byte [eax + 0x30], 0xd
je 0x464a7f
mov ecx, edi
call fcn.0047b060
mov dword [esi + 0x30], eax
cmp eax, 1
jge case.0x466200.7
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x30], 0
mov word [eax], bx
jmp 0x4665f2
push str.None
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x464aa8
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x30], 2
mov word [eax], bx
jmp 0x4665f2
push 1
lea edx, [esi + 0x13c]
mov ecx, edi
call fcn.0047a3d0
add esp, 4
test eax, eax
je case.0x466200.7
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x30], 1
mov word [eax], bx
jmp 0x4665f2
push str.Border
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x464b1c
test bl, bl
je 0x464b05
mov eax, dword [esp + 0x1c]
or dword [esi], 0x800000
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x800000
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push str.VScroll
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x464b5f
test bl, bl
je 0x464b48
mov eax, dword [esp + 0x1c]
or dword [esi], 0x200000
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x200000
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push 7
push str.HScroll
push edi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x464bf8
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 0xb
jne 0x464b9f
test bl, bl
je 0x46519f
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x8000
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
test bl, bl
je 0x464be1
or dword [esi], 0x100000
cmp word [edi + 0xe], 0
je 0x464bcb
lea ecx, [edi + 0xe]
call fcn.0047b060
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov ebx, dword [esp + 0x3c]
or eax, 0xffffffff
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x100000
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push str.Tabstop
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x464c24
test bl, bl
je 0x464c3a
mov eax, dword [esp + 0x1c]
or dword [esi], 0x10000
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push str.NoTab
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x464c51
test bl, bl
je 0x464c0e
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x10000
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push str.Group
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x464c81
test bl, bl
je 0x464ffc
mov eax, dword [esp + 0x1c]
or dword [esi], 0x20000
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push str.Redraw
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x464cb2
movzx eax, bl
mov ebx, dword [esp + 0x3c]
xor eax, 1
add eax, 3
mov dword [esi + 0x184], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
push 8
push str.Disabled
push edi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x464d2f
cmp word [edi + 0x10], ax
lea ecx, [edi + 0x10]
je 0x464cdb
call fcn.0047b060
test eax, eax
jne 0x464cdb
xor bl, 1
mov edi, dword [ebp + 0x10]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x464cf4
xor eax, eax
test bl, bl
sete al
push eax
push ecx
call dword [esp + 0x58]
jmp 0x464d07
test bl, bl
je 0x464d00
or dword [esi], 0x8000000
jmp 0x464d07
or dword [esi + 4], 0x8000000
mov cl, byte [edi + 0x31]
mov al, cl
or cl, 0x10
and al, 0xef
movzx ecx, cl
test bl, bl
movzx eax, al
mov ebx, dword [esp + 0x3c]
cmove ecx, eax
mov eax, dword [esp + 0x1c]
mov byte [edi + 0x31], cl
mov word [eax], bx
jmp 0x4665f2
push 6
push str.Hidden
push edi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x464db1
cmp word [edi + 0xc], ax
lea ecx, [edi + 0xc]
je 0x464d58
call fcn.0047b060
test eax, eax
jne 0x464d58
xor bl, 1
mov edi, dword [ebp + 0x10]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x464d76
xor edx, edx
mov eax, 4
test bl, bl
cmovne eax, edx
push eax
push ecx
call dword [esp + 0x5c]
jmp 0x464d89
test bl, bl
je 0x464d83
or dword [esi + 4], 0x10000000
jmp 0x464d89
or dword [esi], 0x10000000
mov cl, byte [edi + 0x31]
mov al, cl
or cl, 8
and al, 0xf7
movzx ecx, cl
test bl, bl
movzx eax, al
mov ebx, dword [esp + 0x3c]
cmove ecx, eax
mov eax, dword [esp + 0x1c]
mov byte [edi + 0x31], cl
mov word [eax], bx
jmp 0x4665f2
push str.Wrap
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x464e67
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0x30]
dec eax
cmp eax, 0x12
ja case.0x466200.7
movzx eax, byte [eax + 0x4670e8]
jmp dword [eax*4 + 0x4670d0]
test bl, bl
je 0x464dfe
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x1f
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esi]
mov ebx, dword [esp + 0x3c]
and eax, 0xffffffec
or eax, 0xc
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
test bl, bl
je 0x464e33
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x100080
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi], 0x80
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
test bl, bl
je 0x4653d2
mov eax, dword [esp + 0x1c]
or dword [esi], 0x200
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push 0xa
push str.Background
push edi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x464fd0
mov ecx, dword [ebp + 0x10]
lea eax, [edi + 0x14]
mov dword [ecx + 0x34], 0xffffffff
mov ecx, dword [ecx + 0x38]
test ecx, ecx
je 0x464ea5
push ecx
call dword [esp + 0x5c]
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x38], 0
lea eax, [edi + 0x14]
push str.Trans
push eax
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x464ef0
test bl, bl
je case.0x466200.7
mov edx, dword [ebp + 0x10]
movzx eax, byte [edx + 0x30]
test byte [eax + 0x4d0438], 1
jne 0x464ed9
mov ecx, str.Not_supported_for_this_control_type.
jmp 0x465e7c
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov dword [edx + 0x34], 0xff000001
mov word [eax], bx
jmp 0x4665f2
test bl, bl
je 0x464faf
cmp word [edi + 0x14], 0
lea ebx, [edi + 0x14]
je case.0x466200.7
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0x30]
test byte [eax + 0x4d0438], 2
jne 0x464f20
mov ecx, str.Not_supported_for_this_control_type.
jmp 0x465e7c
mov ecx, ebx
call fcn.0047be40
mov edx, eax
mov dword [esi + 0x5c], edx
cmp edx, 0xffffffff
jne 0x464f71
push 0x10
lea eax, [esp + 0x60]
push eax
push ebx
call fcn.0049afeb
movzx edx, al
add esp, 0xc
movzx ecx, ax
shl edx, 8
shr ecx, 8
or edx, ecx
shr eax, 0x10
shl edx, 8
movzx eax, al
or edx, eax
mov eax, dword [esp + 0x5c]
mov dword [esi + 0x5c], edx
cmp word [eax], 0
je 0x464f71
mov ecx, str.Invalid_option.
jmp 0x465e7c
cmp edx, 0xff000000
je case.0x466200.7
mov edi, dword [ebp + 0x10]
movzx eax, byte [edi + 0x30]
test byte [eax + 0x4d0438], 4
je case.0x466200.7
push edx
call dword [esp + 0x64]
mov ebx, dword [esp + 0x3c]
mov dword [edi + 0x38], eax
mov eax, dword [esi + 0x5c]
mov dword [edi + 0x34], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [ebp + 0x10]
mov ebx, dword [esp + 0x3c]
mov dword [eax + 0x34], 0xff000000
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x5c], 0xff000000
mov word [eax], bx
jmp 0x4665f2
push str.Group
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x465013
test bl, bl
je 0x464ffc
mov eax, dword [esp + 0x1c]
or dword [esi], 0x20000
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x20000
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push str.Theme
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x46503b
mov eax, dword [esp + 0x1c]
mov byte [esi + 0x18e], bl
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push 4
push str.Icon
push edi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x4650a8
mov eax, dword [ebp + 0x10]
add edi, 8
cmp byte [eax + 0x30], 0xa
jne 0x465086
push str.Small
push edi
call fcn.004979b3
mov ebx, dword [esp + 0x44]
add esp, 8
neg eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 2
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
test bl, bl
je case.0x466200.7
mov ecx, edi
call fcn.0047b060
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x6c], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
push str.Report
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x4650d1
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x14], 1
mov word [eax], bx
jmp 0x4665f2
push str.List
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x4650fa
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x14], 3
mov word [eax], bx
jmp 0x4665f2
push str.Tile
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x465123
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x14], 4
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 0xa
jne 0x465209
push 0x4ce9e0
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x465161
test bl, bl
je 0x4655d8
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x4000
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 0xa
jne 0x465209
push 6
push str.NoSort
push edi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x4651cb
lea eax, [edi + 0xc]
push 0x4ce9e0
push eax
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x4651b5
test bl, bl
je 0x464b88
mov eax, dword [esp + 0x1c]
or dword [esi], 0x8000
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
mov byte [esi + 0x18f], bl
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 0xa
jne 0x465209
push str.Grid
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x465209
mov ecx, dword [esi + 0x10]
mov eax, ecx
and eax, 0xfffffffe
or ecx, 1
test bl, bl
mov ebx, dword [esp + 0x3c]
cmove ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x10], ecx
mov word [eax], bx
jmp 0x4665f2
push 5
push str.Count
push edi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x465238
lea ecx, [edi + 0xa]
call fcn.0047b060
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x60], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
push 2
push 0x4d0174
push edi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x46529f
push ecx
push eax
push eax
xor edx, edx
lea ecx, [edi + 4]
call fcn.0047a5e0
add esp, 0xc
test eax, eax
je case.0x466200.7
lea ecx, [edi + 4]
call fcn.0047b060
mov ecx, dword [esi + 0x10]
test bl, bl
je 0x465288
mov ebx, dword [esp + 0x3c]
or ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x10], ecx
mov word [eax], bx
jmp 0x4665f2
mov ebx, dword [esp + 0x3c]
not eax
and eax, ecx
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
push 9
push str.ImageList
push edi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x4652d6
test bl, bl
je case.0x466200.7
lea ecx, [edi + 0x12]
call fcn.0047b060
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 4
jne 0x46530f
push str.Default
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x46530c
test bl, bl
je 0x46604f
mov eax, dword [esp + 0x1c]
or dword [esi], 1
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 5
jne 0x465342
push str.Check3
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x465342
test bl, bl
je 0x4659f6
mov eax, dword [esp + 0x1c]
or dword [esi], 6
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push str.ReadOnly
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x465405
mov edi, dword [ebp + 0x10]
movzx eax, byte [edi + 0x30]
add eax, 0xfffffff7
cmp eax, 3
ja case.0x466200.7
jmp dword [eax*4 + 0x4670fc]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je case.0x46542c.9
push 0
movzx eax, bl
push eax
push 0xcf
push ecx
call dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
test bl, bl
je 0x4653b3
mov eax, dword [esp + 0x1c]
or dword [esi], 0x800
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x800
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
test bl, bl
je 0x464e51
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x200
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
test bl, bl
je 0x465613
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 8
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push str.Multi
push edi
call fcn.004979b3
mov edx, dword [ebp + 0x10]
add esp, 8
mov cl, byte [edx + 0x30]
test eax, eax
jne 0x465462
movzx eax, cl
add eax, 0xfffffff7
cmp eax, 5
ja case.0x466200.7
jmp dword [eax*4 + 0x46710c]
test bl, bl
je 0x46544e
mov eax, dword [esp + 0x1c]
or dword [esi], 4
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
test bl, bl
je 0x465437
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 4
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
cmp cl, 0xc
jne 0x4654ad
push str.WantReturn
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x4654aa
test bl, bl
je 0x465493
mov eax, dword [esp + 0x1c]
or dword [esi], 0x1000
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x1000
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov edx, dword [ebp + 0x10]
cmp byte [edx + 0x30], 0xc
jne 0x46550f
push str.WantTab
push edi
call fcn.004979b3
mov edx, dword [ebp + 0x10]
add esp, 8
test eax, eax
je 0x4658a5
cmp byte [edx + 0x30], 0xc
jne 0x46550f
push str.WantCtrlA
push edi
call fcn.004979b3
mov edx, dword [ebp + 0x10]
add esp, 8
test eax, eax
jne 0x46550f
mov cl, byte [edx + 0x31]
mov al, cl
and cl, 0xfd
or al, 2
movzx ecx, cl
test bl, bl
movzx eax, al
mov ebx, dword [esp + 0x3c]
cmove ecx, eax
mov eax, dword [esp + 0x1c]
mov byte [edx + 0x31], cl
mov word [eax], bx
jmp 0x4665f2
mov al, byte [edx + 0x30]
cmp al, 0xa
je 0x46551a
cmp al, 0xb
jne 0x465557
push str.WantF2
push edi
call fcn.004979b3
mov edx, dword [ebp + 0x10]
add esp, 8
test eax, eax
jne 0x465557
mov cl, byte [edx + 0x31]
mov al, cl
and cl, 0x7f
or al, 0x80
movzx ecx, cl
test bl, bl
movzx eax, al
mov ebx, dword [esp + 0x3c]
cmove ecx, eax
mov eax, dword [esp + 0x1c]
mov byte [edx + 0x31], cl
mov word [eax], bx
jmp 0x4665f2
cmp byte [edx + 0x30], 0xc
jne 0x46558d
push str.Number
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x46558d
test bl, bl
je 0x46564e
mov eax, dword [esp + 0x1c]
or dword [esi], 0x2000
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push str.Lowercase
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x4655ee
mov eax, dword [ebp + 0x10]
mov al, byte [eax + 0x30]
cmp al, 0xc
jne 0x4655c4
test bl, bl
je 0x465900
mov eax, dword [esp + 0x1c]
or dword [esi], 0x10
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
cmp al, 8
je case.0x46536b.9
cmp al, 7
jne case.0x466200.7
test bl, bl
je 0x46514a
mov eax, dword [esp + 0x1c]
or dword [esi], 0x4000
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push str.Uppercase
push edi
call fcn.004979b3
mov ecx, dword [ebp + 0x10]
add esp, 8
mov cl, byte [ecx + 0x30]
test eax, eax
jne 0x465665
cmp cl, 0xc
jne 0x465626
test bl, bl
je 0x4653f1
mov eax, dword [esp + 0x1c]
or dword [esi], 8
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
cmp cl, 8
je 0x465634
cmp cl, 7
jne case.0x466200.7
test bl, bl
je 0x46564e
mov eax, dword [esp + 0x1c]
or dword [esi], 0x2000
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x2000
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
cmp cl, 0xc
jne 0x46571d
push 8
push str.Password
push edi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x46571d
movzx eax, word [edi + 0x10]
mov word [esi + 0x188], ax
mov edx, eax
mov eax, dword [ebp + 0x10]
test bl, bl
je 0x4656ef
or dword [esi], 0x20
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x465708
push 0
test dx, dx
jne 0x4656cf
push 0x25cf
push 0xcc
push ecx
call dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov byte [esp + 0x40], 1
mov word [eax], bx
jmp 0x4665f2
push edx
push 0xcc
push ecx
call dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov byte [esp + 0x40], 1
mov word [eax], bx
jmp 0x4665f2
or dword [esi + 4], 0x20
mov eax, dword [eax + 0x18]
test eax, eax
je 0x465708
push 0
push 0
push 0xcc
push eax
call dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov byte [esp + 0x40], 1
mov word [eax], bx
jmp 0x4665f2
push 5
push str.Limit
push edi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x465784
test bl, bl
je 0x46576c
cmp word [edi + 0xa], ax
je 0x465756
lea ecx, [edi + 0xa]
call fcn.0047b060
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x60], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov ebx, dword [esp + 0x3c]
or eax, 0xffffffff
mov dword [esi + 0x60], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov ebx, dword [esp + 0x3c]
mov eax, SysReAllocString
mov dword [esi + 0x60], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 8
jne 0x4657ba
push str.Simple
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x4657ba
test bl, bl
je 0x46604f
mov eax, dword [esp + 0x1c]
or dword [esi], 1
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push 4
push str.Sort
push edi
call fcn.00497b0e
mov edx, dword [ebp + 0x10]
add esp, 0xc
mov cl, byte [edx + 0x30]
test eax, eax
jne 0x46584a
movzx eax, cl
add eax, 0xfffffff9
cmp eax, 3
ja case.0x466200.7
jmp dword [eax*4 + 0x467124]
test bl, bl
je case.0x466089.11
mov eax, dword [esp + 0x1c]
or dword [esi], 2
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
test bl, bl
je 0x465836
lea eax, [edi + 8]
push str.Desc
push eax
call fcn.004979b3
mov ebx, dword [esp + 0x44]
add esp, 8
neg eax
sbb eax, eax
and eax, 0xfffffff0
add eax, 0x20
or dword [esi], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x30
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
cmp cl, 0x10
jne 0x465886
push str.Horz
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x465883
test bl, bl
je 0x465a85
mov eax, dword [esi]
mov ebx, dword [esp + 0x3c]
and eax, 0xffffffef
or eax, 0x40
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov edx, dword [ebp + 0x10]
cmp byte [edx + 0x30], 0x11
jne 0x465981
push str.Invert
push edi
call fcn.004979b3
mov edx, dword [ebp + 0x10]
add esp, 8
test eax, eax
jne 0x4658cd
mov cl, byte [edx + 0x31]
mov al, cl
or cl, 0x80
and al, 0x7f
movzx ecx, cl
test bl, bl
movzx eax, al
mov ebx, dword [esp + 0x3c]
cmove ecx, eax
mov eax, dword [esp + 0x1c]
mov byte [edx + 0x31], cl
mov word [eax], bx
jmp 0x4665f2
cmp byte [edx + 0x30], 0x11
jne 0x465981
push str.NoTicks
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x465914
test bl, bl
je 0x465900
mov eax, dword [esp + 0x1c]
or dword [esi], 0x10
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x10
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov edx, dword [ebp + 0x10]
cmp byte [edx + 0x30], 0x11
jne 0x465981
push 0xc
push str.TickInterval
push edi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x465981
mov byte [esi + 0x18b], 1
test bl, bl
je 0x465967
or dword [esi], 1
lea ecx, [edi + 0x18]
cmp word [edi + 0x18], ax
setne al
mov byte [esi + 0x18c], al
call fcn.0047b060
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x3c], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
or dword [esi + 4], 1
or eax, 0xffffffff
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x3c], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
push 4
push str.Line
push edi
call fcn.00497b0e
mov edx, dword [ebp + 0x10]
add esp, 0xc
mov cl, byte [edx + 0x30]
test eax, eax
jne 0x465a0a
cmp cl, 0x11
jne 0x4659c3
test bl, bl
je case.0x466200.7
lea ecx, [edi + 8]
call fcn.0047b060
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x40], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
cmp cl, 0xb
jne case.0x466200.7
mov cx, word [edi + 8]
call fcn.00409c70
cmp ax, 0x53
jne case.0x466200.7
test bl, bl
je 0x4659f6
mov eax, dword [esp + 0x1c]
or dword [esi], 6
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 6
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
cmp cl, 0x11
jne 0x465a49
push 4
push str.Page
push edi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x465a46
test bl, bl
je case.0x466200.7
lea ecx, [edi + 8]
call fcn.0047b060
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x44], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov edx, dword [ebp + 0x10]
cmp byte [edx + 0x30], 0x11
jne 0x465a99
push 5
push str.Thick
push edi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x465a99
test bl, bl
je 0x465a85
or dword [esi], 0x40
lea ecx, [edi + 0xa]
call fcn.0047b060
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x48], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x40
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push 7
push str.ToolTip
push edi
call fcn.00497b0e
mov ecx, dword [ebp + 0x10]
add esp, 0xc
mov cl, byte [ecx + 0x30]
test eax, eax
jne 0x465b39
cmp cl, 0x11
jne case.0x466200.7
test bl, bl
je 0x466239
mov dword [esi + 0x4c], 0xffffffff
mov cx, word [edi + 0xe]
call fcn.00409c70
movzx eax, ax
add eax, 0xffffffbe
cmp eax, 0x12
ja case.0x465aea.67
movzx eax, byte [eax + 0x467148]
jmp dword [eax*4 + 0x467134]
mov dword [esi + 0x4c], 0
jmp case.0x465aea.67
mov dword [esi + 0x4c], 1
jmp case.0x465aea.67
mov dword [esi + 0x4c], 2
jmp case.0x465aea.67
mov dword [esi + 0x4c], 3
mov eax, dword [esi + 0x4c]
xor ecx, ecx
mov ebx, dword [esp + 0x3c]
test eax, eax
lea edx, [eax + 1]
mov eax, dword [esp + 0x1c]
cmovns ecx, edx
mov dword [esi + 0x4c], ecx
or dword [esi], 0x100
mov word [eax], bx
jmp 0x4665f2
cmp cl, 0x11
jne 0x465bb2
push 5
push str.Buddy
push edi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x465bb2
test bl, bl
je case.0x466200.7
movzx ebx, word [edi + 0xa]
test bx, bx
je case.0x466200.7
mov ecx, dword [esp + 0x18]
lea eax, [edi + 0xc]
push eax
call fcn.00468ee0
mov edx, dword [esp + 0x18]
cmp eax, dword [edx + 0x5c]
jae case.0x466200.7
mov ecx, dword [edx + 0x2c]
mov eax, dword [ecx + eax*4]
cmp ebx, 0x31
jne 0x465b9f
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x50], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x54], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
push str.Vertical
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x465c0c
mov eax, dword [ebp + 0x10]
mov al, byte [eax + 0x30]
cmp al, 0x11
jne 0x465be9
test bl, bl
je case.0x466089.11
mov eax, dword [esp + 0x1c]
or dword [esi], 2
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
cmp al, 0x12
jne case.0x466200.7
test bl, bl
je 0x46544e
mov eax, dword [esp + 0x1c]
or dword [esi], 4
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push 5
push str.Range
push edi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x465d4d
test bl, bl
je case.0x466200.7
movzx edx, word [edi + 0xa]
test dx, dx
je case.0x466200.7
mov eax, dword [ebp + 0x10]
mov al, byte [eax + 0x30]
cmp al, 0xd
je 0x465c8a
cmp al, 0xe
je 0x465c8a
lea ecx, [edi + 0xa]
mov byte [esi + 0x18a], 1
call fcn.0047b060
mov dword [esi + 0x34], eax
lea eax, [edi + 0xc]
push 0x2d
push eax
call fcn.0049515e
add esp, 8
test eax, eax
je case.0x466200.7
lea ecx, [eax + 2]
call fcn.0047b060
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x38], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
xor ebx, ebx
lea eax, [esi + 0x15c]
lea ecx, [edi + 0xc]
cmp edx, 0x2d
je 0x465ce8
push 0x2d
push ecx
call fcn.0049515e
add esp, 8
mov dword [esp + 0x2c], eax
test eax, eax
je 0x465cb2
xor ecx, ecx
mov word [eax], cx
push 1
lea edx, [esi + 0x15c]
lea ecx, [edi + 0xa]
call fcn.0047a3d0
add esp, 4
test eax, eax
mov eax, 1
cmovne ebx, eax
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x465d02
mov ecx, 0x2d
mov word [eax], cx
lea ecx, [eax + 2]
lea eax, [esi + 0x15c]
cmp word [ecx], 0
je 0x465d02
push 1
lea edx, [eax + 0x10]
call fcn.0047a3d0
add esp, 4
test eax, eax
je 0x465d02
or ebx, 2
mov dword [esi + 0x180], ebx
test ebx, ebx
je case.0x466200.7
mov edi, dword [ebp + 0x10]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je case.0x466200.7
cmp byte [edi + 0x30], 0xd
lea eax, [esi + 0x15c]
push eax
mov edx, 0x1004
mov eax, 0x1012
push ebx
cmove eax, edx
push eax
push ecx
call dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 0x12
jne 0x465d83
push str.Smooth
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x465d83
test bl, bl
je 0x46604f
mov eax, dword [esp + 0x1c]
or dword [esi], 1
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push str.Buttons
push edi
call fcn.004979b3
mov edx, dword [ebp + 0x10]
add esp, 8
mov cl, byte [edx + 0x30]
test eax, eax
jne 0x465de2
cmp cl, 0x13
jne 0x465dbe
test bl, bl
je 0x466239
mov eax, dword [esp + 0x1c]
or dword [esi], 0x100
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
cmp cl, 0xb
jne case.0x466200.7
test bl, bl
je 0x46604f
mov eax, dword [esp + 0x1c]
or dword [esi], 1
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
cmp cl, 0x13
jne 0x465e34
push str.Bottom
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x465e31
mov eax, dword [esi + 4]
test bl, bl
je 0x465e1b
or dword [esi], 2
or eax, 0x80
mov ebx, dword [esp + 0x3c]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov ebx, dword [esp + 0x3c]
or eax, 2
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov edx, dword [ebp + 0x10]
cmp byte [edx + 0x30], 0x18
jne 0x465e99
push 5
push 0x4c9e88
push edi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x465e99
lea eax, [esp + 0x98]
add edi, 0xa
push eax
push edi
push dword [0x4dbca0]
call dword [esp + 0x70]
movzx eax, ax
mov word [esi + 0x192], ax
test ax, ax
jne case.0x466200.7
mov ecx, str.Unrecognized_window_class.
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
test edi, edi
jne 0x4665b6
mov edi, 0x4b431c
jmp 0x4665b6
push str.Center
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x465f98
mov edi, dword [ebp + 0x10]
movzx eax, byte [edi + 0x30]
dec eax
cmp eax, 0x10
ja case.0x466200.7
test bl, bl
je 0x465f2d
movzx eax, byte [eax + 0x467170]
jmp dword [eax*4 + 0x46715c]
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 2
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
movzx eax, byte [eax + 0x467198]
jmp dword [eax*4 + 0x467184]
push str.Right
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x466133
mov edi, dword [ebp + 0x10]
movzx eax, byte [edi + 0x30]
dec eax
test bl, bl
je 0x466079
cmp eax, 0x16
ja case.0x466200.7
movzx eax, byte [eax + 0x4671cc]
jmp dword [eax*4 + 0x4671ac]
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 8
or dword [esi], 4
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi], 0x20
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi], 2
or dword [esi + 4], 0x1d
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esi]
or dword [esi + 4], 0x100
or eax, 0x200
mov dword [esi], eax
mov cl, byte [edi + 0x30]
cmp cl, 5
je 0x466037
cmp cl, 6
jne case.0x466200.7
mov ebx, dword [esp + 0x3c]
or eax, 0x20
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
or dword [esi], 2
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 1
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi], 0x282
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
cmp eax, 0x12
ja case.0x466200.7
movzx eax, byte [eax + 0x467200]
jmp dword [eax*4 + 0x4671e4]
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x20
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi], 4
or dword [esi + 4], 8
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4660f0
push 0xfffffffffffffff0
push eax
call dword [esp + 0x3c]
and eax, 0x300
cmp eax, 0x300
je case.0x466200.7
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x200
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov ecx, dword [esi]
mov eax, ecx
and eax, 0x300
cmp eax, 0x300
je case.0x466200.7
mov eax, dword [esp + 0x1c]
and ecx, 0xfffffdff
mov ebx, dword [esp + 0x3c]
mov dword [esi], ecx
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x82
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push str.Left
push edi
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x466293
mov edi, dword [ebp + 0x10]
movzx eax, byte [edi + 0x30]
test bl, bl
je 0x4661ed
dec eax
cmp eax, 0x12
ja case.0x466200.7
movzx eax, byte [eax + 0x467234]
jmp dword [eax*4 + 0x467214]
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 4
or dword [esi], 8
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esi + 4]
or dword [esi], 0x100
or eax, 0x200
mov dword [esi + 4], eax
mov cl, byte [edi + 0x30]
cmp cl, 5
je 0x4661a9
cmp cl, 6
jne case.0x466200.7
mov ebx, dword [esp + 0x3c]
or eax, 0x20
mov dword [esi + 4], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 3
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi], 0x280
or dword [esi + 4], 2
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
add eax, 0xfffffffd
cmp eax, 0x10
ja case.0x466200.7
movzx eax, byte [eax + 0x467258]
jmp dword [eax*4 + 0x467248]
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0xc
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [edi + 0x18]
test eax, eax
je 0x466250
push 0xfffffffffffffff0
push eax
call dword [esp + 0x3c]
and eax, 0x300
cmp eax, 0x300
je case.0x466200.7
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x100
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov ecx, dword [esi]
mov eax, ecx
and eax, 0x300
cmp eax, 0x300
je case.0x466200.7
mov eax, dword [esp + 0x1c]
and ecx, 0xfffffeff
mov ebx, dword [esp + 0x3c]
mov dword [esi], ecx
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
or dword [esi + 4], 0x80
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push ecx
push 0
push 1
xor edx, edx
mov ecx, edi
call fcn.0047a5e0
add esp, 0xc
test eax, eax
je 0x4662d8
mov ecx, edi
call fcn.0047b060
test bl, bl
je 0x4662c5
or dword [esi], eax
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
or dword [esi + 4], eax
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov cx, word [edi]
call fcn.00409c70
cmp word [edi + 2], 0
lea ecx, [edi + 2]
movzx eax, ax
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
jne 0x46634b
movzx eax, ax
cmp eax, 0x43
je 0x466330
cmp eax, 0x56
jne case.0x466504.68
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x466319
push eax
call fcn.00497f48
add esp, 4
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x1c], 0
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
test bl, bl
jne 0x46633b
mov dword [esi + 0x58], 0xff000000
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
push eax
push str.XYWHTER
mov dword [esp + 0x40], 0
call fcn.0049515e
add esp, 8
test eax, eax
je 0x4664da
mov eax, dword [esp + 0x24]
mov cx, word [eax]
call fcn.00409c70
movzx ecx, ax
mov eax, dword [esp + 0x28]
movzx eax, ax
add eax, 0xffffffb8
mov dword [esp + 0x30], ecx
cmp eax, 0x11
ja case.0x466392.73
movzx eax, byte [eax + 0x467278]
jmp dword [eax*4 + 0x46726c]
cmp ecx, 0x50
jne case.0x466392.73
add dword [esp + 0x24], 2
jmp case.0x466392.73
mov eax, dword [esp + 0x24]
cmp word [eax], 0x2b
jne 0x4663d6
mov cx, word [eax + 2]
add eax, 2
mov dword [esp + 0x2c], eax
call fcn.00409c70
mov ecx, 0x4d
cmp cx, ax
jne 0x4663df
add dword [esp + 0x24], 4
mov bh, 1
mov byte [esp + 0xf], bh
jmp case.0x466392.73
add eax, 2
mov dword [esp + 0x2c], eax
jmp 0x4663e3
mov ecx, dword [esp + 0x30]
push ecx
xor bh, bh
push str.MPS
mov byte [esp + 0x17], bh
call fcn.0049515e
mov edx, dword [esp + 0x2c]
add esp, 8
test eax, eax
cmovne edx, dword [esp + 0x2c]
mov dword [esp + 0x24], edx
push ecx
mov ecx, dword [esp + 0x28]
mov edx, 1
push 1
push 0
call fcn.0047a5e0
add esp, 0xc
sub eax, 1
je 0x466467
sub eax, 1
je 0x466446
mov eax, dword [esp + 0x24]
cmp word [eax], 0
jne 0x466439
mov edx, dword [esp + 0x30]
test dx, dx
jne 0x466489
mov edx, dword [esp + 0x18]
xor eax, eax
mov ecx, eax
jmp 0x4664ee
mov ecx, dword [esp + 0x24]
call fcn.00413c90
mov edx, dword [esp + 0x30]
cvtsd2ss xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [esp + 0x48], xmm0
mov dword [esp + 0x38], ecx
jmp 0x46648d
mov ecx, dword [esp + 0x24]
call fcn.0047b060
mov edx, dword [esp + 0x30]
mov ecx, eax
mov dword [esp + 0x38], ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x48], xmm0
jmp 0x46648d
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
cmp ax, 0x58
je 0x4664b4
cmp ax, 0x59
je 0x4664b4
cmp ax, 0x57
je 0x4664a9
cmp ax, 0x48
jne 0x4664e6
cmp ecx, 0xffffffff
jne 0x4664b4
cmp dx, 0x50
jne 0x4664e6
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc6], 0
je 0x4664ea
push 0x60
push dword [0x4dcd38]
push ecx
call dword [esp + 0x58]
mov edx, dword [esp + 0x18]
mov ecx, eax
mov eax, dword [esp + 0x28]
jmp 0x4664ee
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov edx, dword [esp + 0x18]
jmp 0x4664ee
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
movzx eax, ax
add eax, 0xffffffbd
cmp eax, 0x16
ja case.0x466504.68
movzx eax, byte [eax + 0x4672b4]
jmp dword [eax*4 + 0x46728c]
mov eax, dword [esi + 0x138]
cmp eax, 0x32
jae case.0x466200.7
mov ebx, dword [esp + 0x3c]
mov dword [esi + eax*4 + 0x70], ecx
mov eax, dword [esp + 0x1c]
inc dword [esi + 0x138]
mov word [eax], bx
jmp 0x4665f2
push dword [esp + 0x24]
mov ecx, edx
push dword [ebp + 0x10]
call fcn.0045e650
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
mov ebx, dword [esp + 0x24]
mov ecx, ebx
call fcn.0047be40
mov dword [esi + 0x58], eax
cmp eax, 0xffffffff
jne case.0x466200.7
push 0x10
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.0049afeb
movzx edx, al
add esp, 0xc
movzx ecx, ax
shl edx, 8
shr ecx, 8
or edx, ecx
shr eax, 0x10
shl edx, 8
movzx eax, al
or edx, eax
mov eax, dword [esp + 0x44]
mov dword [esi + 0x58], edx
cmp word [eax], 0
je case.0x466200.7
mov edx, dword [esp + 0x1c]
mov ecx, str.Invalid_option.
mov ebx, dword [esp + 0x3c]
movzx eax, bx
mov word [edx], ax
mov eax, dword [0x4d78c8]
mov edx, dword [eax + 0x34]
xor eax, eax
cmp edx, 8
jne 0x466aa7
mov edx, dword [0x4dd3ac]
test edx, edx
je 0x4665d5
mov eax, edx
push 9
push eax
push edi
push 0
push ecx
mov ecx, 0x4dcd68
call fcn.004287a0
test eax, eax
je 0x466b20
mov eax, dword [esp + 0x1c]
mov bh, byte [esp + 0xf]
mov edi, eax
movzx eax, word [edi]
cmp eax, 0x20
je 0x466609
cmp eax, 9
jne 0x466ad1
add edi, 2
jmp 0x4665f8
mov edi, dword [esp + 0x30]
cmp di, 0x50
jne 0x466630
mov eax, dword [edx + 0x8c]
mov ebx, dword [esp + 0x3c]
add eax, ecx
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov ebx, dword [esp + 0x3c]
mov eax, ecx
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
cmp word [esp + 0x30], 0x50
jne 0x466662
mov eax, dword [edx + 0x90]
mov ebx, dword [esp + 0x3c]
add eax, ecx
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov ebx, dword [esp + 0x3c]
mov eax, ecx
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov edi, dword [esp + 0x30]
cmp di, 0x2b
jne 0x46679f
test bh, bh
je 0x46668e
mov eax, dword [edx + 0x7c]
jmp 0x466690
xor eax, eax
add eax, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x10]
mov ch, byte [eax + 0x32]
mov byte [esp + 0x23], ch
cmp ch, 0xff
je 0x4666de
mov eax, dword [esp + 0x18]
xor cl, cl
xor edx, edx
mov ebx, dword [eax + 0x5c]
test ebx, ebx
je 0x466798
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x28], eax
nop
mov edi, dword [eax]
mov dword [esp + 0x38], edi
cmp byte [edi + 0x30], 0x13
jne 0x4666d2
cmp cl, ch
je 0x466717
inc cl
inc edx
add eax, 4
cmp edx, ebx
jb 0x4666c0
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x8c]
add eax, dword [edx + 0x84]
add eax, dword [esp + 0x2c]
cmp dword [esi + 0x20], 0x80000000
mov dword [esi + 0x1c], eax
jne case.0x466200.7
mov eax, dword [edx + 0x88]
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
test edi, edi
je 0x4666da
mov ecx, dword [ebp + 0x10]
xor edx, edx
mov bh, byte [esp + 0x23]
xor eax, eax
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
mov bl, byte [ecx + 0x33]
mov ecx, dword [esi + eax*4]
cmp byte [ecx + 0x33], bl
jne 0x46673f
cmp byte [ecx + 0x32], bh
jne 0x46673f
inc edx
inc eax
cmp eax, dword [edi + 0x5c]
jb 0x466731
mov esi, dword [ebp + 0xc]
mov edi, dword [esp + 0x38]
test edx, edx
jne 0x4666da
lea eax, [esp + 0x68]
push eax
push dword [edi + 0x18]
mov edi, dword [esp + 0x20]
mov ecx, edi
call fcn.0046bac0
mov eax, dword [esp + 0x68]
add eax, dword [esp + 0x2c]
cmp dword [esi + 0x20], 0x80000000
mov dword [esi + 0x1c], eax
jne case.0x466200.7
mov eax, dword [edi + 0x80]
add eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov edx, eax
jmp 0x4666de
cmp di, 0x4d
jne 0x4667b2
mov eax, dword [edx + 0x7c]
add eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x46683f
cmp di, 0x50
jne 0x4667ff
mov eax, dword [edx + 0x84]
add eax, ecx
cmp dword [esi + 0x20], 0x80000000
mov dword [esi + 0x1c], eax
jne case.0x466200.7
mov ecx, dword [edx + 0x88]
cmp eax, dword [edx + 0x84]
jne 0x4667ec
mov eax, dword [edx + 0x90]
add eax, dword [edx + 0x80]
add ecx, eax
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x20], ecx
mov word [eax], bx
jmp 0x4665f2
cmp di, 0x53
jne 0x46683c
mov eax, dword [edx + 0x9c]
add eax, ecx
cmp dword [esi + 0x20], 0x80000000
mov dword [esi + 0x1c], eax
jne case.0x466200.7
mov eax, dword [edx + 0xa8]
add eax, dword [edx + 0x80]
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov dword [esi + 0x1c], ecx
cmp dword [esi + 0x20], 0x80000000
jne case.0x466200.7
mov eax, dword [edx + 0x98]
add eax, dword [edx + 0x80]
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov edi, dword [esp + 0x30]
cmp di, 0x2b
jne 0x46699d
test bh, bh
je 0x466885
mov eax, dword [edx + 0x80]
jmp 0x466887
xor eax, eax
add eax, ecx
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x10]
mov ch, byte [eax + 0x32]
mov byte [esp + 0x17], ch
cmp ch, 0xff
je 0x4668cc
mov eax, dword [esp + 0x18]
xor cl, cl
xor edx, edx
mov ebx, dword [eax + 0x5c]
test ebx, ebx
je 0x466996
mov eax, dword [eax + 0x2c]
mov edi, dword [eax]
cmp byte [edi + 0x30], 0x13
jne 0x4668c0
cmp cl, ch
je 0x466905
inc cl
inc edx
add eax, 4
cmp edx, ebx
jb 0x4668b2
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x90]
add eax, dword [edx + 0x88]
add eax, dword [esp + 0x28]
cmp dword [esi + 0x1c], 0x80000000
mov dword [esi + 0x20], eax
jne case.0x466200.7
mov eax, dword [edx + 0x84]
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
test edi, edi
je 0x4668c8
mov ecx, dword [ebp + 0x10]
xor edx, edx
mov esi, dword [esp + 0x18]
xor eax, eax
mov cl, byte [ecx + 0x33]
mov ebx, dword [esi + 0x2c]
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x23], cl
mov ecx, dword [ebx + eax*4]
mov bl, byte [esp + 0x23]
cmp byte [ecx + 0x33], bl
mov ebx, dword [esp + 0x2c]
jne 0x466940
mov bl, byte [esp + 0x17]
cmp byte [ecx + 0x32], bl
mov ebx, dword [esp + 0x2c]
jne 0x466940
inc edx
inc eax
cmp eax, dword [esi + 0x5c]
jb 0x466922
mov esi, dword [ebp + 0xc]
test edx, edx
jne 0x4668c8
lea eax, [esp + 0x78]
push eax
push dword [edi + 0x18]
mov edi, dword [esp + 0x20]
mov ecx, edi
call fcn.0046bac0
mov eax, dword [esp + 0x7c]
add eax, dword [esp + 0x28]
cmp dword [esi + 0x1c], 0x80000000
mov dword [esi + 0x20], eax
jne case.0x466200.7
mov eax, dword [edi + 0x7c]
add eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov edx, eax
jmp 0x4668cc
cmp di, 0x4d
jne 0x4669b3
mov eax, dword [edx + 0x80]
add eax, ecx
mov dword [esi + 0x20], eax
jmp 0x466a3d
cmp di, 0x50
jne 0x466a00
mov eax, dword [edx + 0x88]
add eax, ecx
cmp dword [esi + 0x1c], 0x80000000
mov dword [esi + 0x20], eax
jne case.0x466200.7
mov ecx, dword [edx + 0x84]
cmp eax, dword [edx + 0x88]
jne 0x4669ed
mov eax, dword [edx + 0x8c]
add eax, dword [edx + 0x80]
add ecx, eax
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x1c], ecx
mov word [eax], bx
jmp 0x4665f2
cmp di, 0x53
jne 0x466a3a
mov eax, dword [edx + 0xa0]
add eax, ecx
cmp dword [esi + 0x1c], 0x80000000
mov dword [esi + 0x20], eax
jne case.0x466200.7
mov eax, dword [edx + 0xa4]
add eax, dword [edx + 0x7c]
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov dword [esi + 0x20], ecx
cmp dword [esi + 0x1c], 0x80000000
jne case.0x466200.7
mov eax, dword [edx + 0x94]
add eax, dword [edx + 0x7c]
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov word [eax], bx
jmp 0x4665f2
mov eax, dword [esp + 0x1c]
movss xmm0, dword [esp + 0x48]
mov ebx, dword [esp + 0x3c]
movss dword [esi + 0x2c], xmm0
mov word [eax], bx
jmp 0x4665f2
test bl, bl
je 0x466a94
mov eax, dword [esp + 0x1c]
or dword [esi + 8], ecx
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
or dword [esi + 0xc], ecx
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov word [eax], bx
jmp 0x4665f2
test edx, edx
jne 0x4665d5
xor eax, eax
cmp dword [0x4dd3e0], eax
jne 0x4665d5
push eax
push edi
push 9
push ecx
mov ecx, 0x4dcd68
call fcn.00428bd0
jmp 0x4665e6
mov ecx, eax
test ax, ax
jne 0x464845
mov ecx, dword [esp + 0x34]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x18]
test eax, eax
je 0x4670c2
push 0xfffffffffffffff0
push eax
call ecx
mov edx, dword [esi + 4]
mov edi, eax
mov ebx, edi
mov dword [esp + 0x2c], edi
or ebx, dword [esi]
mov ecx, edx
not ecx
and ebx, ecx
mov ecx, dword [ebp + 0x10]
movzx eax, byte [ecx + 0x30]
add eax, 0xfffffffe
cmp eax, 8
ja case.0x466b19.9
jmp dword [eax*4 + 0x4672cc]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, ebx
xor eax, edi
and eax, 0xf
xor ebx, eax
jmp case.0x466b19.9
and ebx, 0xfffffff7
or ebx, 7
jmp case.0x466b19.9
test bl, 1
je 0x466b51
and ebx, 0xfffffff1
or ebx, 1
jmp 0x466b54
and ebx, 0xfffffff0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x64]
mov eax, dword [ebp + 0x14]
cmp eax, ecx
jne 0x466b92
test dl, 1
je case.0x466b19.9
mov eax, dword [esp + 0x18]
push 0
push 1
push 0x401
push dword [eax + 0x1c]
mov dword [eax + 0x64], 0xffffffff
call dword [esp + 0x20]
or edi, 1
mov dword [esp + 0x2c], edi
jmp case.0x466b19.9
test byte [esi], 1
je case.0x466b19.9
mov edx, dword [esp + 0x18]
cmp ecx, dword [edx + 0x5c]
jae 0x466bdb
mov eax, dword [edx + 0x2c]
push 1
push 0xfffffffffffffff0
mov eax, dword [eax + ecx*4]
push dword [eax + 0x18]
call dword [esp + 0x40]
and eax, 0xfffe
push eax
mov eax, dword [esp + 0x20]
push 0xf4
mov ecx, dword [eax + 0x64]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + ecx*4]
push dword [eax + 0x18]
call dword [esp + 0x20]
mov eax, dword [ebp + 0x14]
mov edx, dword [esp + 0x18]
push 0
mov dword [edx + 0x64], eax
add eax, 3
push eax
push 0x401
push dword [edx + 0x1c]
call dword [esp + 0x20]
jmp case.0x466b19.9
mov eax, ebx
and eax, 6
cmp al, 6
jne 0x466c03
and ebx, 0xfffffff6
or ebx, 6
jmp case.0x466b19.9
and ebx, 0xfffffff3
or ebx, 3
jmp case.0x466b19.9
and ebx, 0xfffffff9
or ebx, 9
jmp case.0x466b19.9
test bl, 1
je 0x466c20
and ebx, 0xfffffff1
or ebx, 1
jmp case.0x466b19.9
and ebx, 0xfffffff2
or ebx, 2
jmp case.0x466b19.9
mov eax, dword [esi + 0x14]
cmp eax, 0xffffffff
je case.0x466b19.9
push 0
push eax
push 0x108e
push dword [ecx + 0x18]
call dword [esp + 0x20]
mov eax, dword [esi + 0x14]
cmp eax, 4
je case.0x466b19.9
and ebx, 0xfffffffc
or ebx, eax
mov eax, dword [esi + 0x60]
mov edx, dword [ebp + 0x10]
test eax, eax
je 0x466cb6
mov cl, byte [edx + 0x30]
cmp cl, 0xc
jne 0x466c94
mov ecx, dword [edx + 0x18]
push 0
test eax, eax
jns 0x466c8c
push 0
push 0xc5
push ecx
call dword [esp + 0x20]
cmp dword [esi + 0x60], 0x80000000
mov edx, dword [ebp + 0x10]
je 0x466cb6
test bl, 4
jne 0x466cb6
and ebx, 0xffefff7f
jmp 0x466cb6
push eax
push 0xc5
jmp 0x466cae
cmp cl, 0xf
jne 0x466cb6
mov ecx, dword [edx + 0x18]
test eax, eax
jns 0x466ca6
push 0
push 0
jmp 0x466ca9
push 6
push eax
push 0x403
push ecx
call dword [esp + 0x20]
mov edx, dword [ebp + 0x10]
mov byte [esp + 0xf], 0
cmp edi, ebx
je 0x466daf
mov al, byte [edx + 0x30]
mov byte [esp + 0xf], 1
mov byte [esp + 0x1c], 0
cmp al, 4
je 0x466d55
cmp al, 9
je 0x466cfa
cmp al, 0x12
jne 0x466d67
push 0
push 0
push 0x408
push dword [edx + 0x18]
call dword [esp + 0x20]
mov dword [esp + 0x4c], eax
jmp 0x466d67
mov eax, edi
and eax, 0x100000
test ebx, 0x100000
je 0x466d46
test eax, eax
jne 0x466d67
mov eax, dword [esi + 0x64]
test eax, eax
jns 0x466d3c
lea eax, [esp + 0x88]
push eax
push dword [edx + 0x18]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x90]
sub eax, dword [esp + 0x88]
mov edx, dword [ebp + 0x10]
lea eax, [eax + eax*2]
mov dword [esi + 0x64], eax
push 0
push eax
push 0x194
jmp 0x466d60
test eax, eax
je 0x466d67
push 0
push 0
push 0x194
jmp 0x466d60
push 1
movzx eax, bx
push eax
push 0xf4
push dword [edx + 0x18]
call dword [esp + 0x20]
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp + 0x10]
push ebx
push 0xfffffffffffffff0
push dword [eax + 0x18]
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
jne 0x466d8c
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x466db7
mov eax, dword [ebp + 0x10]
push 0xfffffffffffffff0
push dword [eax + 0x18]
call dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
cmp eax, edi
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [esp + 0x1c], ecx
jmp 0x466db7
mov al, byte [esp + 0x17]
mov dword [esp + 0x1c], eax
mov al, byte [esp + 0xf]
mov byte [esp + 0x17], al
mov eax, dword [ebp + 0x10]
push 0xffffffffffffffec
push dword [eax + 0x18]
call dword [esp + 0x3c]
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0xc]
or edi, eax
not ecx
mov dword [esp + 0x44], eax
and edi, ecx
cmp eax, edi
je 0x466e51
mov cl, byte [esp + 0xf]
movzx eax, cl
test cl, cl
mov ecx, 1
cmove eax, ecx
mov byte [esp + 0xf], al
mov eax, dword [esp + 0x1c]
and al, byte [esp + 0x17]
push 0
mov dword [esp + 0x20], eax
mov byte [esp + 0x1b], al
call dword [sym.imp.KERNEL32.dll_SetLastError]
push edi
mov edi, dword [ebp + 0x10]
push 0xffffffffffffffec
push dword [edi + 0x18]
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
jne 0x466e31
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x466e54
push 0xffffffffffffffec
push dword [edi + 0x18]
call dword [esp + 0x3c]
cmp eax, dword [esp + 0x44]
mov eax, 1
movzx ecx, byte [esp + 0x17]
cmovne ecx, eax
mov byte [esp + 0x1c], cl
jmp 0x466e54
mov edi, dword [ebp + 0x10]
cmp byte [edi + 0x30], 0xa
jne 0x466eb2
push 0
push 0
push 0x1037
push dword [edi + 0x18]
call dword [esp + 0x20]
mov edi, eax
mov eax, dword [esi + 0x10]
cmp edi, eax
je 0x466eb2
cmp byte [esp + 0xf], 0
jne 0x466e84
mov byte [esp + 0xf], 1
mov byte [esp + 0x1c], 0
push eax
mov eax, dword [ebp + 0x10]
push 0
push 0x1036
push dword [eax + 0x18]
call dword [esp + 0x20]
mov eax, dword [ebp + 0x10]
push 0
push 0
push 0x1037
push dword [eax + 0x18]
call dword [esp + 0x20]
cmp eax, edi
je 0x466eb9
mov byte [esp + 0x1c], 1
cmp byte [esp + 0xf], 0
je 0x466ed1
mov eax, dword [esp + 0x40]
mov ecx, 1
cmp byte [esp + 0x1c], 0
movzx eax, al
cmovne eax, ecx
mov dword [esp + 0x40], eax
mov edi, dword [ebp + 0x10]
movzx eax, byte [edi + 0x30]
add eax, 0xfffffff7
cmp eax, 0x10
ja case.0x466ee7.13
movzx eax, byte [eax + 0x467314]
jmp dword [eax*4 + 0x4672f0]
cmp byte [esi + 0x18a], 0
mov ebx, dword [esp + 0x10]
je 0x466f3c
push dword [esi + 0x38]
push dword [esi + 0x34]
push 0x46f
push dword [edi + 0x18]
call ebx
jmp 0x466f3c
push esi
push edi
call fcn.0046b280
test dword [esi + 4], 0x100
mov ebx, dword [esp + 0x10]
je 0x466f3c
push 0
push 0
push 0x41d
push dword [edi + 0x18]
call ebx
jmp 0x466f3c
push esi
push edi
call fcn.0046b390
mov ebx, dword [esp + 0x10]
mov eax, dword [esi + 0x58]
cmp eax, 0xffffffff
je 0x466f50
push eax
push edi
call fcn.0045eba0
mov byte [esp + 0x40], 1
mov ecx, dword [esi + 0x184]
test ecx, ecx
je 0x466f7b
xor eax, eax
cmp ecx, 3
push 0
sete al
push eax
push 0xb
push dword [edi + 0x18]
call ebx
cmp dword [esi + 0x184], 3
jne 0x466f7b
cmp byte [edi + 0x30], 0xb
jne 0x466f82
cmp byte [esp + 0x40], 0
je 0x466f8f
push 1
push 0
push dword [edi + 0x18]
call dword [sym.imp.USER32.dll_InvalidateRect]
cmp byte [esp + 0xf], 0
je 0x4670c2
cmp byte [esp + 0x1c], 0
jne 0x4670c2
push 0
push dword [0x4dd3ac]
mov ecx, 0x4dcd68
push 0x4b431c
push 0
push str.Failed
call fcn.004287a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [esi + 0x58]
or ecx, 0xffffffff
mov ebx, dword [esp + 0x10]
cmp eax, ecx
je 0x466ff9
cmp eax, 0xff000000
cmove eax, ecx
push eax
push 0
push 0x111e
push dword [edi + 0x18]
call ebx
mov dword [esi + 0x58], 0xffffffff
or ecx, 0xffffffff
mov eax, dword [esi + 0x5c]
cmp eax, 0xffffffff
je 0x466f3c
cmp eax, 0xff000000
cmove eax, ecx
push eax
push 0
push 0x111d
push dword [edi + 0x18]
call ebx
jmp 0x466f3c
push ebx
push esi
push edi
call fcn.0046b450
cmp dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x10]
je 0x466f3c
push 0
push dword [esp + 0x50]
push 0x402
push dword [edi + 0x18]
call ebx
jmp 0x466f3c
mov ecx, dword [esi + 0x138]
mov ebx, dword [esp + 0x10]
test ecx, ecx
je 0x466f3c
lea eax, [esi + 0x70]
push eax
push ecx
push 0xcb
push dword [edi + 0x18]
call ebx
mov byte [esp + 0x40], 1
jmp 0x466f3c
mov ecx, dword [esi + 0x138]
mov ebx, dword [esp + 0x10]
test ecx, ecx
je 0x466f3c
lea eax, [esi + 0x70]
push eax
push ecx
push 0x192
push dword [edi + 0x18]
call ebx
mov byte [esp + 0x40], 1
jmp 0x466f3c
mov eax, dword [esi + 0x5c]
cmp eax, 0xffffffff
je case.0x466ee7.13
mov ebx, dword [esp + 0x10]
push eax
push 0
push 0x2001
push dword [edi + 0x18]
call ebx
jmp 0x466f3c
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x10