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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4acf71
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa64
push edi
mov edi, ecx
mov dword [ebp - 0x74], edi
mov ecx, dword [edi + 0x10]
cmp ecx, 0x2af8
jb 0x461eb4
push 0x4c602c
push str.Too_many_controls.
mov ecx, 0x4de0d0
call fcn.004354a0
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi + 0x14]
cmp ecx, eax
jb 0x461ee0
lea eax, [eax + eax*4]
add eax, 0x1388
shl eax, 2
push eax
push dword [edi + 0x18]
call fcn.00495d58
add esp, 8
test eax, eax
je 0x461e8f
add dword [edi + 0x14], 0x3e8
mov dword [edi + 0x18], eax
mov eax, dword [edi + 0x10]
xorps xmm0, xmm0
push esi
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x18]
movups xmmword [eax + ecx*4], xmm0
mov dword [eax + ecx*4 + 0x10], 0
lea esi, [eax + ecx*4]
push esi
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x6c], esi
push eax
call fcn.00467990
mov al, byte [ebp + 8]
cmp al, 0x14
jne 0x461f1d
or byte [esi + 5], 0x80
mov byte [ebp + 8], 0x13
jmp 0x461f31
cmp al, 0x15
jne 0x461f2d
mov byte [ebp + 8], 0x13
mov word [ebp - 0x79], 0x301
jmp 0x461f31
cmp al, 0x13
jne 0x461f8a
cmp byte [edi + 0xb8], 0xff
jne 0x461f60
push 0x4c602c
push str.Too_many_tab_controls.
mov ecx, 0x4de0d0
call fcn.004354a0
pop esi
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov byte [esi + 6], 0xff
mov ecx, edi
mov al, byte [edi + 0xb8]
mov byte [esi + 7], al
movzx eax, byte [edi + 0xb9]
push eax
call fcn.0046c060
test eax, eax
je 0x461fd2
push eax
mov ecx, edi
call fcn.0046c4b0
jmp 0x461fd2
cmp al, 0x19
jne 0x461fc0
cmp dword [edi + 8], 0
je 0x461fba
push 0x4c602c
push str.Too_many_status_bars.
mov ecx, 0x4de0d0
call fcn.004354a0
pop esi
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov byte [esi + 6], 0xff
jmp 0x461fd2
mov al, byte [edi + 0xb9]
mov byte [esi + 6], al
mov al, byte [edi + 0xba]
mov byte [esi + 7], al
cmp dword [edi + 0x10], 0
mov edx, dword [sym.imp.KERNEL32.dll_MulDiv]
jne 0x462069
cmp dword [edi + 0x78], 0x80000000
jne 0x462024
imul ecx, dword [edi + 0x50], 0x94
mov eax, dword [0x4ddfbc]
push 0x60
push dword [0x4de07c]
movd xmm0, dword [ecx + eax + 0x84]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x4d30e8]
cvttsd2si eax, xmm0
push eax
call edx
mov edx, dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [edi + 0x78], eax
cmp dword [edi + 0x7c], 0x80000000
jne 0x462060
imul ecx, dword [edi + 0x50], 0x94
mov eax, dword [0x4ddfbc]
push 0x60
push dword [0x4de07c]
movd xmm0, dword [ecx + eax + 0x84]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x4d30d0]
cvttsd2si eax, xmm0
push eax
call edx
mov dword [edi + 0x7c], eax
mov eax, dword [edi + 0x78]
mov dword [edi + 0x80], eax
mov dl, byte [ebp + 8]
mov byte [esi + 4], dl
mov ecx, dword [ebp - 0x20c]
mov al, byte [edi + 0x45]
or ecx, 0x10000000
mov dword [ebp - 0x20c], ecx
mov byte [ebp - 0x7b], al
cmp dl, 6
jne 0x4620ac
or ecx, 0x4000
cmp byte [edi + 0x44], 0
mov dword [ebp - 0x20c], ecx
jne 0x4620d2
or ecx, 0x20000
mov dword [ebp - 0x20c], ecx
jmp 0x4620d2
cmp byte [edi + 0x44], 0
je 0x4620be
or ecx, 0x20000
mov dword [ebp - 0x20c], ecx
cmp dl, 2
je 0x4620f3
cmp dl, 0x10
je 0x4620f3
cmp dl, 0x11
je 0x4620f3
cmp dl, 0x12
je 0x4620f3
cmp byte [esi + 4], 0xa
mov byte [ebp - 0x37], 1
je 0x4620e8
mov eax, dword [edi + 0x54]
mov dword [esi + 0x10], eax
mov ecx, dword [ebp - 0x20c]
mov eax, dword [edi + 0x54]
mov dword [ebp - 0x1b0], eax
jmp 0x462109
mov byte [ebp - 0x37], 0
cmp dl, 0x12
jne 0x462109
mov dword [esi + 0x10], 0xff000000
mov ecx, dword [ebp - 0x20c]
movzx eax, dl
mov dword [ebp - 0x30], eax
add eax, 0xfffffffc
cmp eax, 0x15
ja case.0x46211b.6
jmp dword [eax*4 + 0x4649d8]
or ecx, 0x210000
jmp 0x4621eb
or ecx, 0x210042
jmp 0x4621eb
or ecx, 0x210080
or dword [ebp - 0x204], 0x200
jmp 0x4621eb
or dword [ebp - 0x1fc], 0x30
or ecx, 0x10008
or dword [ebp - 0x204], 0x200
mov dword [ebp - 0x1f8], 1
jmp 0x4621eb
or ecx, 0x10027
or dword [ebp - 0x204], 0x200
jmp 0x4621eb
or ecx, 0x10000
or dword [ebp - 0x204], 0x200
jmp 0x4621eb
or ecx, 0x36
jmp 0x4621eb
or ecx, 0x1000c
jmp 0x4621eb
or ecx, 1
jmp 0x4621eb
movzx eax, byte [ebp - 0x7b]
xor edx, edx
cmp byte [ebp - 0x79], dl
cmove eax, edx
or ecx, 0x10200
mov byte [ebp - 0x7b], al
jmp 0x4621eb
or ecx, 0x4000000
jmp 0x4621eb
test dword [edi + 0x3c], 0x40000
je 0x4621d4
or ecx, 0x100
or ecx, 0x800
jmp 0x4621eb
cmp byte [0x4ded93], 0
je case.0x46211b.6
or ecx, 0x10000
mov dword [ebp - 0x20c], ecx
push 0
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x20c]
mov ecx, edi
push eax
push dword [ebp + 0xc]
call fcn.00465560
test eax, eax
jne 0x46221d
pop esi
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov dl, byte [ebp + 8]
mov eax, dword [ebp - 0x1b0]
cmp dl, 0xa
je 0x46222e
mov eax, dword [esi + 0x10]
cmp eax, 0xff000000
mov eax, dword [ebp - 0x1ac]
setne byte [ebp - 0x7d]
cmp eax, 0xff000000
jne 0x462255
cmp dl, 0xb
je 0x462276
mov dword [ebp - 0x1ac], 0xffffffff
jmp 0x462276
cmp eax, 0xffffffff
jne 0x462276
mov ecx, dword [edi + 0x5c]
cmp ecx, 0xff000000
je 0x462276
cmp dl, 0x12
je 0x462276
cmp dl, 0x19
cmovne eax, ecx
mov dword [ebp - 0x1ac], eax
cmp dword [ebp - 0x1e4], 0x80000000
mov edx, dword [ebp - 0x208]
movss xmm1, dword [0x4d30b8]
jne 0x4622c5
cmp dword [ebp - 0x1e0], 0x80000000
jne 0x4622c5
movss xmm0, dword [ebp - 0x1dc]
comiss xmm0, xmm1
ja 0x4622c5
mov ecx, dword [ebp + 0x10]
mov edx, 0x4d1a78
call fcn.004053e1
mov edx, dword [ebp - 0x208]
test eax, eax
jne 0x4622c5
mov dword [ebp - 0x1c], eax
jmp 0x4622d1
mov eax, edx
not eax
and eax, 0x2000
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x200]
mov ecx, edx
not eax
not ecx
and eax, dword [ebp - 0x204]
and ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x28], eax
or ecx, 0x40000000
mov eax, dword [ebp - 0x30]
add eax, 0xfffffffd
mov dword [ebp - 0x10], ecx
cmp eax, 0x10
ja case.0x46230b.10
movzx eax, byte [eax + 0x464a58]
jmp dword [eax*4 + 0x464a30]
and ecx, 0xfffffff7
or ecx, 7
mov dword [ebp - 0x10], ecx
jmp case.0x46230b.10
test cl, 1
je 0x462336
and ecx, 0xfffffff1
or ecx, 1
or ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ecx
jmp case.0x46230b.10
and ecx, 0xfffffff0
or ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ecx
jmp case.0x46230b.10
mov eax, ecx
and eax, 6
cmp al, 6
jne 0x46235e
and ecx, 0xfffffff6
or ecx, 6
or ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ecx
jmp case.0x46230b.10
and ecx, 0xfffffff3
or ecx, 3
or ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ecx
jmp case.0x46230b.10
and ecx, 0xfffffff9
or ecx, 9
test ecx, 0x20000
je 0x46238b
test edx, 0x10000
jne 0x46238b
or ecx, 0x10000
or ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ecx
jmp case.0x46230b.10
or ecx, 3
mov dword [ebp - 0x10], ecx
jmp case.0x46230b.10
test cl, 1
je 0x4623b4
and ecx, 0xfffffff1
or ecx, 1
mov dword [ebp - 0x10], ecx
jmp case.0x46230b.10
and ecx, 0xfffffff2
or ecx, 2
mov dword [ebp - 0x10], ecx
jmp case.0x46230b.10
movss xmm0, dword [ebp - 0x1dc]
comiss xmm0, xmm1
ja 0x4623e9
push 0xa
push dword [ebp + 0x10]
call fcn.00492ca4
mov edx, dword [ebp - 0x208]
add esp, 8
mov ecx, dword [ebp - 0x10]
test eax, eax
je 0x4623f5
mov eax, edx
not eax
and eax, 4
or ecx, eax
mov dword [ebp - 0x10], ecx
test cl, 4
je case.0x46230b.10
not edx
and edx, 0x201040
or ecx, edx
mov dword [ebp - 0x10], ecx
jmp case.0x46230b.10
or ecx, 0x4000000
cmp dword [edi + 0x60], 0
je 0x46241b
test byte [esi + 5], 0x20
je 0x462424
cmp dword [esi + 0x10], 0xff000000
je 0x462430
or ecx, 0x2000
mov byte [ebp - 0x7b], 0
jmp 0x462436
and ecx, 0xffffdfff
cmp dword [ebp - 0x1e4], 0x80000000
mov al, byte [ebp - 0x78]
mov dword [ebp - 0x10], ecx
je 0x46244d
and al, 0xfe
mov byte [ebp - 0x78], al
cmp dword [ebp - 0x1e0], 0x80000000
je case.0x46230b.10
and al, 0xfd
mov byte [ebp - 0x78], al
cmp byte [ebp + 8], 4
jne 0x4625d4
cmp dword [esi + 0xc], 0
lea eax, [esi + 0xc]
jne 0x4625d4
test byte [esi + 5], 1
jne 0x4625d4
mov ecx, dword [edi]
cmp word [ecx], 0x31
jne 0x462499
cmp word [ecx + 2], 0
jne 0x462499
xor eax, eax
mov word [ebp - 0xa70], ax
jmp 0x4624b1
lea edx, [ebp - 0xa70]
sub edx, ecx
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x4624a1
push dword [ebp + 0x10]
lea eax, [ebp - 0xa70]
push str.Button_s
push 0x400
push eax
call fcn.00478320
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x4c602c
mov edx, 0x4d1a94
lea ecx, [ebp - 0xa70]
call fcn.00478ae0
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x4c602c
mov edx, 0x4d0b8c
lea ecx, [ebp - 0xa70]
call fcn.00478ae0
add esp, 0x40
lea ecx, [ebp - 0xa70]
mov edx, 0x4ce624
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x4c602c
call fcn.00478ae0
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x4c602c
mov edx, 0x4ce9c4
lea ecx, [ebp - 0xa70]
call fcn.00478ae0
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x4c602c
mov edx, 0x4d12c4
lea ecx, [ebp - 0xa70]
call fcn.00478ae0
add esp, 0x48
lea ecx, [ebp - 0xa70]
mov edx, 0x4d1a98
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x4c602c
call fcn.00478ae0
add esp, 0x18
cmp word [ebp - 0xa70], 0
je 0x4625c9
lea eax, [ebp - 0xa70]
mov ecx, 0x4de0d0
push eax
call fcn.00420320
test eax, eax
jne 0x4625cb
push eax
push eax
lea eax, [ebp - 0xa70]
mov ecx, 0x4de0d0
push eax
call fcn.00427570
test eax, eax
je 0x4625c9
cmp dword [eax + 0x14], 4
jle 0x4625cb
xor eax, eax
push eax
lea ecx, [esi + 0xc]
call fcn.00401590
mov al, byte [esi + 6]
mov ecx, edi
push eax
mov dword [ebp + 0xc], eax
call fcn.0046c060
mov edx, eax
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x40], edx
mov dword [ebp - 4], 0
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x462610
lea edx, [ecx + ecx*4]
mov ecx, dword [edi + 0x18]
lea edx, [edx - 5]
lea eax, [ecx + edx*4]
mov edx, dword [ebp - 0x40]
jmp 0x462616
lea eax, [ebp - 0x270]
cmp dword [ebp - 0x1ec], 0x80000000
mov dword [ebp - 0x54], eax
jne 0x4626db
cmp dword [ebp - 0x1e8], 0x80000000
jne 0x4626db
test edx, edx
je 0x462673
movzx eax, byte [esi + 7]
mov ecx, edi
push eax
push dword [ebp + 0xc]
call fcn.0046c1f0
test eax, eax
jne 0x462673
mov eax, dword [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0046c310
mov eax, dword [edi + 0x78]
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x1ec], eax
mov eax, dword [edi + 0x7c]
add eax, dword [ebp - 0x44]
jmp 0x46268e
mov eax, dword [edi + 0x80]
mov dword [ebp - 0x1ec], eax
mov eax, dword [edi + 0x8c]
add eax, dword [edi + 0x84]
add eax, dword [edi + 0x7c]
mov dh, byte [ebp + 8]
mov dword [ebp - 0x1e8], eax
cmp dh, 1
je 0x4626a1
cmp dh, 0x17
jne 0x4626de
cmp dword [edi + 0x10], 0
je 0x4626de
mov ecx, dword [ebp - 0x54]
mov al, byte [ecx + 4]
cmp al, 1
je 0x4626b5
cmp al, 0x17
jne 0x4626de
mov al, byte [ecx + 6]
cmp al, byte [esi + 6]
jne 0x4626de
mov al, byte [ecx + 7]
cmp al, byte [esi + 7]
jne 0x4626de
push 0x60
push dword [0x4de07c]
push 8
call dword [sym.imp.KERNEL32.dll_MulDiv]
add dword [ebp - 0x1e8], eax
mov dh, byte [ebp + 8]
cmp dh, 0xe
je 0x4626f1
cmp dh, 0xa
je 0x4626f1
cmp dh, 0xb
je 0x4626f1
xor dl, dl
jmp 0x4626f3
mov dl, 1
mov al, dl
mov byte [ebp + 0xf], dl
xor al, 1
cmp dword [ebp - 0x1e0], 0x80000000
mov byte [ebp - 0x11], al
jne 0x462882
movss xmm1, dword [0x4d30a8]
comiss xmm1, dword [ebp - 0x1dc]
jbe 0x462882
mov eax, dword [ebp - 0x30]
add eax, 0xfffffffd
cmp eax, 0x15
ja case.0x462738.4
movzx eax, byte [eax + 0x464a98]
jmp dword [eax*4 + 0x464a6c]
mov ecx, dword [ebp - 0x10]
mov eax, ecx
and al, 3
mov dword [ebp - 0x1dc], 0x40400000
cmp al, 1
je 0x462762
mov eax, ecx
and eax, 0x400
neg eax
sbb al, al
and byte [ebp - 0x11], al
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x2c], 0
jmp 0x4628bd
mov dword [ebp - 0x1dc], 0x40000000
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x2c], 0
jmp 0x4628bd
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
jne case.0x462738.4
test byte [ebp - 0x10], 4
je 0x4627c2
mov dword [ebp - 0x1dc], 0x40400000
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x2c], 0
jmp 0x4628bd
mov dword [ebp - 0x1dc], 0x3f800000
jmp case.0x462738.4
mov dword [ebp - 0x1dc], 0x3f800000
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x2c], 0
jmp 0x4628bd
test byte [ebp - 0x10], 0x40
je 0x462826
imul ecx, dword [edi + 0x50], 0x94
mov eax, dword [0x4ddfbc]
push 0x60
push dword [0x4de07c]
mov eax, dword [ecx + eax + 0x84]
add eax, eax
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dl, byte [ebp + 0xf]
mov dh, byte [ebp + 8]
mov dword [ebp - 0x1e0], eax
jmp case.0x462738.4
mov dword [ebp - 0x1dc], 0x40a00000
jmp case.0x462738.4
mov ecx, dword [ebp - 0x10]
test cl, 2
je 0x462854
mov dword [ebp - 0x1dc], 0x40a00000
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x2c], 0
jmp 0x4628bd
push dword [ebp - 0x1c0]
push ecx
call fcn.0046b870
mov dl, byte [ebp + 0xf]
mov dh, byte [ebp + 8]
mov dword [ebp - 0x1e0], eax
jmp case.0x462738.4
test byte [ebp - 0x10], 4
je 0x4627f4
jmp case.0x462738.10
mov dword [ebp - 0x1dc], 0x41200000
jmp case.0x462738.4
cmp dh, 7
je 0x46288c
cmp dh, 8
jne case.0x462738.4
or dword [ebp - 0x10], 0x400
movss xmm0, dword [ebp - 0x1dc]
xorps xmm1, xmm1
comiss xmm0, xmm1
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x2c], 0
jbe 0x462a22
movss xmm1, dword [0x4d30a8]
cmp dh, 3
je 0x4628ca
mov al, dh
sub al, 7
cmp al, 1
ja 0x4628de
movss xmm0, dword [ebp - 0x1dc]
addss xmm0, xmm1
movss dword [ebp - 0x1dc], xmm0
cmp byte [ebp - 0x11], 0
je 0x462a08
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDC]
imul edx, dword [edi + 0x50], 0x94
mov ecx, dword [0x4ddfbc]
mov dword [ebp - 0x20], eax
push dword [edx + ecx + 0x90]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x25c]
push eax
push dword [ebp - 0x20]
call dword [sym.imp.GDI32.dll_GetTextMetricsW]
movss xmm2, dword [ebp - 0x1dc]
cvtps2pd xmm0, xmm2
mov edx, dword [ebp - 0x30]
addsd xmm0, qword [0x4d30c8]
cvttsd2si ecx, xmm0
movd xmm0, dword [ebp - 0x25c]
cvtdq2ps xmm0, xmm0
lea eax, [ecx - 1]
imul eax, dword [ebp - 0x24c]
mulss xmm0, xmm2
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
addsd xmm0, qword [0x4d30c8]
cvttsd2si eax, xmm0
mov dword [ebp - 0x1e0], eax
lea eax, [edx - 3]
cmp eax, 0x15
ja case.0x462988.5
movzx eax, byte [eax + 0x464ac4]
jmp dword [eax*4 + 0x464ab0]
push 0x60
push dword [0x4de07c]
push 8
call dword [sym.imp.KERNEL32.dll_MulDiv]
add dword [ebp - 0x1e0], eax
test dword [ebp - 0x10], 0x100000
je 0x462a22
push 3
call dword [sym.imp.USER32.dll_GetSystemMetrics]
add dword [ebp - 0x1e0], eax
jmp 0x462a22
imul ecx, dword [edi + 0x50], 0x94
mov eax, dword [0x4ddfbc]
push 0x60
push dword [0x4de07c]
mov eax, dword [ecx + eax + 0x84]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
add dword [ebp - 0x1e0], eax
jmp 0x462a22
mov eax, dword [edi + 0x7c]
imul eax, ecx
add dword [ebp - 0x1e0], eax
jmp case.0x462988.5
lea eax, [ecx + 1]
imul eax, dword [edi + 0x7c]
add dword [ebp - 0x1e0], eax
jmp case.0x462988.5
test dl, dl
jne 0x462a22
push 0x60
push dword [0x4de07c]
push 0x1e
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebp - 0x1e0], eax
mov edx, dword [ebp - 0x30]
cmp dword [ebp - 0x1e0], 0x80000000
mov byte [ebp - 0x35], 0
je 0x462a45
cmp dword [ebp - 0x1e4], 0x80000000
jne case.0x462fbb.4
lea eax, [edx - 1]
mov dword [ebp + 0xc], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x18], 0x400
cmp eax, 0x16
ja case.0x462a6d.2
movzx eax, byte [eax + 0x464ae8]
jmp dword [eax*4 + 0x464adc]
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
je case.0x462a6d.2
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x462ab6
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDC]
imul ecx, dword [edi + 0x50], 0x94
mov edx, eax
mov eax, dword [0x4ddfbc]
mov dword [ebp - 0x20], edx
push dword [ecx + eax + 0x90]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x25c]
push ecx
push eax
call dword [sym.imp.GDI32.dll_GetTextMetricsW]
mov eax, dword [ebp - 0x248]
add eax, 4
test dword [ebp - 0x10], 0x200000
mov dword [ebp + 0xc], eax
je 0x462ae4
push 2
call dword [sym.imp.USER32.dll_GetSystemMetrics]
add dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
je 0x462b1b
mov ecx, eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x462af2
mov eax, dword [ebp + 0x10]
sub ecx, edx
sar ecx, 1
cmp word [eax + ecx*2 - 2], 0xa
jne 0x462b1b
mov eax, dword [ebp - 0x24c]
add eax, dword [ebp - 0x25c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x18], 0x2c40
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x462b57
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDC]
imul ecx, dword [edi + 0x50], 0x94
mov edx, eax
mov eax, dword [0x4ddfbc]
mov dword [ebp - 0x20], edx
push dword [ecx + eax + 0x90]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov al, byte [ebp + 8]
cmp al, 1
jne 0x462b79
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
or ecx, 0x40
mov edx, ecx
or edx, 0x800
and al, 0x80
cmove edx, ecx
mov dword [ebp - 0x18], edx
jmp 0x462ba8
cmp al, 5
je 0x462b81
cmp al, 6
jne 0x462bab
lea eax, [ebp - 0x25c]
push eax
push ecx
call dword [sym.imp.GDI32.dll_GetTextMetricsW]
push 0x47
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [ebp + 0xc]
add eax, dword [ebp - 0x248]
add ecx, 2
add ecx, eax
mov dword [ebp + 0xc], ecx
mov al, byte [ebp + 8]
mov ecx, dword [ebp - 0x10]
test ecx, 0x800000
je 0x462bdb
cmp al, 1
je 0x462bbe
cmp al, 0x17
jne 0x462bdb
push 5
call dword [sym.imp.USER32.dll_GetSystemMetrics]
add eax, eax
push 6
mov dword [ebp + 0xc], eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [ebp - 0x10]
add eax, eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x1e4], 0x80000000
mov edx, dword [ebp - 0x18]
je 0x462bed
or edx, 0x10
mov eax, dword [ebp - 0x1e4]
sub eax, dword [ebp + 0xc]
cmp dword [ebp - 0x1e4], 0x80000000
mov dword [ebp - 0x34], 0
cmove eax, dword [ebp - 0x34]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x1e0]
cmp eax, 0x80000000
mov dword [ebp - 0x34], 0
cmove eax, dword [ebp - 0x34]
mov dword [ebp - 0x214], eax
xor eax, eax
cmp byte [ebp + 8], 0x17
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x34], eax
jne 0x462dfc
mov eax, ecx
mov ecx, edx
or ecx, 0x800
and al, 4
cmove ecx, edx
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp + 0x10]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x462c70
sub ecx, edx
mov edx, 2
sar ecx, 1
lea eax, [ecx + 1]
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00490f3f
mov edx, eax
add esp, 4
mov eax, dword [ebp + 0x10]
mov ecx, edx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x3c], ecx
cmp word [eax], 0
je 0x462db7
mov edi, edx
mov esi, eax
nop dword [eax]
cmp word [esi], 0x3c
jne 0x462d8f
mov cx, word [esi + 2]
call fcn.0040e460
cmp ax, 0x41
jne 0x462d8f
lea ecx, [esi + 4]
call fcn.0040e490
mov esi, eax
cmp word [esi], 0x3e
je 0x462d43
nop dword [eax]
movzx eax, word [esi]
test eax, 0xffffff80
jne 0x462d11
push 0x107
push eax
call fcn.00498ea3
add esp, 8
test eax, eax
je 0x462d11
add esi, 2
jmp 0x462cf0
cmp word [esi], 0x3d
jne 0x462d8c
mov eax, 0x22
cmp ax, word [esi + 2]
jne 0x462d8c
push eax
lea eax, [esi + 4]
push eax
call fcn.00492ca4
add esp, 8
test eax, eax
je 0x462d8c
lea ecx, [eax + 2]
call fcn.0040e490
mov esi, eax
cmp word [esi], 0x3e
jne 0x462cf0
add esi, 2
je 0x462d8c
mov edx, 0x4d1a9c
mov ecx, esi
call fcn.004786c0
mov dword [ebp - 0x210], eax
test eax, eax
je 0x462d8c
mov edx, eax
xor ecx, ecx
sub edx, esi
inc edx
shr edx, 1
cmp esi, eax
cmova edx, ecx
test edx, edx
je 0x462d87
sub esi, edi
mov ax, word [esi + edi]
inc ecx
mov word [edi], ax
add edi, 2
cmp ecx, edx
jb 0x462d72
mov eax, dword [ebp - 0x210]
lea esi, [eax + 6]
jmp 0x462d98
mov esi, dword [ebp - 0x18]
mov ax, word [esi]
mov word [edi], ax
add edi, 2
add esi, 2
mov dword [ebp - 0x18], esi
cmp word [esi], 0
jne 0x462cc0
mov esi, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x3c], edi
mov edi, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x3c]
xor eax, eax
mov word [ecx], ax
cmp ecx, edx
jbe 0x462dc7
movzx eax, word [ecx - 2]
mov dword [ebp - 0x34], eax
push dword [ebp - 0x44]
cmp word [edx], 0
lea eax, [ebp - 0x220]
push eax
push 0xffffffffffffffff
mov eax, 0x4d1aa8
cmovne eax, edx
push eax
push dword [ebp - 0x20]
call dword [sym.imp.USER32.dll_DrawTextW]
push dword [ebp - 0x68]
mov dword [ebp - 0x18], eax
call fcn.00490f48
mov edx, dword [ebp - 0x34]
add esp, 4
jmp 0x462e4b
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x220]
push edx
push eax
push 0xffffffffffffffff
cmp word [ecx], 0
mov eax, 0x4d1aa8
cmovne eax, ecx
push eax
push dword [ebp - 0x20]
call dword [sym.imp.USER32.dll_DrawTextW]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
je 0x462e49
mov ecx, eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x462e30
mov eax, dword [ebp + 0x10]
sub ecx, edx
sar ecx, 1
movzx edx, word [eax + ecx*2 - 2]
jmp 0x462e4b
xor edx, edx
mov ecx, dword [ebp - 0x218]
sub ecx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], ecx
sub eax, 1
je 0x462e74
sub eax, 3
je 0x462e6e
sub eax, 8
je 0x462e74
jmp 0x462e99
cmp dword [ebp - 0x1c], 0
jne 0x462e99
test dx, dx
je 0x462e99
lea ecx, [ebp - 0x4c]
movzx eax, dx
push ecx
push eax
push eax
push dword [ebp - 0x20]
call dword [sym.imp.GDI32.dll_GetCharABCWidthsW]
test eax, eax
je 0x462e99
mov eax, dword [ebp - 0x44]
test eax, eax
jns 0x462e99
sub dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x18]
cmp eax, 0x80000000
je 0x462eb5
mov dl, byte [ebp + 8]
cmp ecx, eax
jle 0x462f1c
cmp dl, 0xc
je 0x462f1c
mov eax, dword [ebp - 0x70]
lea edx, [ecx + eax]
mov al, byte [ebp + 8]
mov dword [ebp - 0x1e0], edx
cmp al, 0xc
jne 0x462ef7
push 0x60
push dword [0x4de07c]
push 8
call dword [sym.imp.KERNEL32.dll_MulDiv]
add dword [ebp - 0x1e0], eax
test dword [ebp - 0x10], 0x100000
je 0x462f19
push 3
call dword [sym.imp.USER32.dll_GetSystemMetrics]
add dword [ebp - 0x1e0], eax
jmp 0x462f19
cmp al, 4
jne 0x462f19
imul ecx, dword [edi + 0x50], 0x94
mov eax, dword [0x4ddfbc]
mov eax, dword [ecx + eax + 0x84]
add eax, 2
add eax, edx
mov dword [ebp - 0x1e0], eax
mov dl, byte [ebp + 8]
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0x3c]
cmp eax, 0x80000000
je 0x462f30
cmp ecx, eax
jle case.0x462a6d.2
mov eax, dword [ebp + 0xc]
add eax, ecx
mov byte [ebp - 0x35], 1
mov dword [ebp - 0x1e4], eax
cmp dl, 4
jne case.0x462a6d.2
push 0x2d
call dword [sym.imp.USER32.dll_GetSystemMetrics]
imul edx, dword [edi + 0x50], 0x94
add eax, eax
mov ecx, dword [0x4ddfbc]
mov ecx, dword [edx + ecx + 0x84]
add ecx, eax
add dword [ebp - 0x1e4], ecx
cmp dword [ebp - 0x1e4], 0x80000000
jne case.0x462fbb.4
imul ecx, dword [edi + 0x50], 0x94
mov eax, dword [0x4ddfbc]
push 0x60
push dword [0x4de07c]
mov eax, dword [ecx + eax + 0x84]
mov ecx, eax
shl ecx, 4
sub ecx, eax
push ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, eax
mov eax, dword [ebp - 0x30]
add eax, 0xfffffffd
cmp eax, 0x15
ja case.0x462fbb.4
movzx ecx, byte [eax + 0x464b20]
jmp dword [ecx*4 + 0x464b00]
mov dword [ebp - 0x1e4], edx
jmp case.0x462fbb.4
lea eax, [edx + edx]
jmp 0x463031
mov eax, dword [ebp - 0x10]
test al, 0x40
je 0x462ffa
mov dword [ebp - 0x1e4], edx
jmp 0x46303a
mov eax, dword [ebp - 0x10]
test al, 2
je 0x462fd6
push dword [ebp - 0x1c0]
push eax
call fcn.0046b870
jmp 0x463031
mov eax, dword [ebp - 0x10]
test al, 4
je 0x462fd6
imul ecx, dword [edi + 0x50], 0x94
mov eax, dword [0x4ddfbc]
push 0x60
push dword [0x4de07c]
mov eax, dword [ecx + eax + 0x84]
add eax, eax
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
jmp 0x463031
mov eax, dword [edi + 0x78]
lea eax, [edx + eax*2]
jmp 0x463031
mov eax, dword [edi + 0x78]
lea eax, [eax + eax*2]
lea eax, [eax + edx*2]
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x10]
cmp byte [ebp + 8], 0xc
jne 0x463149
test al, 4
jne 0x463149
movss xmm0, dword [0x4d30a8]
comiss xmm0, dword [ebp - 0x1dc]
jbe 0x463149
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x463096
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDC]
imul ecx, dword [edi + 0x50], 0x94
mov edx, eax
mov eax, dword [0x4ddfbc]
mov dword [ebp - 0x20], edx
push dword [ecx + eax + 0x90]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x25c]
push ecx
push eax
call dword [sym.imp.GDI32.dll_GetTextMetricsW]
push 0x60
push dword [0x4de07c]
push 8
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x10]
sub edx, eax
sub edx, dword [ebp - 0x25c]
mov dword [ebp + 0xc], edx
test ecx, 0x100000
je 0x4630e0
push 3
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x10]
sub edx, eax
test edx, edx
jle 0x46313f
mov eax, dword [ebp - 0x24c]
add eax, dword [ebp - 0x25c]
movd xmm1, edx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
addss xmm1, dword [0x4d30a8]
comiss xmm1, dword [0x4d30b8]
movss dword [ebp - 0x1dc], xmm1
jbe 0x463149
mov edx, dword [ebp - 0x208]
not edx
mov eax, edx
and eax, 4
or ecx, eax
mov dword [ebp - 0x10], ecx
test cl, 4
je 0x463149
and edx, 0x201040
or ecx, edx
mov dword [ebp - 0x10], ecx
jmp 0x463149
mov dword [ebp - 0x1dc], 0x3f800000
cmp byte [ebp - 0x7b], 0
mov eax, dword [edi + 0x10]
sete byte [ebp - 0x36]
mov byte [ebp - 0x22], 0
add eax, 3
mov byte [ebp - 0x21], 0
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 4]
push eax
mov dword [ebp - 0x1c], eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x463184
push dword [edi + 4]
call dword [sym.imp.USER32.dll_IsIconic]
mov byte [ebp + 0xf], 1
test eax, eax
je 0x463188
mov byte [ebp + 0xf], 0
cmp byte [esi + 6], 0xff
mov byte [ebp - 0x38], 0
jae 0x46321f
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x463236
push 0x4d1aac
push dword [eax]
call dword [sym.imp.USER32.dll_GetPropW]
test eax, eax
je 0x4631e9
mov ecx, dword [ebp - 0x1ec]
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x1e8]
push 1
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x48]
push ecx
push eax
push dword [edi + 4]
mov dword [ebp - 0x1c], eax
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x40]
push 0xfffffffffffffff0
push dword [eax]
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x10000000
je 0x463236
mov eax, dword [ebp - 0x40]
push 0
push 0
push 0x130b
push dword [eax]
call dword [sym.imp.USER32.dll_SendMessageW]
movzx ecx, byte [esi + 7]
cmp eax, ecx
jne 0x463236
mov al, byte [ebp + 0xf]
mov byte [ebp - 0x38], al
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
dec eax
cmp eax, 0x18
ja case.0x46322f.20
jmp dword [eax*4 + 0x464b38]
mov edx, dword [ebp - 0x10]
and edx, 0xefffffff
mov dword [ebp - 0x10], edx
jmp 0x463222
push 0
push dword [0x4db7c4]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push edx
push dword [ebp + 0x10]
push str.static
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
jmp case.0x46322f.20
push 0
push dword [0x4db7c4]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push edx
push dword [ebp + 0x10]
push str.SysLink
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
jmp case.0x46322f.20
mov ecx, dword [ebp - 0x1e4]
xor eax, eax
push 0
push dword [0x4db7c4]
cmp ecx, 0x80000000
mov dword [ebp - 0x44], 0
push dword [ebp - 0x18]
cmove ecx, eax
mov eax, dword [ebp - 0x1e0]
push dword [ebp - 0x1c]
cmp eax, 0x80000000
mov dword [ebp - 0x1e4], ecx
cmove eax, dword [ebp - 0x44]
push eax
push ecx
push dword [ebp - 0x1e8]
mov dword [ebp - 0x1e0], eax
push dword [ebp - 0x1ec]
push edx
push dword [ebp + 0x10]
push str.static
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
test eax, eax
je case.0x46322f.20
push dword [ebp - 0x19c]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp + 0x10]
push esi
call fcn.00467c90
test eax, eax
je case.0x46322f.20
mov byte [ebp - 0x22], 1
jmp case.0x46322f.20
push 0
push dword [0x4db7c4]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push edx
push dword [ebp + 0x10]
push str.button
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
jmp case.0x46322f.20
push 0
push dword [0x4db7c4]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push edx
push dword [ebp + 0x10]
push str.button
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
test eax, eax
je case.0x46322f.20
test byte [ebp - 0x10], 1
je case.0x46322f.20
mov eax, dword [edi + 0x1c]
cmp eax, dword [edi + 0x10]
jae 0x46341c
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x18]
push 1
push 0xfffffffffffffff0
push dword [eax + ecx*4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
and eax, 0xfffe
push eax
mov eax, dword [edi + 0x1c]
push 0xf4
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x18]
push dword [eax + ecx*4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [edi + 0x10]
push 0
mov dword [edi + 0x1c], eax
add eax, 3
push eax
push 0x401
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x10]
push 1
movzx eax, ax
push eax
push 0xf4
push dword [esi]
jmp 0x46460c
push 0
push dword [0x4db7c4]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push edx
push dword [ebp + 0x10]
push str.button
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
test eax, eax
je case.0x46322f.20
mov ecx, dword [ebp - 0x1a0]
test ecx, ecx
je case.0x46322f.20
push 0
push ecx
push 0xf1
jmp 0x46460b
cmp dword [ebp - 0x1a8], 0
je 0x4634bd
cmp byte [esi + 4], 8
jne 0x4634bd
and edx, 0xffffffbf
mov dword [ebp - 0x10], edx
push 0
push dword [0x4db7c4]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push edx
push 0x4c602c
push str.Combobox
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
test eax, eax
je 0x4635f8
imul edx, dword [edi + 0x50], 0x94
movzx ecx, byte [ebp + 0xf]
push ecx
mov ecx, dword [0x4ddfbc]
push dword [edx + ecx + 0x90]
push 0x30
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp byte [ebp - 0x11], 0
je 0x4635c7
push 0
push 0
push 0x154
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x34], eax
and cl, 3
xor eax, eax
cmp cl, 1
push 0x60
push dword [0x4de07c]
sete al
push 8
lea eax, [eax*2 + 2]
mov dword [ebp - 0x68], eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
add eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x34]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x1e0]
cmp ecx, eax
jge 0x463586
mov ecx, eax
mov dword [ebp - 0x1e0], ecx
jmp 0x4635cd
movss xmm0, dword [ebp - 0x1dc]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4635cd
push 0x60
push dword [0x4de07c]
push 8
call dword [sym.imp.KERNEL32.dll_MulDiv]
movd xmm0, dword [ebp - 0x34]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x1dc]
cvttss2si ecx, xmm0
add ecx, dword [ebp - 0x68]
add ecx, eax
mov dword [ebp - 0x1e0], ecx
jmp 0x4635cd
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [sym.imp.USER32.dll_MoveWindow]
push 1
push ecx
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [esi]
call eax
mov al, 1
mov byte [ebp - 0x22], al
mov byte [ebp - 0x21], al
jmp case.0x46322f.20
mov al, byte [ebp - 0x22]
mov byte [ebp - 0x21], al
jmp case.0x46322f.20
push 0
push dword [0x4db7c4]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push edx
push 0x4c602c
push str.Listbox
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
test eax, eax
je 0x4635f8
mov ecx, dword [ebp - 0xd0]
test ecx, ecx
je 0x463661
lea edx, [ebp - 0x198]
push edx
push ecx
push 0x192
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
imul ecx, dword [edi + 0x50], 0x94
movzx eax, byte [ebp + 0xf]
push eax
mov eax, dword [0x4ddfbc]
push dword [ecx + eax + 0x90]
push 0x30
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x1a1
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x60
push dword [0x4de07c]
mov dword [ebp - 0x34], eax
push 8
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, eax
mov eax, dword [ebp - 0x10]
add edx, dword [ebp - 0x34]
and eax, 0x100000
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x74], eax
je 0x4636c9
push 3
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edx, dword [ebp - 0x44]
add edx, eax
mov ecx, dword [ebp - 0x1e0]
cmp ecx, edx
jge 0x4636e0
mov ecx, edx
mov dword [ebp - 0x1e0], ecx
jmp 0x4635cd
movss xmm0, dword [ebp - 0x1dc]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4635cd
push 0x60
push dword [0x4de07c]
push 8
call dword [sym.imp.KERNEL32.dll_MulDiv]
movd xmm0, dword [ebp - 0x34]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x1dc]
cvttss2si ecx, xmm0
add ecx, eax
cmp dword [ebp - 0x74], 0
mov dword [ebp - 0x1e0], ecx
je 0x4635cd
push 3
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [ebp - 0x1e0]
add ecx, eax
mov dword [ebp - 0x1e0], ecx
jmp 0x4635cd
mov eax, dword [ebp - 0x1f8]
cmp eax, 4
je 0x463758
and edx, 0xfffffffc
or edx, eax
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x1e0]
mov ecx, 0xc8
push 0
push dword [0x4db7c4]
cmp eax, 0x80000000
push dword [ebp - 0x18]
cmove eax, ecx
push dword [ebp - 0x1c]
push eax
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push edx
push 0x4c602c
push str.SysListView32
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
test eax, eax
je case.0x46322f.20
push 0x3f8
call fcn.00495d48
add esp, 4
mov dword [esi + 0x10], eax
test eax, eax
jne 0x4637d1
push dword [esi]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [esi], 0
jmp case.0x46322f.20
push 0x3f8
mov dword [edi + 0x48], esi
push 0
push dword [esi + 0x10]
call fcn.00493930
mov eax, dword [esi + 0x10]
add esp, 0xc
mov dword [eax], 0xffffffff
mov ecx, dword [esi + 0x10]
mov al, byte [ebp - 0x7a]
mov byte [ecx + 5], al
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x463803
or byte [eax + 5], 0x80
cmp dword [ebp - 0x1f8], 4
jne 0x46381d
push 0
push 4
push 0x108e
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x1fc]
test eax, eax
je 0x463837
push eax
push 0
push 0x1036
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [ebp - 0x20c]
push eax
push esi
call fcn.0046b9d0
cmp dword [ebp - 0x1e0], 0x80000000
jne case.0x46322f.20
imul ecx, dword [edi + 0x50], 0x94
movzx eax, byte [ebp + 0xf]
push eax
mov eax, dword [0x4ddfbc]
push dword [ecx + eax + 0x90]
push 0x30
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x1f8]
mov byte [ebp - 0x21], 1
sub eax, 1
je 0x4639cc
sub eax, 3
je 0x46399d
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x4638c7
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDC]
imul ecx, dword [edi + 0x50], 0x94
mov edx, eax
mov eax, dword [0x4ddfbc]
mov dword [ebp - 0x20], edx
push dword [ecx + eax + 0x90]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x25c]
push ecx
push eax
call dword [sym.imp.GDI32.dll_GetTextMetricsW]
cmp dword [ebp - 0x1f8], 0
jne 0x463962
push 0
push 0
push 0x1033
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4d3230]
cvtpd2ps xmm1, xmm0
movss xmm0, dword [ebp - 0x1dc]
subss xmm0, dword [0x4d30a8]
mulss xmm0, xmm1
call fcn.004abd40
mov esi, eax
push 0xc
shr esi, 0x10
call dword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm1, esi
mov esi, dword [ebp - 0x6c]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mov eax, dword [ebp - 0x25c]
cvtdq2ps xmm0, xmm0
add eax, 0x10
mulss xmm0, dword [ebp - 0x1dc]
addss xmm0, xmm1
cvttss2si ecx, xmm0
add eax, ecx
jmp 0x4639f0
push 0x32
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [ebp - 0x25c]
cmp eax, ecx
movss xmm0, dword [ebp - 0x1dc]
cmovg ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
subss xmm0, dword [0x4d30a8]
addss xmm1, xmm0
cvttss2si eax, xmm1
add eax, 0xb
jmp 0x4639f0
push 0
push 0
push 0x1033
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
shr eax, 0x10
sub eax, 3
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x1dc]
cvttss2si eax, xmm0
add eax, 7
jmp 0x4639f0
movss xmm0, dword [ebp - 0x1dc]
push 0xffffffffffffffff
call fcn.004abd40
dec eax
push eax
push 0x1040
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
shr eax, 0x10
add eax, 4
push 1
push eax
push dword [ebp - 0x1e4]
mov dword [ebp - 0x1e0], eax
push dword [ebp - 0x1e8]
mov eax, dword [sym.imp.USER32.dll_MoveWindow]
push dword [ebp - 0x1ec]
push dword [esi]
call eax
jmp case.0x46322f.20
mov eax, dword [ebp - 0x1e0]
mov ecx, 0xc8
push 0
push dword [0x4db7c4]
cmp eax, 0x80000000
push dword [ebp - 0x18]
cmove eax, ecx
push dword [ebp - 0x1c]
push eax
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push edx
push 0x4c602c
push str.SysTreeView32
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
test eax, eax
je case.0x46322f.20
cmp dword [ebp - 0x1a0], 0
mov dword [edi + 0x4c], esi
je 0x463a8b
mov eax, dword [ebp - 0x10]
or eax, 0x100
push eax
mov eax, dword [sym.imp.USER32.dll_SetWindowLongW]
push 0xfffffffffffffff0
push dword [esi]
call eax
lea eax, [ebp - 0x20c]
push eax
push esi
call fcn.0046ba80
mov eax, dword [ebp - 0x1f4]
test eax, eax
je 0x463ab2
push eax
push 0
push 0x1109
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebp - 0x1e0], 0x80000000
jne case.0x46322f.20
imul ecx, dword [edi + 0x50], 0x94
movzx eax, byte [ebp + 0xf]
push eax
mov eax, dword [0x4ddfbc]
push dword [ecx + eax + 0x90]
push 0x30
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x111c
push dword [esi]
mov byte [ebp - 0x21], 1
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x1e0], eax
cmp eax, 2
jge 0x463b19
imul ecx, dword [edi + 0x50], 0x94
mov eax, dword [0x4ddfbc]
mov eax, dword [ecx + eax + 0x84]
add eax, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
push 1
mulss xmm0, dword [ebp - 0x1dc]
cvttss2si eax, xmm0
add eax, 4
push eax
push dword [ebp - 0x1e4]
mov dword [ebp - 0x1e0], eax
push dword [ebp - 0x1e8]
mov eax, dword [sym.imp.USER32.dll_MoveWindow]
push dword [ebp - 0x1ec]
push dword [esi]
call eax
jmp case.0x46322f.20
test dl, 4
jne 0x463b80
cmp dword [ebp - 0x1a8], 0
jge 0x463b6e
and edx, 0xffefff7f
jmp 0x463b7d
mov eax, dword [ebp - 0x208]
not eax
and eax, 0x80
or edx, eax
mov dword [ebp - 0x10], edx
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
je 0x463ba2
test dl, 4
je 0x463ba2
mov ecx, eax
call fcn.00479020
mov edx, dword [ebp - 0x10]
mov ecx, eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x6c], ecx
jmp 0x463ba7
mov ecx, eax
mov dword [ebp - 0x6c], eax
push 0
push dword [0x4db7c4]
test ecx, ecx
push dword [ebp - 0x18]
cmovne eax, ecx
push dword [ebp - 0x1c]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push edx
push eax
push str.edit
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edx, eax
mov dword [esi], edx
test edx, edx
je 0x463c4c
test byte [ebp - 0x10], 0x20
je 0x463c0b
mov cx, word [ebp - 0x80]
test cx, cx
je 0x463c0b
push 0
movzx eax, cx
push eax
push 0xcc
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x1a8]
xor ecx, ecx
test eax, eax
push ecx
cmovs eax, ecx
push eax
push 0xc5
mov dword [ebp - 0x1a8], eax
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0xd0]
test eax, eax
je 0x463c4c
lea ecx, [ebp - 0x198]
push ecx
push eax
push 0xcb
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x6c]
test eax, eax
je case.0x46322f.20
cmp eax, dword [ebp + 0x10]
je case.0x46322f.20
push eax
call fcn.00495d53
add esp, 4
jmp case.0x46322f.20
mov eax, dword [ebp + 0x10]
mov byte [ebp - 0x11], 0
cmp word [eax], 0
je 0x463cc3
push str.LongDate
push eax
call fcn.0049466a
add esp, 8
test eax, eax
jne 0x463c9b
mov eax, dword [ebp - 0x10]
and eax, 0xfffffff6
or eax, 4
mov dword [ebp - 0x10], eax
jmp 0x463cc6
push str.Time
push dword [ebp + 0x10]
call fcn.0049466a
add esp, 8
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x463cbd
and eax, 0xfffffffb
or eax, 9
mov dword [ebp - 0x10], eax
jmp 0x463cc6
mov byte [ebp - 0x11], 1
jmp 0x463cc6
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x1d8], 2
jne 0x463cd5
or eax, 2
mov dword [ebp - 0x10], eax
push 0
push dword [0x4db7c4]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push eax
push 0x4c602c
push str.SysDateTimePick32
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
test eax, eax
je case.0x46322f.20
cmp byte [ebp - 0x11], 0
je 0x463d30
push dword [ebp + 0x10]
push 0
push 0x1032
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x463d4f
lea ecx, [ebp - 0xac]
push ecx
push eax
push 0x1004
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0x1d8]
test ecx, ecx
je 0x463d76
lea eax, [ebp - 0xcc]
push eax
xor eax, eax
cmp ecx, 1
setne al
push eax
push 0x1002
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esi + 0x10]
cmp eax, 0xff000000
je case.0x46322f.20
push eax
push 1
push 0x1006
push dword [esi]
jmp 0x46460c
cmp dword [ebp - 0x8c], 0
jne 0x463dc1
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
je 0x463dc1
lea edx, [ebp - 0xcc]
mov ecx, eax
call fcn.00477d00
mov dword [ebp - 0x8c], eax
cmp eax, 3
jne 0x463dc1
or dword [ebp - 0x10], 2
mov eax, dword [ebp - 0x1e0]
mov ecx, 0x64
push 0
push dword [0x4db7c4]
cmp eax, 0x80000000
push dword [ebp - 0x18]
cmove eax, ecx
push dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x1e4]
test eax, eax
cmovs eax, ecx
push eax
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x10]
push 0x4c602c
push str.SysMonthCal32
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov ecx, eax
mov dword [esi], ecx
test ecx, ecx
je case.0x46322f.20
mov eax, dword [ebp - 0x10]
and eax, 2
mov dword [ebp - 0x44], eax
je 0x463e3b
push 0
push 0x16e
push 0x1004
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x463e5a
lea ecx, [ebp - 0xac]
push ecx
push eax
push 0x1012
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x463ea3
cmp dword [ebp - 0x44], 0
je 0x463e8d
cmp eax, 1
jne 0x463e7d
movups xmm0, xmmword [ebp - 0xcc]
movups xmmword [ebp - 0xbc], xmm0
lea eax, [ebp - 0xcc]
push eax
push 0
push 0x1006
jmp 0x463e9b
lea eax, [ebp - 0xcc]
push eax
push 0
push 0x1002
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esi + 0x10]
cmp eax, 0xff000000
je 0x463ebd
push eax
push 1
push 0x100a
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
imul ecx, dword [edi + 0x50], 0x94
movzx eax, byte [ebp + 0xf]
push eax
mov eax, dword [0x4ddfbc]
push dword [ecx + eax + 0x90]
push 0x30
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebp - 0x1e4], 0x80000000
mov byte [ebp - 0x21], 1
je 0x463eff
cmp dword [ebp - 0x1e0], 0x80000000
jne case.0x46322f.20
lea eax, [ebp - 0x64]
push eax
push 0
push 0x1009
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je case.0x46322f.20
mov ecx, dword [ebp - 0x1e4]
test ecx, ecx
jns 0x463f6c
test byte [ebp - 0x10], 0x10
je 0x463f2f
mov eax, dword [ebp - 0x5c]
jmp 0x463f4d
push 0
push 0
push 0x1015
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x1e4]
cmovl eax, dword [ebp - 0x5c]
cmp ecx, 0x80000000
jne 0x463f59
mov ecx, eax
jmp 0x463f66
add eax, 6
imul eax, ecx
mov ecx, 0xfffffffa
sub ecx, eax
mov dword [ebp - 0x1e4], ecx
mov edx, dword [ebp - 0x1e0]
cmp edx, 0x80000000
jne 0x46404e
movss xmm0, dword [ebp - 0x1dc]
xorps xmm1, xmm1
comiss xmm0, xmm1
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x1e0], edx
jbe 0x46404e
ucomiss xmm0, dword [0x4d30a8]
lahf
test ah, 0x44
jnp 0x46404e
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x463fe1
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDC]
imul ecx, dword [edi + 0x50], 0x94
mov edx, eax
mov eax, dword [0x4ddfbc]
mov dword [ebp - 0x20], edx
push dword [ecx + eax + 0x90]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x25c]
push ecx
push eax
call dword [sym.imp.GDI32.dll_GetTextMetricsW]
test byte [ebp - 0x10], 0x10
mov ecx, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x1e0]
je 0x464006
add eax, 4
add eax, ecx
movss xmm2, dword [ebp - 0x1dc]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
subss xmm2, dword [0x4d30a8]
cvttss2si eax, xmm0
movd xmm1, eax
lea eax, [ecx - 2]
mov ecx, dword [ebp - 0x1e4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm2
subss xmm1, xmm0
cvttss2si edx, xmm1
mov dword [ebp - 0x1e0], edx
mov eax, dword [sym.imp.USER32.dll_MoveWindow]
push 1
push edx
push ecx
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [esi]
call eax
jmp case.0x46322f.20
push 0
push dword [0x4db7c4]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push edx
push 0x4c602c
push str.msctls_hotkey32
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
test eax, eax
je case.0x46322f.20
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
je 0x4640d3
push 0
mov ecx, eax
call fcn.0046b600
movzx eax, ax
push eax
push 0x401
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x1a8]
test eax, eax
jle case.0x46322f.20
push 6
push eax
push 0x403
push dword [esi]
jmp 0x46460c
test dl, 0x10
je 0x464114
cmp dword [edi + 8], 0
jne 0x464108
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x464114
cmp byte [eax + 5], 0
jge 0x464114
and edx, 0xffffffef
mov byte [ebp - 0x11], 1
mov dword [ebp - 0x10], edx
jmp 0x464119
xor al, al
mov byte [ebp - 0x11], al
push 0
push dword [0x4db7c4]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push edx
push 0x4c602c
push str.msctls_updown32
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov ecx, eax
mov dword [esi], ecx
test ecx, ecx
je case.0x46322f.20
mov al, byte [ebp - 0x11]
test al, al
je 0x46417c
mov eax, dword [ebp - 0x54]
push 0
push dword [eax]
push 0x469
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov al, byte [ebp - 0x11]
cmp dword [edi + 0x10], 0
je 0x4642b9
test byte [ebp - 0x10], 0x10
jne 0x464194
test al, al
je 0x4642b9
lea eax, [ebp - 0x64]
push eax
push dword [esi]
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0x64]
push eax
push dword [ebp - 0x1c]
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x60]
sub eax, ecx
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x58]
sub eax, edx
mov dword [ebp - 0x1ec], ecx
mov dword [ebp - 0x1e0], eax
lea eax, [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x1e8], edx
push dword [eax]
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x1c]
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
cmp byte [edi + 0xbf], 0
je 0x464262
test byte [ebp - 0x10], 4
je 0x464238
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0x1ec]
add dword [ebp - 0x5c], eax
add ecx, eax
push 1
push dword [ebp - 0x1e0]
mov dword [ebp - 0x1ec], ecx
push eax
push dword [ebp - 0x1e8]
mov eax, dword [sym.imp.USER32.dll_MoveWindow]
push ecx
push dword [esi]
call eax
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x4c]
sub eax, ecx
add edx, dword [ebp - 0x1e4]
push 1
push eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x48], edx
sub edx, eax
push edx
push ecx
push eax
mov eax, dword [ebp - 0x54]
push dword [eax]
call dword [sym.imp.USER32.dll_MoveWindow]
mov ecx, dword [ebp - 0x10]
test cl, 4
je 0x46427d
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x1ec], ecx
sub eax, ecx
mov ecx, dword [ebp - 0x10]
jmp 0x464283
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x64]
cmp byte [ebp - 0x7e], 0
mov dword [ebp - 0x1e4], eax
jne 0x4642cd
mov eax, dword [ebp - 0x54]
cmp byte [eax + 4], 9
jne 0x4642bf
mov byte [ebp - 0x7e], 1
test cl, 0x40
je 0x4642ad
mov dword [ebp - 0x1d0], 0x7fff
jmp 0x4642cd
mov dword [ebp - 0x1d4], 0x7fff
jmp 0x4642cd
cmp byte [ebp - 0x7e], 0
jne 0x4642cd
mov byte [ebp - 0x7e], 1
mov dword [ebp - 0x1d0], 0x64
lea eax, [ebp - 0x20c]
push eax
push esi
call fcn.0046b800
mov ecx, dword [ebp + 0x10]
call fcn.004124b0
cmp byte [esi + 5], 0
mov ecx, 0x471
push eax
mov eax, 0x467
push 0
cmovl eax, ecx
push eax
push dword [esi]
jmp 0x46460c
push 0
push dword [0x4db7c4]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push edx
push 0x4c602c
push str.msctls_trackbar32
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
test eax, eax
je case.0x46322f.20
lea eax, [ebp - 0x20c]
push eax
push esi
call fcn.0046b900
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
je case.0x46322f.20
mov ecx, eax
call fcn.004124b0
push eax
push esi
call fcn.0046b8b0
push eax
push 1
push 0x405
push dword [esi]
jmp 0x46460c
push 0
push dword [0x4db7c4]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push edx
push 0x4c602c
push str.msctls_progress32
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
test eax, eax
je case.0x46322f.20
push dword [ebp - 0x10]
lea eax, [ebp - 0x20c]
mov ecx, edi
push eax
push esi
call fcn.0046bae0
mov eax, dword [ebp + 0x10]
cmp word [eax], 0
je 0x4643ef
push 0
mov ecx, eax
call fcn.004124b0
push eax
push 0x402
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov byte [ebp - 0x36], 0
jmp case.0x46322f.20
push 0
push dword [0x4db7c4]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push edx
push 0x4c602c
push str.SysTabControl32
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
test eax, eax
je case.0x46322f.20
cmp byte [ebp - 0x79], 0
je 0x464468
lea eax, [ebp - 0x20c]
mov ecx, edi
push eax
push esi
call fcn.0046c770
test eax, eax
jne 0x464468
push dword [esi]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [esi], 0
jmp case.0x46322f.20
mov al, byte [ebp - 0x78]
test al, al
je 0x464480
movsx eax, al
push eax
push str.exk_autosize
push dword [esi]
call dword [sym.imp.USER32.dll_SetPropW]
mov al, byte [edi + 0xb8]
mov byte [edi + 0xb9], al
inc al
push 0x46b100
mov byte [edi + 0xb8], al
mov eax, dword [sym.imp.USER32.dll_SetWindowLongW]
push 0xfffffffffffffffc
mov byte [edi + 0xba], 0
push dword [esi]
call eax
mov dword [0x4dc214], eax
jmp case.0x46322f.20
cmp byte [0x4e0074], 0
jne 0x464500
push 0x4d1638
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x464500
push str.AtlAxWinInit
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4644ee
call eax
test eax, eax
setne al
mov byte [0x4e0074], al
jmp 0x4644f3
mov al, byte [0x4e0074]
test al, al
jne 0x464500
push dword [ebp - 0x44]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0
push dword [0x4db7c4]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [ebp - 0x10]
push dword [ebp + 0x10]
push str.AtlAxWin
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
test eax, eax
je case.0x46322f.20
mov ecx, eax
call fcn.0045b9d0
mov ecx, eax
test ecx, ecx
jne 0x464564
push dword [esi]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [esi], 0
jmp case.0x46322f.20
mov eax, dword [esi + 8]
push ecx
test eax, eax
je 0x464578
mov ecx, eax
call fcn.0047b5f0
jmp case.0x46322f.20
mov eax, dword [ecx]
call dword [eax + 8]
jmp case.0x46322f.20
mov ax, word [ebp - 0x76]
test ax, ax
jne 0x4645a4
push 0x4c602c
push str.A_window_class_is_required.
mov ecx, 0x4de0d0
call fcn.004354a0
jmp 0x4649c4
push 0
push dword [0x4db7c4]
movzx eax, ax
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push edx
push dword [ebp + 0x10]
push eax
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
jmp case.0x46322f.20
push dword [ebp - 0x18]
push dword [edi + 4]
push dword [ebp + 0x10]
push edx
call dword [sym.imp.COMCTL32.dll_CreateStatusWindowW]
mov dword [esi], eax
test eax, eax
je case.0x46322f.20
mov ecx, dword [ebp - 0x1ac]
mov dword [edi + 8], eax
cmp ecx, 0xffffffff
je case.0x46322f.20
push ecx
push 0
push 0x2001
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x464635
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x46462b
push ecx
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0x20]
push eax
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp dword [esi], 0
jne 0x464653
push 0x4c602c
push str.Cant_create_control.
mov ecx, 0x4de0d0
call fcn.004354a0
jmp 0x4649c4
inc dword [edi + 0x10]
mov al, byte [ebp - 0x35]
mov ecx, dword [ebp - 0x1f0]
mov byte [edi + 0xbf], al
test ecx, ecx
je 0x464670
push dword [esi]
call fcn.0047aa50
cmp byte [esi + 4], 6
jne 0x464694
mov ecx, dword [ebp - 0x1a0]
test ecx, ecx
je 0x46468e
mov eax, dword [edi + 0x10]
push ecx
dec eax
mov ecx, edi
push eax
push esi
call fcn.0046b740
mov byte [edi + 0x44], 1
jmp 0x464698
mov byte [edi + 0x44], 0
test dword [ebp - 0x208], 0x10000000
je 0x4646a8
or byte [esi + 5], 8
test dword [ebp - 0x20c], 0x8000000
je 0x4646b8
or byte [esi + 5], 0x10
cmp byte [ebp - 0x36], 0
jne 0x4646e2
cmp dword [esi + 0x10], 0xff000000
je 0x4646d6
mov al, byte [esi + 4]
cmp al, 5
je 0x4646e2
cmp al, 6
je 0x4646e2
cmp al, 3
je 0x4646e2
cmp byte [esi + 4], 3
jne 0x4646ed
test byte [esi + 5], 0x40
je 0x4646ed
push ecx
mov ecx, dword [esi]
call fcn.0047a5d0
add esp, 4
cmp byte [ebp - 0x21], 0
jne 0x46471b
cmp byte [ebp - 0x37], 0
je 0x46471b
imul ecx, dword [edi + 0x50], 0x94
movzx eax, byte [ebp + 0xf]
push eax
mov eax, dword [0x4ddfbc]
push dword [ecx + eax + 0x90]
push 0x30
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebp - 0x84], 4
jne 0x464732
push 0
push 0
push 0xb
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
push ecx
push dword [ebp - 0x1d8]
mov ecx, edi
push dword [ebp + 0x10]
push esi
call fcn.00467a00
mov al, byte [esi + 4]
cmp al, 0x13
jne 0x4647f0
movss xmm0, dword [ebp - 0x1dc]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x4647dd
lea eax, [ebp - 0x64]
push eax
push dword [esi]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x10]
mov ecx, eax
and ecx, 0x82
mov dword [ebp + 0x10], ecx
cmp ecx, 2
jne 0x46478c
and eax, 0xfffffffd
push eax
push 0xfffffffffffffff0
push dword [esi]
call dword [sym.imp.USER32.dll_SetWindowLongW]
lea eax, [ebp - 0x64]
push eax
push 1
push 0x1328
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebp + 0x10], 2
jne 0x4647b2
push dword [ebp - 0x10]
push 0xfffffffffffffff0
push dword [esi]
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x60]
push 1
push eax
push dword [ebp - 0x1e4]
mov dword [ebp - 0x1e0], eax
push dword [ebp - 0x1e8]
push dword [ebp - 0x1ec]
push dword [esi]
call dword [sym.imp.USER32.dll_MoveWindow]
jmp 0x4647f0
cmp al, 0x13
jne 0x4647f0
cmp byte [ebp - 0x79], 0
je 0x4647f0
push dword [esi]
mov ecx, edi
call fcn.0046c850
cmp byte [ebp - 0x22], 0
je 0x46484c
lea eax, [ebp - 0x64]
push eax
push dword [esi]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x64]
cmp byte [ebp + 8], 9
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1e4], ecx
jne 0x46484c
test dword [ebp - 0x10], 0x100000
je 0x46484c
mov eax, dword [ebp - 0x1a4]
test eax, eax
jns 0x46483c
lea eax, [ecx + ecx*2]
mov dword [ebp - 0x1a4], eax
push 0
push eax
push 0x194
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebp - 0x40], 0
je 0x4648a9
mov eax, dword [ebp - 0x1c]
cmp eax, dword [edi + 4]
jne 0x4648a9
cmp byte [ebp - 0x38], 0
je 0x46488c
lea eax, [ebp - 0x64]
push eax
push dword [esi]
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0x64]
push eax
push dword [edi + 4]
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
push 0
lea eax, [ebp - 0x64]
push eax
push dword [edi + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [ebp - 0x40]
cmp byte [eax + 5], 0
jge 0x4648a9
push 0x13
push 0
push 0
push 0
push 0
push dword [esi]
push dword [eax]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [edi + 8]
test eax, eax
je 0x4648c3
push 0x13
push 0
push 0
push 0
push 0
push 1
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
cmp byte [ebp + 8], 0x19
je 0x4649bf
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0x1c]
cmp edx, ecx
je 0x46490b
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x1e8]
push 1
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x48]
push eax
push ecx
push edx
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov esi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x1ec], esi
mov dword [ebp - 0x1e8], eax
jmp 0x464917
mov eax, dword [ebp - 0x1e8]
mov esi, dword [ebp - 0x1ec]
mov ecx, dword [ebp - 0x1e4]
mov dword [ebp + 8], eax
mov dword [edi + 0x88], ecx
mov dword [edi + 0x84], eax
mov eax, dword [ebp - 0x1e0]
lea edx, [esi + ecx]
mov ecx, dword [ebp + 8]
add ecx, eax
mov dword [edi + 0x8c], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x80], esi
cmp eax, dword [edi + 4]
jne 0x464970
cmp byte [ebp - 0x78], 0
jne 0x464970
cmp edx, dword [edi + 0x90]
jle 0x464962
mov dword [edi + 0x90], edx
cmp ecx, dword [edi + 0x94]
jle 0x464970
mov dword [edi + 0x94], ecx
cmp byte [ebp - 0x7c], 0
jne 0x4649a4
mov eax, dword [edi + 0x10]
cmp eax, 1
je 0x4649a4
cmp eax, 2
jne 0x46498c
mov eax, dword [edi + 0x18]
cmp byte [eax + 4], 0x19
je 0x4649a4
cmp edx, dword [edi + 0xa0]
jle 0x46499a
mov dword [edi + 0xa0], edx
cmp ecx, dword [edi + 0xa4]
jle 0x4649bf
jmp 0x4649b9
mov eax, dword [ebp + 8]
mov dword [edi + 0x98], esi
mov dword [edi + 0x9c], eax
mov dword [edi + 0xa0], edx
mov dword [edi + 0xa4], ecx
mov eax, 1
mov ecx, dword [ebp - 0xc]
pop esi
pop edi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc