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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xbc
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x1c], ecx
mov ecx, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x14], ecx
movzx eax, word [edi]
mov ecx, dword [sym.imp.USER32.dll_GetWindowLongW]
mov byte [esp + 0x38], 0
mov dword [esp + 0x30], ecx
test ax, ax
je 0x46d995
mov bh, byte [esp + 0x13]
mov ecx, eax
mov eax, dword [sym.imp.USER32.dll_EnableWindow]
movss xmm0, dword [esp + 0x40]
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 + 0x44], eax
mov eax, dword [esp + 0x40]
mov byte [esp + 0x12], bh
movss dword [esp + 0x3c], xmm0
mov dword [esp + 0x28], eax
cmp cx, 0x2d
jne 0x46b75c
xor bl, bl
jmp 0x46b767
movzx eax, cx
mov bl, 1
cmp cx, 0x2b
jne 0x46b76e
movzx eax, word [edi + 2]
add edi, 2
test ax, ax
je 0x46d991
mov dword [esp + 0x2c], edi
test edi, edi
je 0x46b7d4
movzx eax, ax
mov dword [esp + 0x34], eax
nop word [eax + eax]
mov ecx, 0x4d4b64
mov edx, 0x20
nop word [eax + eax]
cmp ax, dx
je 0x46b833
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
mov eax, dword [esp + 0x34]
jne 0x46b7a0
mov eax, dword [esp + 0x2c]
add eax, 2
mov dword [esp + 0x2c], eax
movzx eax, word [eax]
mov ecx, eax
mov dword [esp + 0x34], ecx
test ax, ax
jne 0x46b790
mov ecx, edi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46b7e0
sub ecx, edx
sar ecx, 1
lea eax, [edi + ecx*2]
mov dword [esp + 0x2c], eax
cmp eax, edi
je 0x46d480
movzx ecx, word [eax]
mov dword [esp + 0x34], ecx
xor ecx, ecx
push str.Section
push edi
mov word [eax], cx
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46b839
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov byte [esi + 0x18d], 1
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
jmp 0x46b7f6
push str.AltSubmit
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46b87e
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 0xc
je 0x46b87e
mov edx, dword [esp + 0x34]
mov edi, eax
mov cl, byte [edi + 0x31]
mov al, cl
or cl, 2
and al, 0xfd
movzx ecx, cl
movzx eax, al
test bl, bl
cmove ecx, eax
mov eax, dword [esp + 0x2c]
mov byte [edi + 0x31], cl
mov word [eax], dx
jmp 0x46d480
push 7
push str.Checked
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46b935
add edi, 0xe
push str.Gray
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46b8c3
mov edx, dword [esp + 0x34]
movzx eax, bl
add eax, eax
mov dword [esi + 0x68], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 0xa
jne 0x46b8ef
mov ecx, dword [esi + 0x10]
mov eax, ecx
mov edx, dword [esp + 0x34]
and eax, 0xfffffffb
or ecx, 4
test bl, bl
cmove ecx, eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x10], ecx
mov word [eax], dx
jmp 0x46d480
cmp word [edi], 0
je 0x46b91f
mov ecx, edi
call fcn.004828e0
mov dword [esi + 0x68], eax
cmp eax, 0xffffffff
jne case.0x46d0c5.7
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x68], 2
mov word [eax], dx
jmp 0x46d480
mov edx, dword [esp + 0x34]
movzx eax, bl
mov dword [esi + 0x68], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
push 6
push str.Choose
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46b9e7
test bl, bl
je case.0x46d0c5.7
mov eax, dword [ebp + 0x10]
add edi, 0xc
cmp byte [eax + 0x30], 0xd
je 0x46b98b
mov ecx, edi
call fcn.004828e0
mov dword [esi + 0x30], eax
cmp eax, 1
jge case.0x46d0c5.7
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x30], 0
mov word [eax], dx
jmp 0x46d480
push str.None
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46b9b5
mov edx, dword [esp + 0x34]
mov eax, 2
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
push 1
lea edx, [esi + 0x13c]
mov ecx, edi
call fcn.00481c70
add esp, 4
test eax, eax
je case.0x46d3bc.68
mov edx, dword [esp + 0x34]
mov eax, 1
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
push str.Border
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46ba2a
test bl, bl
je 0x46ba13
mov eax, dword [esp + 0x2c]
or dword [esi], 0x800000
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x800000
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
push str.VScroll
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46ba6d
test bl, bl
je 0x46ba56
mov eax, dword [esp + 0x2c]
or dword [esi], 0x200000
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x200000
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
push 7
push str.HScroll
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46bb06
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 0xb
jne 0x46baad
test bl, bl
je 0x46c0ef
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x8000
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
test bl, bl
je 0x46baef
or dword [esi], 0x100000
cmp word [edi + 0xe], 0
je 0x46bad9
lea ecx, [edi + 0xe]
call fcn.004828e0
mov edx, dword [esp + 0x34]
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov edx, dword [esp + 0x34]
or eax, 0xffffffff
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x100000
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
push str.Tabstop
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46bb32
test bl, bl
je 0x46bb48
mov eax, dword [esp + 0x2c]
or dword [esi], 0x10000
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
push str.NoTab
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46bb5f
test bl, bl
je 0x46bb1c
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x10000
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
push str.group
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46bb8f
test bl, bl
je 0x46bf4c
mov eax, dword [esp + 0x2c]
or dword [esi], 0x20000
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
push str.Redraw
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46bbc0
mov edx, dword [esp + 0x34]
movzx eax, bl
xor eax, 1
add eax, 3
mov dword [esi + 0x184], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
push 8
push str.Disabled
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46bc61
cmp word [edi + 0x10], ax
lea ecx, [edi + 0x10]
je 0x46bbed
call fcn.004828e0
test eax, eax
jne 0x46bbed
xor bl, 1
mov edi, dword [ebp + 0x10]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x46bc20
xor eax, eax
test bl, bl
sete al
push eax
push ecx
call dword [esp + 0x58]
mov al, byte [edi + 0x31]
test bl, bl
je 0x46bc4c
mov edx, dword [esp + 0x34]
or al, 0x10
mov byte [edi + 0x31], al
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
test bl, bl
je 0x46bc42
or dword [esi], 0x8000000
mov al, byte [edi + 0x31]
mov edx, dword [esp + 0x34]
or al, 0x10
mov byte [edi + 0x31], al
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
or dword [esi + 4], 0x8000000
mov al, byte [edi + 0x31]
mov edx, dword [esp + 0x34]
and al, 0xef
mov byte [edi + 0x31], al
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
push 6
push str.Hidden
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46bd07
cmp word [edi + 0xc], ax
lea ecx, [edi + 0xc]
je 0x46bc8e
call fcn.004828e0
test eax, eax
jne 0x46bc8e
xor bl, 1
mov edi, dword [ebp + 0x10]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x46bcc6
xor edx, edx
mov eax, 4
test bl, bl
cmovne eax, edx
push eax
push ecx
call dword [esp + 0x5c]
mov al, byte [edi + 0x31]
test bl, bl
je 0x46bcf2
mov edx, dword [esp + 0x34]
or al, 8
mov byte [edi + 0x31], al
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
test bl, bl
je 0x46bce9
or dword [esi + 4], 0x10000000
mov al, byte [edi + 0x31]
mov edx, dword [esp + 0x34]
or al, 8
mov byte [edi + 0x31], al
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
or dword [esi], 0x10000000
mov al, byte [edi + 0x31]
mov edx, dword [esp + 0x34]
and al, 0xf7
mov byte [edi + 0x31], al
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
push str.Wrap
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46bdbd
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0x30]
dec eax
cmp eax, 0x12
ja case.0x46d0c5.7
movzx eax, byte [eax + 0x46dfa4]
jmp dword [eax*4 + 0x46df8c]
test bl, bl
je 0x46bd54
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x1f
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esi]
mov edx, dword [esp + 0x34]
and eax, 0xffffffec
or eax, 0xc
mov dword [esi], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
test bl, bl
je 0x46bd89
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x100080
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi], 0x80
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
test bl, bl
je 0x46c322
mov eax, dword [esp + 0x2c]
or dword [esi], 0x200
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
push 0xa
push str.Background
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46bf20
mov ecx, dword [ebp + 0x10]
lea eax, [edi + 0x14]
mov dword [ecx + 0x34], 0xffffffff
mov ecx, dword [ecx + 0x38]
test ecx, ecx
je 0x46bdfb
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.0049f76e
add esp, 8
test eax, eax
jne 0x46be46
test bl, bl
je case.0x46d0c5.7
mov edx, dword [ebp + 0x10]
movzx eax, byte [edx + 0x30]
test byte [eax + 0x4de6fc], 1
jne 0x46be2f
mov ecx, str.Not_supported_for_this_control_type.
jmp 0x46d45d
mov eax, dword [esp + 0x2c]
mov dword [edx + 0x34], 0xff000001
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
test bl, bl
je 0x46beff
cmp word [edi + 0x14], 0
lea ebx, [edi + 0x14]
je case.0x46d0c5.7
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0x30]
test byte [eax + 0x4de6fc], 2
jne 0x46be76
mov ecx, str.Not_supported_for_this_control_type.
jmp 0x46d45d
mov ecx, ebx
call fcn.004836d0
mov edx, eax
mov dword [esi + 0x5c], edx
cmp edx, 0xffffffff
jne 0x46bec1
push 0x10
lea eax, [esp + 0x60]
push eax
push ebx
call fcn.004a1697
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
jne case.0x46d3bc.68
cmp edx, 0xff000000
je case.0x46d0c5.7
mov edi, dword [ebp + 0x10]
movzx eax, byte [edi + 0x30]
test byte [eax + 0x4de6fc], 4
je case.0x46d0c5.7
push edx
call dword [esp + 0x64]
mov edx, dword [esp + 0x34]
mov dword [edi + 0x38], eax
mov eax, dword [esi + 0x5c]
mov dword [edi + 0x34], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x34]
mov dword [eax + 0x34], 0xff000000
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x5c], 0xff000000
mov word [eax], dx
jmp 0x46d480
push str.group
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46bf63
test bl, bl
je 0x46bf4c
mov eax, dword [esp + 0x2c]
or dword [esi], 0x20000
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x20000
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
push str.Theme
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46bf8b
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov byte [esi + 0x18e], bl
mov word [eax], dx
jmp 0x46d480
push 4
push str.Icon
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46bff8
mov eax, dword [ebp + 0x10]
add edi, 8
cmp byte [eax + 0x30], 0xa
jne 0x46bfd6
push str.Small
push edi
call fcn.0049f76e
mov edx, dword [esp + 0x3c]
add esp, 8
neg eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 2
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
test bl, bl
je case.0x46d0c5.7
mov ecx, edi
call fcn.004828e0
mov edx, dword [esp + 0x34]
mov dword [esi + 0x6c], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
push str.Report
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46c021
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x14], 1
mov word [eax], dx
jmp 0x46d480
push str.List
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46c04a
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x14], 3
mov word [eax], dx
jmp 0x46d480
push str.Tile
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46c073
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x14], 4
mov word [eax], dx
jmp 0x46d480
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 0xa
jne 0x46c159
push 0x4dcb3c
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46c0b1
test bl, bl
je 0x46c528
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x4000
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 0xa
jne 0x46c159
push 6
push str.NoSort
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46c11b
lea eax, [edi + 0xc]
push 0x4dcb3c
push eax
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46c105
test bl, bl
je 0x46ba96
mov eax, dword [esp + 0x2c]
or dword [esi], 0x8000
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov byte [esi + 0x18f], bl
mov word [eax], dx
jmp 0x46d480
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 0xa
jne 0x46c159
push str.Grid
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46c159
mov ecx, dword [esi + 0x10]
mov eax, ecx
mov edx, dword [esp + 0x34]
and eax, 0xfffffffe
or ecx, 1
test bl, bl
cmove ecx, eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x10], ecx
mov word [eax], dx
jmp 0x46d480
push 5
push str.Count
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46c188
lea ecx, [edi + 0xa]
call fcn.004828e0
mov edx, dword [esp + 0x34]
mov dword [esi + 0x60], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
push 2
push 0x4de444
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46c1ef
push ecx
push eax
push eax
xor edx, edx
lea ecx, [edi + 4]
call fcn.00481e90
add esp, 0xc
test eax, eax
je case.0x46d0c5.7
lea ecx, [edi + 4]
call fcn.004828e0
mov ecx, dword [esi + 0x10]
test bl, bl
je 0x46c1d8
mov edx, dword [esp + 0x34]
or ecx, eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x10], ecx
mov word [eax], dx
jmp 0x46d480
mov edx, dword [esp + 0x34]
not eax
and eax, ecx
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
push 9
push str.ImageList
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46c226
test bl, bl
je case.0x46d0c5.7
lea ecx, [edi + 0x12]
call fcn.004828e0
mov edx, dword [esp + 0x34]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 4
jne 0x46c25f
push str.Default
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46c25c
test bl, bl
je 0x46cf14
mov eax, dword [esp + 0x2c]
or dword [esi], 1
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 5
jne 0x46c292
push str.Check3
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46c292
test bl, bl
je 0x46c946
mov eax, dword [esp + 0x2c]
or dword [esi], 6
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
push str.ReadOnly
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46c355
mov edi, dword [ebp + 0x10]
movzx eax, byte [edi + 0x30]
add eax, 0xfffffff7
cmp eax, 3
ja case.0x46d0c5.7
jmp dword [eax*4 + 0x46dfb8]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je case.0x46c37c.9
push 0
movzx eax, bl
push eax
push 0xcf
push ecx
call dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
test bl, bl
je 0x46c303
mov eax, dword [esp + 0x2c]
or dword [esi], 0x800
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x800
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
test bl, bl
je 0x46bda7
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x200
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
test bl, bl
je 0x46c563
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 8
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
push str.Multi
push edi
call fcn.0049f76e
mov edx, dword [ebp + 0x10]
add esp, 8
mov cl, byte [edx + 0x30]
test eax, eax
jne 0x46c3b2
movzx eax, cl
add eax, 0xfffffff7
cmp eax, 5
ja case.0x46d0c5.7
jmp dword [eax*4 + 0x46dfc8]
test bl, bl
je 0x46c39e
mov eax, dword [esp + 0x2c]
or dword [esi], 4
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
test bl, bl
je 0x46c387
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 4
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
cmp cl, 0xc
jne 0x46c3fd
push str.WantReturn
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46c3fa
test bl, bl
je 0x46c3e3
mov eax, dword [esp + 0x2c]
or dword [esi], 0x1000
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x1000
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov edx, dword [ebp + 0x10]
cmp byte [edx + 0x30], 0xc
jne 0x46c45f
push str.WantTab
push edi
call fcn.0049f76e
mov edx, dword [ebp + 0x10]
add esp, 8
test eax, eax
je 0x46c7f5
cmp byte [edx + 0x30], 0xc
jne 0x46c45f
push str.WantCtrlA
push edi
call fcn.0049f76e
mov edx, dword [ebp + 0x10]
add esp, 8
test eax, eax
jne 0x46c45f
mov cl, byte [edx + 0x31]
mov al, cl
and cl, 0xfd
or al, 2
movzx ecx, cl
movzx eax, al
test bl, bl
cmove ecx, eax
mov eax, dword [esp + 0x2c]
mov byte [edx + 0x31], cl
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov al, byte [edx + 0x30]
cmp al, 0xa
je 0x46c46a
cmp al, 0xb
jne 0x46c4a7
push str.WantF2
push edi
call fcn.0049f76e
mov edx, dword [ebp + 0x10]
add esp, 8
test eax, eax
jne 0x46c4a7
mov cl, byte [edx + 0x31]
mov al, cl
and cl, 0x7f
or al, 0x80
movzx ecx, cl
movzx eax, al
test bl, bl
cmove ecx, eax
mov eax, dword [esp + 0x2c]
mov byte [edx + 0x31], cl
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
cmp byte [edx + 0x30], 0xc
jne 0x46c4dd
push str.Number
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46c4dd
test bl, bl
je 0x46c59e
mov eax, dword [esp + 0x2c]
or dword [esi], 0x2000
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
push str.Lowercase
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46c53e
mov eax, dword [ebp + 0x10]
mov al, byte [eax + 0x30]
cmp al, 0xc
jne 0x46c514
test bl, bl
je 0x46c850
mov eax, dword [esp + 0x2c]
or dword [esi], 0x10
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
cmp al, 8
je case.0x46c2bb.9
cmp al, 7
jne case.0x46d0c5.7
test bl, bl
je 0x46c09a
mov eax, dword [esp + 0x2c]
or dword [esi], 0x4000
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
push str.Uppercase
push edi
call fcn.0049f76e
mov ecx, dword [ebp + 0x10]
add esp, 8
mov cl, byte [ecx + 0x30]
test eax, eax
jne 0x46c5b5
cmp cl, 0xc
jne 0x46c576
test bl, bl
je 0x46c341
mov eax, dword [esp + 0x2c]
or dword [esi], 8
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
cmp cl, 8
je 0x46c584
cmp cl, 7
jne case.0x46d0c5.7
test bl, bl
je 0x46c59e
mov eax, dword [esp + 0x2c]
or dword [esi], 0x2000
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x2000
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
cmp cl, 0xc
jne 0x46c66d
push 8
push str.Password
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46c66d
movzx eax, word [edi + 0x10]
mov word [esi + 0x188], ax
mov edx, eax
mov eax, dword [ebp + 0x10]
test bl, bl
je 0x46c63f
or dword [esi], 0x20
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x46c658
push 0
test dx, dx
jne 0x46c61f
push 0x25cf
push 0xcc
push ecx
call dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov byte [esp + 0x38], 1
mov word [eax], dx
jmp 0x46d480
push edx
push 0xcc
push ecx
call dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov byte [esp + 0x38], 1
mov word [eax], dx
jmp 0x46d480
or dword [esi + 4], 0x20
mov eax, dword [eax + 0x18]
test eax, eax
je 0x46c658
push 0
push 0
push 0xcc
push eax
call dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov byte [esp + 0x38], 1
mov word [eax], dx
jmp 0x46d480
push 5
push str.Limit
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46c6d4
test bl, bl
je 0x46c6bc
cmp word [edi + 0xa], ax
je 0x46c6a6
lea ecx, [edi + 0xa]
call fcn.004828e0
mov edx, dword [esp + 0x34]
mov dword [esi + 0x60], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov edx, dword [esp + 0x34]
or eax, 0xffffffff
mov dword [esi + 0x60], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov edx, dword [esp + 0x34]
mov eax, closesocket
mov dword [esi + 0x60], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 8
jne 0x46c70a
push str.Simple
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46c70a
test bl, bl
je 0x46cf14
mov eax, dword [esp + 0x2c]
or dword [esi], 1
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
push 4
push str.Sort
push edi
call fcn.0049f8ef
mov edx, dword [ebp + 0x10]
add esp, 0xc
mov cl, byte [edx + 0x30]
test eax, eax
jne 0x46c79a
movzx eax, cl
add eax, 0xfffffff9
cmp eax, 3
ja case.0x46d0c5.7
jmp dword [eax*4 + 0x46dfe0]
test bl, bl
je case.0x46cf4e.11
mov eax, dword [esp + 0x2c]
or dword [esi], 2
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
test bl, bl
je 0x46c786
lea eax, [edi + 8]
push str.Desc
push eax
call fcn.0049f76e
mov edx, dword [esp + 0x3c]
add esp, 8
neg eax
sbb eax, eax
and eax, 0xfffffff0
add eax, 0x20
or dword [esi], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x30
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
cmp cl, 0x10
jne 0x46c7d6
push str.Horz
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46c7d3
test bl, bl
je 0x46c9d5
mov eax, dword [esi]
mov edx, dword [esp + 0x34]
and eax, 0xffffffef
or eax, 0x40
mov dword [esi], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov edx, dword [ebp + 0x10]
cmp byte [edx + 0x30], 0x11
jne 0x46c8d1
push str.Invert
push edi
call fcn.0049f76e
mov edx, dword [ebp + 0x10]
add esp, 8
test eax, eax
jne 0x46c81d
mov cl, byte [edx + 0x31]
mov al, cl
or cl, 0x80
and al, 0x7f
movzx ecx, cl
movzx eax, al
test bl, bl
cmove ecx, eax
mov eax, dword [esp + 0x2c]
mov byte [edx + 0x31], cl
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
cmp byte [edx + 0x30], 0x11
jne 0x46c8d1
push str.NoTicks
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46c864
test bl, bl
je 0x46c850
mov eax, dword [esp + 0x2c]
or dword [esi], 0x10
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x10
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov edx, dword [ebp + 0x10]
cmp byte [edx + 0x30], 0x11
jne 0x46c8d1
push 0xc
push str.TickInterval
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46c8d1
mov byte [esi + 0x18b], 1
test bl, bl
je 0x46c8b7
or dword [esi], 1
lea ecx, [edi + 0x18]
cmp word [edi + 0x18], ax
setne al
mov byte [esi + 0x18c], al
call fcn.004828e0
mov edx, dword [esp + 0x34]
mov dword [esi + 0x3c], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
or dword [esi + 4], 1
or eax, 0xffffffff
mov edx, dword [esp + 0x34]
mov dword [esi + 0x3c], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
push 4
push str.Line
push edi
call fcn.0049f8ef
mov edx, dword [ebp + 0x10]
add esp, 0xc
mov cl, byte [edx + 0x30]
test eax, eax
jne 0x46c95a
cmp cl, 0x11
jne 0x46c913
test bl, bl
je case.0x46d0c5.7
lea ecx, [edi + 8]
call fcn.004828e0
mov edx, dword [esp + 0x34]
mov dword [esi + 0x40], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
cmp cl, 0xb
jne case.0x46d0c5.7
mov cx, word [edi + 8]
call fcn.0040f8a0
cmp ax, 0x53
jne case.0x46d0c5.7
test bl, bl
je 0x46c946
mov eax, dword [esp + 0x2c]
or dword [esi], 6
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 6
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
cmp cl, 0x11
jne 0x46c999
push 4
push str.Page
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46c996
test bl, bl
je case.0x46d0c5.7
lea ecx, [edi + 8]
call fcn.004828e0
mov edx, dword [esp + 0x34]
mov dword [esi + 0x44], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov edx, dword [ebp + 0x10]
cmp byte [edx + 0x30], 0x11
jne 0x46c9e9
push 5
push str.Thick
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46c9e9
test bl, bl
je 0x46c9d5
or dword [esi], 0x40
lea ecx, [edi + 0xa]
call fcn.004828e0
mov edx, dword [esp + 0x34]
mov dword [esi + 0x48], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x40
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
push 7
push str.ToolTip
push edi
call fcn.0049f8ef
mov ecx, dword [ebp + 0x10]
add esp, 0xc
mov cl, byte [ecx + 0x30]
test eax, eax
jne 0x46ca89
cmp cl, 0x11
jne case.0x46d0c5.7
test bl, bl
je 0x46d0fe
mov dword [esi + 0x4c], 0xffffffff
mov cx, word [edi + 0xe]
call fcn.0040f8a0
movzx eax, ax
add eax, 0xffffffbe
cmp eax, 0x12
ja case.0x46ca3a.67
movzx eax, byte [eax + 0x46e004]
jmp dword [eax*4 + 0x46dff0]
mov dword [esi + 0x4c], 0
jmp case.0x46ca3a.67
mov dword [esi + 0x4c], 1
jmp case.0x46ca3a.67
mov dword [esi + 0x4c], 2
jmp case.0x46ca3a.67
mov dword [esi + 0x4c], 3
mov eax, dword [esi + 0x4c]
xor ecx, ecx
test eax, eax
lea edx, [eax + 1]
mov eax, dword [esp + 0x2c]
cmovns ecx, edx
mov edx, dword [esp + 0x34]
mov dword [esi + 0x4c], ecx
or dword [esi], 0x100
mov word [eax], dx
jmp 0x46d480
cmp cl, 0x11
jne 0x46cb00
push 5
push str.Buddy
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46cb00
test bl, bl
je case.0x46d0c5.7
movzx ebx, word [edi + 0xa]
test bx, bx
je case.0x46d0c5.7
lea eax, [edi + 0xc]
mov edi, dword [esp + 0x1c]
push eax
mov ecx, edi
call fcn.0046fdd0
cmp eax, dword [edi + 0x5c]
jae case.0x46d0c5.7
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + eax*4]
cmp ebx, 0x31
jne 0x46caed
mov edx, dword [esp + 0x34]
mov dword [esi + 0x50], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov edx, dword [esp + 0x34]
mov dword [esi + 0x54], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
push str.Vertical
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46cb5a
mov eax, dword [ebp + 0x10]
mov al, byte [eax + 0x30]
cmp al, 0x11
jne 0x46cb37
test bl, bl
je case.0x46cf4e.11
mov eax, dword [esp + 0x2c]
or dword [esi], 2
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
cmp al, 0x12
jne case.0x46d0c5.7
test bl, bl
je 0x46c39e
mov eax, dword [esp + 0x2c]
or dword [esi], 4
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
push 5
push str.Range
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46cc2a
test bl, bl
je case.0x46d0c5.7
add edi, 0xa
cmp word [edi], ax
je case.0x46d0c5.7
mov eax, dword [ebp + 0x10]
mov al, byte [eax + 0x30]
cmp al, 0xd
je 0x46cbd6
cmp al, 0xe
je 0x46cbd6
mov ecx, edi
mov byte [esi + 0x18a], 1
call fcn.004828e0
mov dword [esi + 0x34], eax
lea eax, [edi + 2]
push 0x2d
push eax
call fcn.0049d2e2
add esp, 8
test eax, eax
je case.0x46d0c5.7
lea ecx, [eax + 2]
call fcn.004828e0
mov edx, dword [esp + 0x34]
mov dword [esi + 0x38], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
lea ebx, [esi + 0x15c]
mov ecx, edi
mov edx, ebx
call fcn.00481be0
mov dword [esi + 0x180], eax
test eax, eax
je case.0x46d3bc.68
mov edi, dword [ebp + 0x10]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je case.0x46d0c5.7
cmp byte [edi + 0x30], 0xd
mov edx, 0x1004
push ebx
push eax
mov eax, 0x1012
cmove eax, edx
push eax
push ecx
call dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x30], 0x12
jne 0x46cc60
push str.Smooth
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46cc60
test bl, bl
je 0x46cf14
mov eax, dword [esp + 0x2c]
or dword [esi], 1
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
push str.Buttons
push edi
call fcn.0049f76e
mov edx, dword [ebp + 0x10]
add esp, 8
mov cl, byte [edx + 0x30]
test eax, eax
jne 0x46ccbf
cmp cl, 0x13
jne 0x46cc9b
test bl, bl
je 0x46d0fe
mov eax, dword [esp + 0x2c]
or dword [esi], 0x100
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
cmp cl, 0xb
jne case.0x46d0c5.7
test bl, bl
je 0x46cf14
mov eax, dword [esp + 0x2c]
or dword [esi], 1
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
cmp cl, 0x13
jne 0x46cd11
push str.Bottom
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46cd0e
mov eax, dword [esi + 4]
test bl, bl
je 0x46ccf8
or dword [esi], 2
or eax, 0x80
mov edx, dword [esp + 0x34]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov edx, dword [esp + 0x34]
or eax, 2
mov dword [esi + 4], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov edx, dword [ebp + 0x10]
cmp byte [edx + 0x30], 0x18
jne 0x46cd5e
push 5
push 0x4d8470
push edi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x46cd5e
lea eax, [esp + 0x98]
add edi, 0xa
push eax
push edi
push dword [0x4e9edc]
call dword [esp + 0x70]
movzx eax, ax
mov word [esi + 0x192], ax
test ax, ax
jne case.0x46d0c5.7
mov ecx, str.Unrecognized_window_class.
jmp 0x46d45d
push str.Center
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46ce5d
mov edi, dword [ebp + 0x10]
movzx eax, byte [edi + 0x30]
dec eax
cmp eax, 0x10
ja case.0x46d0c5.7
test bl, bl
je 0x46cdf2
movzx eax, byte [eax + 0x46e02c]
jmp dword [eax*4 + 0x46e018]
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 2
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
movzx eax, byte [eax + 0x46e054]
jmp dword [eax*4 + 0x46e040]
push str.Right
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46cff8
mov edi, dword [ebp + 0x10]
movzx eax, byte [edi + 0x30]
dec eax
test bl, bl
je 0x46cf3e
cmp eax, 0x16
ja case.0x46d0c5.7
movzx eax, byte [eax + 0x46e088]
jmp dword [eax*4 + 0x46e068]
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 8
or dword [esi], 4
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi], 0x20
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi], 2
or dword [esi + 4], 0x1d
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
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 0x46cefc
cmp cl, 6
jne case.0x46d0c5.7
mov edx, dword [esp + 0x34]
or eax, 0x20
mov dword [esi], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
or dword [esi], 2
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 1
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi], 0x282
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
cmp eax, 0x12
ja case.0x46d0c5.7
movzx eax, byte [eax + 0x46e0bc]
jmp dword [eax*4 + 0x46e0a0]
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x20
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi], 4
or dword [esi + 4], 8
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [edi + 0x18]
test eax, eax
je 0x46cfb5
push 0xfffffffffffffff0
push eax
call dword [esp + 0x38]
and eax, 0x300
cmp eax, 0x300
je case.0x46d0c5.7
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x200
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov ecx, dword [esi]
mov eax, ecx
and eax, 0x300
cmp eax, 0x300
je case.0x46d0c5.7
mov eax, dword [esp + 0x2c]
and ecx, 0xfffffdff
mov edx, dword [esp + 0x34]
mov dword [esi], ecx
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x82
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
push 0x4d36b4
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x46d158
mov edi, dword [ebp + 0x10]
movzx eax, byte [edi + 0x30]
test bl, bl
je 0x46d0b2
dec eax
cmp eax, 0x12
ja case.0x46d0c5.7
movzx eax, byte [eax + 0x46e0f0]
jmp dword [eax*4 + 0x46e0d0]
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 4
or dword [esi], 8
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
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 0x46d06e
cmp cl, 6
jne case.0x46d0c5.7
mov edx, dword [esp + 0x34]
or eax, 0x20
mov dword [esi + 4], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 3
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi], 0x280
or dword [esi + 4], 2
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
add eax, 0xfffffffd
cmp eax, 0x10
ja case.0x46d0c5.7
movzx eax, byte [eax + 0x46e114]
jmp dword [eax*4 + 0x46e104]
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0xc
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [edi + 0x18]
test eax, eax
je 0x46d115
push 0xfffffffffffffff0
push eax
call dword [esp + 0x38]
and eax, 0x300
cmp eax, 0x300
je case.0x46d0c5.7
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x100
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov ecx, dword [esi]
mov eax, ecx
and eax, 0x300
cmp eax, 0x300
je case.0x46d0c5.7
mov eax, dword [esp + 0x2c]
and ecx, 0xfffffeff
mov edx, dword [esp + 0x34]
mov dword [esi], ecx
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
or dword [esi + 4], 0x80
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
push ecx
push 0
push 1
xor edx, edx
mov ecx, edi
call fcn.00481e90
add esp, 0xc
test eax, eax
je 0x46d19d
mov ecx, edi
call fcn.004828e0
test bl, bl
je 0x46d18a
or dword [esi], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
or dword [esi + 4], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov cx, word [edi]
call fcn.0040f8a0
cmp word [edi + 2], 0
lea ecx, [edi + 2]
movzx eax, ax
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ecx
jne 0x46d210
movzx eax, ax
cmp eax, 0x43
je 0x46d1f5
cmp eax, 0x56
jne case.0x46d3bc.68
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x46d1de
push eax
call fcn.0049f86f
add esp, 4
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov dword [ebx + 0x1c], 0
mov word [eax], dx
jmp 0x46d480
test bl, bl
jne 0x46d200
mov dword [esi + 0x58], 0xff000000
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
push eax
push str.XYWHTER
mov dword [esp + 0x28], 0
call fcn.0049d2e2
add esp, 8
test eax, eax
je 0x46d392
mov eax, dword [esp + 0x18]
mov cx, word [eax]
call fcn.0040f8a0
movzx ecx, ax
mov eax, dword [esp + 0x24]
movzx eax, ax
add eax, 0xffffffb8
mov dword [esp + 0x28], ecx
cmp eax, 0x11
ja case.0x46d257.73
movzx eax, byte [eax + 0x46e134]
jmp dword [eax*4 + 0x46e128]
cmp ecx, 0x50
jne case.0x46d257.73
add dword [esp + 0x18], 2
jmp case.0x46d257.73
mov eax, dword [esp + 0x18]
cmp word [eax], 0x2b
lea ecx, [eax + 2]
mov dword [esp + 0x48], ecx
jne 0x46d299
mov cx, word [ecx]
call fcn.0040f8a0
mov ecx, 0x4d
cmp cx, ax
jne 0x46d299
add dword [esp + 0x18], 4
mov byte [esp + 0x12], 1
jmp case.0x46d257.73
push dword [esp + 0x28]
mov byte [esp + 0x16], 0
push str.MPS
call fcn.0049d2e2
mov edx, dword [esp + 0x20]
add esp, 8
test eax, eax
cmovne edx, dword [esp + 0x48]
mov dword [esp + 0x18], edx
push ecx
mov ecx, dword [esp + 0x1c]
mov edx, 1
push 1
push 0
call fcn.00481e90
add esp, 0xc
sub eax, 1
je 0x46d31f
sub eax, 1
je 0x46d2fe
mov eax, dword [esp + 0x18]
cmp word [eax], 0
jne 0x46d2f1
mov edx, dword [esp + 0x28]
test dx, dx
jne 0x46d341
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, eax
jmp 0x46d3a6
mov ecx, dword [esp + 0x18]
call fcn.00419d50
mov edx, dword [esp + 0x28]
cvtsd2ss xmm0, xmm0
cvttss2si ecx, xmm0
movss dword [esp + 0x3c], xmm0
mov dword [esp + 0x20], ecx
jmp 0x46d345
mov ecx, dword [esp + 0x18]
call fcn.004828e0
mov edx, dword [esp + 0x28]
mov ecx, eax
mov dword [esp + 0x20], ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x3c], xmm0
jmp 0x46d345
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
cmp ax, 0x58
je 0x46d36c
cmp ax, 0x59
je 0x46d36c
cmp ax, 0x57
je 0x46d361
cmp ax, 0x48
jne 0x46d39e
cmp ecx, 0xffffffff
jne 0x46d36c
cmp dx, 0x50
jne 0x46d39e
mov edx, dword [esp + 0x1c]
cmp byte [edx + 0xc6], 0
je 0x46d3a2
push 0x60
push dword [0x4eb0e0]
push ecx
call dword [esp + 0x50]
mov edx, dword [esp + 0x1c]
mov ecx, eax
mov eax, dword [esp + 0x24]
jmp 0x46d3a6
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov edx, dword [esp + 0x1c]
jmp 0x46d3a6
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
movzx eax, ax
add eax, 0xffffffbd
cmp eax, 0x16
ja case.0x46d3bc.68
movzx eax, byte [eax + 0x46e170]
jmp dword [eax*4 + 0x46e148]
mov eax, dword [esi + 0x138]
cmp eax, 0x32
jae case.0x46d0c5.7
mov edx, dword [esp + 0x34]
mov dword [esi + eax*4 + 0x70], ecx
mov eax, dword [esp + 0x2c]
inc dword [esi + 0x138]
mov word [eax], dx
jmp 0x46d480
push dword [esp + 0x18]
mov ecx, edx
push dword [ebp + 0x10]
call fcn.00465410
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov ebx, dword [esp + 0x18]
mov ecx, ebx
call fcn.004836d0
mov dword [esi + 0x58], eax
cmp eax, 0xffffffff
jne case.0x46d0c5.7
push 0x10
lea eax, [esp + 0x44]
push eax
push ebx
call fcn.004a1697
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 + 0x40]
mov dword [esi + 0x58], edx
cmp word [eax], 0
je case.0x46d0c5.7
mov ecx, str.Invalid_option.
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
push 9
mov word [eax], dx
mov edx, edi
call fcn.00430e80
add esp, 4
test eax, eax
je 0x46d9d5
mov eax, dword [esp + 0x2c]
mov edi, eax
movzx eax, word [edi]
cmp eax, 0x20
je 0x46d493
cmp eax, 9
jne 0x46d986
add edi, 2
jmp 0x46d482
mov ebx, dword [esp + 0x28]
cmp bx, 0x50
jne 0x46d4ba
mov eax, dword [edx + 0x8c]
mov edx, dword [esp + 0x34]
add eax, ecx
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov edx, dword [esp + 0x34]
mov eax, ecx
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
cmp word [esp + 0x28], 0x50
jne 0x46d4ec
mov eax, dword [edx + 0x90]
mov edx, dword [esp + 0x34]
add eax, ecx
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov edx, dword [esp + 0x34]
mov eax, ecx
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov ebx, dword [esp + 0x28]
cmp bx, 0x2b
jne 0x46d628
cmp byte [esp + 0x12], 0
je 0x46d51b
mov eax, dword [edx + 0x7c]
jmp 0x46d51d
xor eax, eax
add eax, ecx
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x10]
mov ah, byte [eax + 0x32]
mov byte [esp + 0x13], ah
cmp ah, 0xff
je 0x46d56a
mov ecx, dword [esp + 0x1c]
xor al, al
xor edx, edx
mov ebx, dword [ecx + 0x5c]
test ebx, ebx
je 0x46d56a
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0x48], ecx
nop dword [eax + eax]
mov edi, dword [ecx]
mov dword [esp + 0x20], edi
cmp byte [edi + 0x30], 0x13
jne 0x46d562
cmp al, ah
je 0x46d5a7
inc al
inc edx
add ecx, 4
cmp edx, ebx
jb 0x46d550
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0x8c]
add eax, dword [edi + 0x84]
add eax, dword [esp + 0x24]
cmp dword [esi + 0x20], 0x80000000
mov dword [esi + 0x1c], eax
jne case.0x46d0c5.7
mov eax, dword [edi + 0x88]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
test edi, edi
je 0x46d56a
mov ecx, dword [ebp + 0x10]
xor edx, edx
mov bh, byte [esp + 0x13]
xor eax, eax
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x1c]
mov bl, byte [ecx + 0x33]
mov ecx, dword [esi + eax*4]
cmp byte [ecx + 0x33], bl
jne 0x46d5cf
cmp byte [ecx + 0x32], bh
jne 0x46d5cf
inc edx
inc eax
cmp eax, dword [edi + 0x5c]
jb 0x46d5c1
mov esi, dword [ebp + 0xc]
mov edi, dword [esp + 0x20]
test edx, edx
jne 0x46d56a
lea eax, [esp + 0x68]
push eax
push dword [edi + 0x18]
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.00472ad0
mov eax, dword [esp + 0x68]
add eax, dword [esp + 0x24]
cmp dword [esi + 0x20], 0x80000000
mov ecx, dword [esp + 0x6c]
mov dword [esi + 0x1c], eax
jne case.0x46d0c5.7
mov eax, dword [esp + 0x2c]
add ecx, dword [edi + 0x80]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x20], ecx
mov word [eax], dx
jmp 0x46d480
cmp bx, 0x4d
jne 0x46d666
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0x7c]
add eax, ecx
cmp dword [esi + 0x20], 0x80000000
mov dword [esi + 0x1c], eax
jne case.0x46d0c5.7
mov eax, dword [edi + 0x98]
add eax, dword [edi + 0x80]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
cmp bx, 0x50
jne 0x46d6b7
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0x84]
add eax, ecx
cmp dword [esi + 0x20], 0x80000000
mov dword [esi + 0x1c], eax
jne case.0x46d0c5.7
mov ecx, dword [edi + 0x88]
cmp eax, dword [edi + 0x84]
jne 0x46d6a4
mov eax, dword [edi + 0x90]
add eax, dword [edi + 0x80]
add ecx, eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x20], ecx
mov word [eax], dx
jmp 0x46d480
cmp bx, 0x53
jne 0x46d6f8
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0x9c]
add eax, ecx
cmp dword [esi + 0x20], 0x80000000
mov dword [esi + 0x1c], eax
jne case.0x46d0c5.7
mov eax, dword [edi + 0xa8]
add eax, dword [edi + 0x80]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
cmp dword [esi + 0x20], 0x80000000
mov dword [esi + 0x1c], ecx
jne case.0x46d0c5.7
mov eax, dword [edx + 0x98]
add eax, dword [edx + 0x80]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov ebx, dword [esp + 0x28]
cmp bx, 0x2b
jne 0x46d84c
cmp byte [esp + 0x12], 0
je 0x46d744
mov eax, dword [edx + 0x80]
jmp 0x46d746
xor eax, eax
add eax, ecx
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x10]
mov ah, byte [eax + 0x32]
mov byte [esp + 0x13], ah
cmp ah, 0xff
je 0x46d78b
mov ecx, dword [esp + 0x1c]
xor al, al
xor edx, edx
mov ebx, dword [ecx + 0x5c]
test ebx, ebx
je 0x46d78b
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0x48], ecx
mov edi, dword [ecx]
mov dword [esp + 0x20], edi
cmp byte [edi + 0x30], 0x13
jne 0x46d783
cmp al, ah
je 0x46d7c8
inc al
inc edx
add ecx, 4
cmp edx, ebx
jb 0x46d771
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0x90]
add eax, dword [edi + 0x88]
add eax, dword [esp + 0x24]
cmp dword [esi + 0x1c], 0x80000000
mov dword [esi + 0x20], eax
jne case.0x46d0c5.7
mov eax, dword [edi + 0x84]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
test edi, edi
je 0x46d78b
mov ecx, dword [ebp + 0x10]
xor edx, edx
mov bh, byte [esp + 0x13]
xor eax, eax
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x1c]
mov bl, byte [ecx + 0x33]
mov ecx, dword [esi + eax*4]
cmp byte [ecx + 0x33], bl
jne 0x46d7f0
cmp byte [ecx + 0x32], bh
jne 0x46d7f0
inc edx
inc eax
cmp eax, dword [edi + 0x5c]
jb 0x46d7e2
mov esi, dword [ebp + 0xc]
mov edi, dword [esp + 0x20]
test edx, edx
jne 0x46d78b
lea eax, [esp + 0x78]
push eax
push dword [edi + 0x18]
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.00472ad0
mov eax, dword [esp + 0x7c]
add eax, dword [esp + 0x24]
cmp dword [esi + 0x1c], 0x80000000
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x48], ecx
mov dword [esi + 0x20], eax
jne case.0x46d0c5.7
mov eax, dword [edi + 0x7c]
mov edx, dword [esp + 0x34]
add eax, ecx
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
cmp bx, 0x4d
jne 0x46d88a
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0x80]
add eax, ecx
cmp dword [esi + 0x1c], 0x80000000
mov dword [esi + 0x20], eax
jne case.0x46d0c5.7
mov eax, dword [edi + 0x94]
add eax, dword [edi + 0x7c]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
cmp bx, 0x50
jne 0x46d8db
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0x88]
add eax, ecx
cmp dword [esi + 0x1c], 0x80000000
mov dword [esi + 0x20], eax
jne case.0x46d0c5.7
mov ecx, dword [edi + 0x84]
cmp eax, dword [edi + 0x88]
jne 0x46d8c8
mov eax, dword [edi + 0x8c]
add eax, dword [edi + 0x80]
add ecx, eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x1c], ecx
mov word [eax], dx
jmp 0x46d480
cmp bx, 0x53
jne 0x46d919
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0xa0]
add eax, ecx
cmp dword [esi + 0x1c], 0x80000000
mov dword [esi + 0x20], eax
jne case.0x46d0c5.7
mov eax, dword [edi + 0xa4]
add eax, dword [edi + 0x7c]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
cmp dword [esi + 0x1c], 0x80000000
mov dword [esi + 0x20], ecx
jne case.0x46d0c5.7
mov eax, dword [edx + 0x94]
add eax, dword [edx + 0x7c]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov word [eax], dx
jmp 0x46d480
mov eax, dword [esp + 0x2c]
movss xmm0, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
movss dword [esi + 0x2c], xmm0
mov word [eax], dx
jmp 0x46d480
test bl, bl
je 0x46d973
mov eax, dword [esp + 0x2c]
or dword [esi + 8], ecx
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
or dword [esi + 0xc], ecx
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov word [eax], dx
jmp 0x46d480
mov ecx, eax
test ax, ax
jne 0x46b752
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x46df7e
push 0xfffffffffffffff0
push eax
call ecx
mov edx, dword [esi + 4]
mov edi, eax
mov ebx, edi
mov dword [esp + 0x3c], 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.0x46d9ce.9
jmp dword [eax*4 + 0x46e188]
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.0x46d9ce.9
and ebx, 0xfffffff7
or ebx, 7
jmp case.0x46d9ce.9
test bl, 1
je 0x46da06
and ebx, 0xfffffff1
or ebx, 1
jmp 0x46da09
and ebx, 0xfffffff0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x64]
mov eax, dword [ebp + 0x14]
cmp eax, ecx
jne 0x46da47
test dl, 1
je case.0x46d9ce.9
mov eax, dword [esp + 0x1c]
push 0
push 1
push 0x401
push dword [eax + 0x1c]
mov dword [eax + 0x64], 0xffffffff
call dword [esp + 0x24]
or edi, 1
mov dword [esp + 0x3c], edi
jmp case.0x46d9ce.9
test byte [esi], 1
je case.0x46d9ce.9
mov edx, dword [esp + 0x1c]
cmp ecx, dword [edx + 0x5c]
jae 0x46da90
mov eax, dword [edx + 0x2c]
push 1
push 0xfffffffffffffff0
mov eax, dword [eax + ecx*4]
push dword [eax + 0x18]
call dword [esp + 0x3c]
and eax, 0xfffe
push eax
mov eax, dword [esp + 0x24]
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 + 0x24]
mov eax, dword [ebp + 0x14]
mov edx, dword [esp + 0x1c]
push 0
mov dword [edx + 0x64], eax
add eax, 3
push eax
push 0x401
push dword [edx + 0x1c]
call dword [esp + 0x24]
jmp case.0x46d9ce.9
mov eax, ebx
and eax, 6
cmp al, 6
jne 0x46dab8
and ebx, 0xfffffff6
or ebx, 6
jmp case.0x46d9ce.9
and ebx, 0xfffffff3
or ebx, 3
jmp case.0x46d9ce.9
and ebx, 0xfffffff9
or ebx, 9
jmp case.0x46d9ce.9
test bl, 1
je 0x46dad5
and ebx, 0xfffffff1
or ebx, 1
jmp case.0x46d9ce.9
and ebx, 0xfffffff2
or ebx, 2
jmp case.0x46d9ce.9
mov eax, dword [esi + 0x14]
cmp eax, 0xffffffff
je case.0x46d9ce.9
push 0
push eax
push 0x108e
push dword [ecx + 0x18]
call dword [esp + 0x24]
mov eax, dword [esi + 0x14]
cmp eax, 4
je case.0x46d9ce.9
and ebx, 0xfffffffc
or ebx, eax
mov eax, dword [esi + 0x60]
mov edx, dword [ebp + 0x10]
test eax, eax
je 0x46db6b
mov cl, byte [edx + 0x30]
cmp cl, 0xc
jne 0x46db49
mov ecx, dword [edx + 0x18]
push 0
test eax, eax
jns 0x46db41
push 0
push 0xc5
push ecx
call dword [esp + 0x24]
cmp dword [esi + 0x60], 0x80000000
mov edx, dword [ebp + 0x10]
je 0x46db6b
test bl, 4
jne 0x46db6b
and ebx, 0xffefff7f
jmp 0x46db6b
push eax
push 0xc5
jmp 0x46db63
cmp cl, 0xf
jne 0x46db6b
mov ecx, dword [edx + 0x18]
test eax, eax
jns 0x46db5b
push 0
push 0
jmp 0x46db5e
push 6
push eax
push 0x403
push ecx
call dword [esp + 0x24]
mov edx, dword [ebp + 0x10]
mov byte [esp + 0x12], 0
cmp edi, ebx
je 0x46dc67
mov al, byte [edx + 0x30]
mov byte [esp + 0x12], 1
mov byte [esp + 0x18], 0
cmp al, 4
je 0x46dc0d
cmp al, 9
je 0x46dbb2
cmp al, 0x12
jne 0x46dc1f
push 0
push 0
push 0x408
push dword [edx + 0x18]
call dword [esp + 0x24]
mov dword [esp + 0x44], eax
jmp 0x46dc1f
mov eax, edi
and eax, 0x100000
test ebx, 0x100000
je 0x46dbfe
test eax, eax
jne 0x46dc1f
mov eax, dword [esi + 0x64]
test eax, eax
jns 0x46dbf4
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 0x46dc18
test eax, eax
je 0x46dc1f
push 0
push 0
push 0x194
jmp 0x46dc18
push 1
movzx eax, bx
push eax
push 0xf4
push dword [edx + 0x18]
call dword [esp + 0x24]
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 0x46dc44
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x46dc6f
mov eax, dword [ebp + 0x10]
push 0xfffffffffffffff0
push dword [eax + 0x18]
call dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
cmp eax, edi
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [esp + 0x18], ecx
jmp 0x46dc6f
mov al, byte [esp + 0x13]
mov dword [esp + 0x18], eax
mov al, byte [esp + 0x12]
mov byte [esp + 0x13], al
mov eax, dword [ebp + 0x10]
push 0xffffffffffffffec
push dword [eax + 0x18]
call dword [esp + 0x38]
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0xc]
or edi, eax
not ecx
mov dword [esp + 0x40], eax
and edi, ecx
cmp eax, edi
je 0x46dd0d
mov cl, byte [esp + 0x12]
movzx eax, cl
test cl, cl
mov ecx, 1
cmove eax, ecx
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x18]
and al, byte [esp + 0x13]
push 0
mov dword [esp + 0x1c], eax
mov byte [esp + 0x17], 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 0x46dced
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x46dd10
push 0xffffffffffffffec
push dword [edi + 0x18]
call dword [esp + 0x38]
cmp eax, dword [esp + 0x40]
mov eax, 1
movzx ecx, byte [esp + 0x13]
cmovne ecx, eax
mov byte [esp + 0x18], cl
jmp 0x46dd10
mov edi, dword [ebp + 0x10]
cmp byte [edi + 0x30], 0xa
jne 0x46dd6e
push 0
push 0
push 0x1037
push dword [edi + 0x18]
call dword [esp + 0x24]
mov edi, eax
mov eax, dword [esi + 0x10]
cmp edi, eax
je 0x46dd6e
cmp byte [esp + 0x12], 0
jne 0x46dd40
mov byte [esp + 0x12], 1
mov byte [esp + 0x18], 0
push eax
mov eax, dword [ebp + 0x10]
push 0
push 0x1036
push dword [eax + 0x18]
call dword [esp + 0x24]
mov eax, dword [ebp + 0x10]
push 0
push 0
push 0x1037
push dword [eax + 0x18]
call dword [esp + 0x24]
cmp eax, edi
je 0x46dd75
mov byte [esp + 0x18], 1
cmp byte [esp + 0x12], 0
je 0x46dd8d
mov eax, dword [esp + 0x38]
mov ecx, 1
cmp byte [esp + 0x18], 0
movzx eax, al
cmovne eax, ecx
mov dword [esp + 0x38], eax
mov edi, dword [ebp + 0x10]
movzx eax, byte [edi + 0x30]
add eax, 0xfffffff7
cmp eax, 0x10
ja case.0x46dda3.13
movzx eax, byte [eax + 0x46e1d0]
jmp dword [eax*4 + 0x46e1ac]
cmp byte [esi + 0x18a], 0
mov ebx, dword [esp + 0x14]
je 0x46ddf8
push dword [esi + 0x38]
push dword [esi + 0x34]
push 0x46f
push dword [edi + 0x18]
call ebx
jmp 0x46ddf8
push esi
push edi
call fcn.004722a0
test dword [esi + 4], 0x100
mov ebx, dword [esp + 0x14]
je 0x46ddf8
push 0
push 0
push 0x41d
push dword [edi + 0x18]
call ebx
jmp 0x46ddf8
push esi
push edi
call fcn.004723b0
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 0x58]
cmp eax, 0xffffffff
je 0x46de0c
push eax
push edi
call fcn.00465900
mov byte [esp + 0x38], 1
mov ecx, dword [esi + 0x184]
test ecx, ecx
je 0x46de37
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 0x46de37
cmp byte [edi + 0x30], 0xb
jne 0x46de3e
cmp byte [esp + 0x38], 0
je 0x46de4b
push 1
push 0
push dword [edi + 0x18]
call dword [sym.imp.USER32.dll_InvalidateRect]
cmp byte [esp + 0x12], 0
je 0x46df7e
cmp byte [esp + 0x18], 0
jne 0x46df7e
push 0
push 0
push dword [0x4eb750]
mov ecx, 0x4eb110
push 0x4d1e48
push str.Failed
call fcn.0042fef0
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 + 0x14]
cmp eax, ecx
je 0x46deb5
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 0x46ddf8
cmp eax, 0xff000000
cmove eax, ecx
push eax
push 0
push 0x111d
push dword [edi + 0x18]
call ebx
jmp 0x46ddf8
push ebx
push esi
push edi
call fcn.00472460
cmp dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x14]
je 0x46ddf8
push 0
push dword [esp + 0x48]
push 0x402
push dword [edi + 0x18]
call ebx
jmp 0x46ddf8
mov ecx, dword [esi + 0x138]
mov ebx, dword [esp + 0x14]
test ecx, ecx
je 0x46ddf8
lea eax, [esi + 0x70]
push eax
push ecx
push 0xcb
push dword [edi + 0x18]
call ebx
mov byte [esp + 0x38], 1
jmp 0x46ddf8
mov ecx, dword [esi + 0x138]
mov ebx, dword [esp + 0x14]
test ecx, ecx
je 0x46ddf8
lea eax, [esi + 0x70]
push eax
push ecx
push 0x192
push dword [edi + 0x18]
call ebx
mov byte [esp + 0x38], 1
jmp 0x46ddf8
mov eax, dword [esi + 0x5c]
cmp eax, 0xffffffff
je case.0x46dda3.13
mov ebx, dword [esp + 0x14]
push eax
push 0
push 0x2001
push dword [edi + 0x18]
call ebx
jmp 0x46ddf8
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x10