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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffff44
mov ebx, edx
mov esi, eax
mov eax, dword [ebx]
mov edx, dword [0x5d1b08]
cmp eax, dword [edx]
jne 0x4c366d
movzx eax, word [ebx + 6]
cmp eax, 0x22
jg 0x4c31ea
je 0x4c34d8
dec eax
je 0x4c3418
dec eax
je 0x4c3208
sub eax, 5
je 0x4c3490
sub eax, 0x19
je 0x4c349c
jmp 0x4c366d
sub eax, 0x24
je 0x4c365e
sub eax, 0x18
je 0x4c345c
dec eax
je 0x4c346b
jmp 0x4c366d
mov eax, dword [esi + 0x50]
call fcn.00511f64
cmp eax, dword [ebx + 8]
jne 0x4c3406
cmp dword [esi + 0x224], 0
je 0x4c322d
lea eax, [esi + 0x224]
call fcn.004118cc
mov eax, dword [esi + 0x24c]
call fcn.00461e10
xor ecx, ecx
xor edx, edx
call fcn.004bf400
mov eax, ebx
mov edx, dword [esi + 0x50]
call fcn.00512540
mov dword [esi + 0x250], 0xffffffff
mov dword [esi + 0x20c], 0xffffffff
mov dword [esi + 0x214], 0xffffffff
mov edx, ebx
mov eax, dword [esi + 0x24c]
call fcn.004b0c38
mov eax, esi
call fcn.004d102c
mov eax, dword [esi + 0x50]
call fcn.00511f64
test eax, eax
je 0x4c3290
mov al, 1
call fcn.00522d2c
mov eax, dword [esi + 0x24c]
test eax, eax
je case.0x4c3a8b.0
test byte [eax + 0x1c], 8
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
call fcn.00511f64
test eax, eax
je 0x4c333f
xor edx, edx
mov eax, esi
call fcn.004cfe68
xor edx, edx
mov eax, esi
call fcn.004d1eb8
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 2
jne 0x4c32eb
cmp dword [esi + 0x240], 0
je 0x4c32eb
xor edx, edx
mov eax, esi
call fcn.004d0d70
mov eax, esi
call fcn.004c01b8
test al, al
je 0x4c3314
cmp byte [esi + 0x21f], 0
jne 0x4c3314
push 0xffffffffffffffff
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowRgn
mov eax, esi
call fcn.004cfa54
push 0x485
push 0
push 0
mov eax, dword [esi + 0x24c]
mov eax, dword [eax + 0x29c]
push eax
call sub.user32.dll_RedrawWindow
xor edx, edx
mov eax, esi
call fcn.004d24c4
mov eax, dword [esi + 0x24c]
call fcn.0045dcc0
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x4c33ca
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [esi + 0x24c]
call fcn.0045dc84
mov edx, dword [0x43b748]
call fcn.004048c0
test al, al
je 0x4c33c6
mov edx, edi
mov eax, dword [esi + 0x24c]
call fcn.0045dc84
mov eax, dword [eax + 0x68]
mov edx, 0xff000008
call fcn.00431a60
mov edx, edi
mov eax, dword [esi + 0x24c]
call fcn.0045dc84
call fcn.0043f7ec
test al, al
jne 0x4c33c6
mov edx, edi
mov eax, dword [esi + 0x24c]
call fcn.0045dc84
mov ebx, dword [eax + 0x50]
or ebx, dword [0x4ca458]
mov edx, edi
mov eax, dword [esi + 0x24c]
call fcn.0045dc84
mov dword [eax + 0x50], ebx
inc edi
dec ebp
jne 0x4c3354
cmp byte [esi + 0x5c], 0
je 0x4c33e9
mov eax, dword [esi + 0x50]
cmp byte [eax + 9], 0
jne 0x4c33e9
mov edx, 0xff00000f
mov eax, dword [esi + 0x24c]
call fcn.00459dfc
mov eax, dword [esi + 0x50]
cmp dword [eax + 0x44], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
add eax, 0x44
call fcn.004118cc
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call fcn.004b0c38
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
test byte [eax + 0x1c], 8
jne 0x4c366d
cmp dword [esi + 0x50], 0
je 0x4c366d
mov eax, dword [esi + 0x50]
call fcn.00511f64
cmp eax, dword [ebx + 8]
jne 0x4c366d
cmp dword [esi + 0x254], 0
jne 0x4c366d
mov eax, esi
call fcn.004d0afc
jmp 0x4c366d
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov dword [ebx + 0xc], eax
jmp case.0x4c3a8b.0
mov eax, esi
call fcn.004cf174
mov edi, eax
mov eax, esi
call fcn.004cf20c
movzx edx, di
movzx eax, ax
shl eax, 0x10
or edx, eax
mov eax, edx
mov dword [ebx + 0xc], eax
jmp case.0x4c3a8b.0
mov dword [ebx + 0xc], 1
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
movzx edx, word [eax + 0x52]
and dx, 0x400
cmp dx, 0x400
jne 0x4c366d
and word [eax + 0x52], 0xfbff
push 0
push 0
push 0xb015
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
jmp 0x4c366d
cmp dword [esi + 0x50], 0
je 0x4c366d
lea ecx, [esp + 0x84]
xor edx, edx
xor eax, eax
call fcn.00407ecc
mov eax, dword [ebx + 8]
mov edx, dword [esp + 0x84]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x88]
mov dword [eax + 0xc], edx
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x39], 0
je 0x4c3537
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x1c], 0
je 0x4c3524
cmp byte [esi + 0x220], 0
je 0x4c3537
mov eax, dword [esi + 0x50]
call fcn.005103b0
test al, al
je 0x4c3537
mov eax, esi
call fcn.004cceec
mov eax, dword [ebx + 8]
cmp byte [eax + 0x21], 0
je 0x4c355a
mov eax, esi
call fcn.004cf174
mov edx, dword [ebx + 8]
add dword [edx + 8], eax
mov eax, esi
call fcn.004cf20c
mov edx, dword [ebx + 8]
add dword [edx + 0xc], eax
mov eax, dword [esi + 0x24c]
cmp word [eax + 0x302], 0
je 0x4c35b1
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [ebx + 8]
mov dword [edx], eax
mov eax, esi
call fcn.004cf20c
push eax
mov eax, esi
call fcn.004cf174
lea ecx, [esp + 0x88]
pop edx
call fcn.00407ecc
mov edi, dword [ebx + 8]
mov eax, dword [esp + 0x84]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 0xc], eax
mov byte [edi + 0x20], 2
jmp case.0x4c3a8b.0
mov edi, dword [esi + 0x50]
cmp dword [edi + 0x28], 0xffffffff
jle 0x4c35f5
mov eax, edi
call fcn.00511f64
mov eax, dword [eax + 0xd0]
mov ebp, dword [esi + 0x50]
imul edx, dword [ebp + 0x28], 0x43
mov eax, dword [eax + edx*4 + 8]
dec eax
movzx edx, byte [esi + 0x244]
cmp eax, edx
jle 0x4c35e5
movzx eax, byte [esi + 0x244]
push 0
mov edx, dword [ebx + 8]
mov ecx, eax
mov eax, ebp
call fcn.00510804
jmp 0x4c3619
movzx eax, byte [esi + 0x244]
test eax, eax
jge 0x4c3609
movzx eax, byte [esi + 0x244]
jmp 0x4c360b
xor eax, eax
push 0
mov edx, dword [ebx + 8]
mov ecx, eax
mov eax, edi
call fcn.00510804
mov eax, dword [ebx + 8]
cmp byte [eax + 0x20], 2
jne 0x4c363f
cmp byte [eax + 0x21], 0
jne 0x4c363f
cmp dword [eax], 0
jne 0x4c363f
mov eax, esi
call fcn.004cceec
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [ebx + 8]
mov dword [edx], eax
mov eax, esi
call fcn.004cf174
mov edx, dword [ebx + 8]
add dword [edx + 8], eax
mov eax, esi
call fcn.004cf20c
mov edx, dword [ebx + 8]
add dword [edx + 0xc], eax
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
movzx eax, word [eax + 0x52]
mov dword [ebx + 0xc], eax
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
test byte [eax + 0x1c], 8
jne 0x4c368b
mov dl, 1
mov eax, dword [esi + 0x50]
call fcn.00512498
test al, al
jne 0x4c3a67
mov eax, dword [ebx]
mov edx, dword [0x5d1b08]
cmp eax, dword [edx]
jne 0x4c388f
movzx eax, word [ebx + 6]
dec ax
je 0x4c36b6
sub ax, 3
jne 0x4c388f
mov dword [ebx + 0xc], esi
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
test byte [eax + 0x1c], 8
jne 0x4c388f
cmp dword [esi + 0x50], 0
je 0x4c388f
mov eax, dword [esi + 0x50]
call fcn.00511f64
cmp eax, dword [ebx + 8]
jne case.0x4c3a8b.0
mov eax, esi
call fcn.004d26e8
mov al, 1
call fcn.00522d2c
mov eax, dword [esi + 0x50]
call fcn.00512d0c
mov dword [esi + 0x20c], 0xffffffff
mov eax, esi
call fcn.004d282c
mov dword [esi + 0x20c], eax
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov edx, 0x4ca464
call fcn.0051f580
mov dword [esi + 0x214], eax
mov eax, dword [esi + 0x50]
call fcn.00511f64
test eax, eax
je 0x4c386d
cmp dword [esi + 0x268], 0
je 0x4c3778
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x4c3778
mov eax, esi
call fcn.004d4660
mov ebx, eax
mov eax, dword [esi + 0x24c]
call fcn.004bf144
add eax, 4
cmp ebx, eax
setg al
mov byte [esi + 0x208], al
jmp 0x4c377f
mov byte [esi + 0x208], 0
mov dl, 1
mov eax, esi
call fcn.004d1eb8
mov eax, esi
call fcn.004d0484
mov ebx, dword [esi + 0x24c]
cmp byte [ebx + 0x277], 2
jne 0x4c37b9
mov eax, ebx
call fcn.00471bac
mov edx, dword [0x5d1f94]
mov edx, dword [edx]
cmp eax, dword [edx + 0x6c]
jne 0x4c37b9
mov byte [esi + 0x244], 1
mov eax, dword [esi + 0x50]
call fcn.00511f64
test byte [eax + 0x1c], 1
jne 0x4c3805
mov eax, dword [esi + 0x24c]
cmp dword [eax + 0x290], 0
je 0x4c37e6
cmp byte [esi + 0xbd], 0
je 0x4c37e6
mov byte [esi + 0xb9], 1
mov dl, 1
mov eax, esi
call fcn.004cfe68
cmp byte [esi + 0xb9], 0
jne 0x4c3805
mov eax, esi
call fcn.004cfa54
mov byte [esi + 0xb9], al
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
mov dword [esi + 0x250], 0xffffffff
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 2
jne 0x4c382e
mov dl, 1
mov eax, esi
call fcn.004d0d70
cmp byte [esi + 0x5c], 0
je 0x4c3857
mov eax, dword [esi + 0x50]
cmp byte [eax + 9], 0
jne 0x4c3857
mov eax, dword [esi + 0x50]
call fcn.00511f64
call fcn.005173b0
mov edx, eax
mov eax, dword [esi + 0x24c]
call fcn.00459dfc
mov eax, dword [esi + 0x24c]
call fcn.00461e10
xor ecx, ecx
movzx edx, byte [esi + 0x78]
call fcn.004bf400
mov eax, dword [esi + 0x228]
test eax, eax
jne 0x4c3883
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x30]
jmp case.0x4c3a8b.0
xor edx, edx
call fcn.004d6004
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [ebx]
sub eax, 0x47
je 0x4c38bd
sub eax, 0x3b
je 0x4c3996
sub eax, 0xafc1
je 0x4c3a59
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
call fcn.00511f64
test eax, eax
je case.0x4c3a8b.0
call fcn.00504fb4
test al, al
je case.0x4c3a8b.0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x18]
and eax, 0x80
cmp eax, 0x80
jne case.0x4c3a8b.0
cmp byte [esi + 0x95], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne case.0x4c3a8b.0
cmp byte [esi + 0x222], 0
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
call fcn.00511f64
cmp byte [eax + 0x3c], 0
je case.0x4c3a8b.0
cmp byte [esi + 0x78], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je case.0x4c3a8b.0
mov eax, dword [0x5d15b4]
xor edx, edx
mov dword [eax], edx
mov byte [esi + 0x222], 1
mov eax, esi
call fcn.004ae12c
mov eax, dword [0x5d1748]
cmp byte [eax], 0
jne 0x4c396e
mov eax, dword [esi + 0x24c]
call fcn.00461e10
xor edx, edx
call fcn.004c3060
mov byte [esi + 0x222], 0
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
jne case.0x4c3a8b.0
mov eax, dword [0x5d1d9c]
cmp dword [eax], 0
je case.0x4c3a8b.0
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
cmp dword [eax + 0x240], 0
je case.0x4c3a8b.0
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
test byte [eax + 0x1c], 8
jne case.0x4c3a8b.0
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
test byte [eax + 0x1c], 8
jne case.0x4c3a8b.0
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov dl, 1
call fcn.00512498
test al, al
je case.0x4c3a8b.0
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
call fcn.004d03b0
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00471bac
test eax, eax
jne case.0x4c3a8b.0
push 0x507
push 0
push 0
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
mov eax, dword [eax + 0x29c]
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, esi
call fcn.004d290c
jmp case.0x4c3a8b.0
mov eax, dword [ebx]
mov edx, dword [0x5d1b08]
cmp eax, dword [edx]
jne 0x4c4042
movzx eax, word [ebx + 6]
cmp eax, 0x3e
ja case.0x4c3a8b.0
movzx eax, byte [eax + 0x4c3a92]
jmp dword [eax*4 + 0x4c3ad1]
mov eax, dword [esi + 0x24c]
test eax, eax
je case.0x4c3a8b.0
test byte [eax + 0x1c], 1
jne case.0x4c3a8b.0
cmp dword [esi + 0x228], 0
je case.0x4c3a8b.0
cmp dword [ebx + 8], 0
je 0x4c3b4f
mov edx, dword [ebx + 8]
mov eax, dword [esi + 0x228]
call fcn.004d6004
jmp case.0x4c3a8b.0
mov edx, eax
mov eax, dword [esi + 0x228]
call fcn.004d6004
jmp case.0x4c3a8b.0
cmp dword [esi + 0x50], 0
je case.0x4c3a8b.0
mov eax, dword [0x5d1748]
cmp byte [eax], 0
jne 0x4c3b8a
mov eax, dword [esi + 0x50]
call fcn.005103b0
test al, al
je 0x4c3b8a
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x1c], 0
jne 0x4c3b8e
xor eax, eax
jmp 0x4c3b90
mov al, 1
and eax, 0x7f
mov dword [ebx + 0xc], eax
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x1c], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
mov byte [eax + 0x1c], 0
push 0x401
push 0
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
jmp case.0x4c3a8b.0
cmp dword [ebx + 8], 1
jne 0x4c3be7
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
mov eax, esi
call fcn.004c0200
jmp case.0x4c3a8b.0
cmp word [ebx + 4], 1
sete dl
mov eax, dword [esi + 0x50]
call fcn.00512494
mov eax, dword [esi + 0x50]
call fcn.00511f78
test al, al
je case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
call fcn.00511f64
cmp eax, dword [ebx + 8]
jne case.0x4c3a8b.0
cmp dword [esi + 0x228], 0
jne 0x4c3c42
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x30]
jmp 0x4c3c4f
xor edx, edx
mov eax, dword [esi + 0x228]
call fcn.004d6004
cmp byte [esi + 0x78], 0
je 0x4c3c6d
cmp byte [esi + 0xa6], 0
je 0x4c3c6d
lea edx, [esi + 0x224]
xor ecx, ecx
mov eax, esi
call fcn.004c00b4
mov eax, dword [esi + 0x24c]
cmp dword [eax + 0x30], 0
je 0x4c3c91
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
je 0x4c3c91
mov eax, dword [esi + 0x50]
and word [eax + 0x52], 0xfffe
mov dword [esi + 0x250], 0xffffffff
mov eax, dword [esi + 0x50]
call fcn.00511f64
test byte [eax + 0x1c], 1
jne 0x4c3cc3
mov eax, esi
call fcn.004cfa54
xor edx, edx
mov eax, dword [esi + 0x50]
call fcn.00512498
mov edx, eax
mov eax, esi
call fcn.004cfe68
mov eax, esi
call fcn.004c01b8
test al, al
je 0x4c3cd2
mov byte [esi + 0x34], 1
mov eax, esi
call fcn.004d449c
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x57], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
mov eax, dword [esi + 0x50]
call fcn.00511f64
call fcn.00521338
mov edx, eax
mov eax, esi
call fcn.004d24c4
mov eax, dword [0x5d1748]
cmp byte [eax], 0
jne 0x4c3db6
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 2
jne 0x4c3d72
mov eax, dword [esi + 0x24c]
call fcn.00471bac
test eax, eax
je 0x4c3d72
mov eax, dword [esi + 0x24c]
call fcn.00471bac
cmp byte [eax + 0x273], 2
jne 0x4c3d72
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, esi
call fcn.004d2c2c
push 0xffffffffffffffff
push 0
mov eax, dword [esi + 0x24c]
call fcn.00471bac
call fcn.00461e10
push eax
call sub.user32.dll_InvalidateRect
jmp 0x4c3db6
push 0x545
push 0
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 2
jne 0x4c3db6
push 0x545
push 0
push 0
mov eax, dword [esi + 0x24c]
mov eax, dword [eax + 0x29c]
push eax
call sub.user32.dll_RedrawWindow
cmp byte [esi + 0x5c], 0
je 0x4c3ddf
mov eax, dword [esi + 0x50]
cmp byte [eax + 9], 0
jne 0x4c3ddf
mov eax, dword [esi + 0x50]
call fcn.00511f64
call fcn.005173b0
mov edx, eax
mov eax, dword [esi + 0x24c]
call fcn.00459dfc
cmp dword [esi + 0x240], 0
je 0x4c3df3
mov eax, dword [esi + 0x240]
call fcn.004bae08
xor edx, edx
mov eax, dword [esi + 0x50]
call fcn.00512494
cmp dword [esi + 0x254], 0
je 0x4c3e11
mov eax, dword [esi + 0x254]
call fcn.004d5460
mov edx, ebx
mov eax, esi
call fcn.004d1074
cmp dword [esi + 0x268], 0
je case.0x4c3a8b.0
mov cl, 0xff
mov dl, 1
mov eax, dword [esi + 0x268]
call fcn.004d8f20
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0xd0]
mov edi, dword [esi + 0x50]
imul edx, dword [edi + 0x28], 0x43
mov ebp, dword [eax + edx*4 + 0xa8]
mov eax, edi
call fcn.00511f64
mov eax, dword [eax + 0xd0]
mov edx, dword [esi + 0x50]
imul edx, dword [edx + 0x28], 0x43
add ebp, dword [eax + edx*4 + 0xb4]
test ebp, ebp
setg al
mov ebp, eax
and ebp, 0x7f
mov dword [ebx + 8], ebp
mov dword [ebx + 0xc], ebp
jmp case.0x4c3a8b.0
xor ecx, ecx
xor edx, edx
mov eax, dword [esi + 0x50]
call fcn.00510c80
mov dword [ebx + 0xc], eax
jmp case.0x4c3a8b.0
mov dword [ebx + 0xc], esi
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
call fcn.00511f64
cmp eax, dword [ebx + 8]
jne case.0x4c3a8b.0
mov al, 1
call fcn.00522d2c
mov eax, dword [esi + 0x50]
call fcn.00512d0c
mov dword [esi + 0x20c], 0xffffffff
mov eax, esi
call fcn.004d282c
mov dword [esi + 0x20c], eax
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov edx, 0x4ca464
call fcn.0051f580
mov dword [esi + 0x214], eax
mov eax, dword [esi + 0x50]
call fcn.00511f64
test eax, eax
je case.0x4c3a8b.0
mov eax, esi
call fcn.004d0484
mov al, 1
call fcn.00522d2c
movzx edx, byte [esi + 0x78]
mov eax, esi
call fcn.004d1eb8
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x44]
call fcn.00524d94
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
mov dword [esi + 0x250], 0xffffffff
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, esi
call fcn.004d2c2c
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 2
jne case.0x4c3a8b.0
mov dl, 1
mov eax, esi
call fcn.004d0d70
jmp case.0x4c3a8b.0
mov cl, 1
or edx, 0xffffffff
mov eax, esi
call fcn.004cb71c
mov byte [0x5ce514], 0
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
call fcn.0051215c
test al, al
je case.0x4c3a8b.0
push 0
push 0
push 0xb
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
call fcn.0051215c
test al, al
je case.0x4c3a8b.0
push 0
push 1
push 0xb
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
push 0x585
push 0
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [0x5d1d9c]
cmp esi, dword [eax]
jne case.0x4c3a8b.0
push 0x581
push 0
push 0
mov eax, dword [esi + 0x24c]
mov eax, dword [eax + 0x29c]
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x4c3a8b.0
mov eax, ebx
mov edx, dword [esi + 0x50]
call fcn.00512e2c
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x38], 0
je case.0x4c3a8b.0
mov eax, esi
call fcn.004cceec
jmp case.0x4c3a8b.0
cmp eax, 0xa4
jg 0x4c41a5
je 0x4c6bcc
cmp eax, 0x2c
jg 0x4c4106
je 0x4c8bde
cmp eax, 0x24
ja case.0x4c406b.0
jmp dword [eax*4 + 0x4c4072]
cmp eax, 0x81
jg 0x4c415c
je 0x4c5fec
cmp eax, 0x4e
jg 0x4c413c
je 0x4ca36f
sub eax, 0x46
je 0x4c9731
dec eax
je 0x4c9d06
sub eax, 3
je 0x4c43ae
jmp case.0x4c406b.0
sub eax, 0x7b
je 0x4c448e
sub eax, 2
je 0x4c465a
sub eax, 3
je 0x4c45a8
jmp case.0x4c406b.0
cmp eax, 0xa0
jg 0x4c4187
je 0x4c4315
sub eax, 0x84
je 0x4c5d1f
dec eax
je 0x4c7849
dec eax
je 0x4c7faf
jmp case.0x4c406b.0
sub eax, 0xa1
je 0x4c6019
dec eax
je 0x4c6c6e
dec eax
je 0x4c8a37
jmp case.0x4c406b.0
cmp eax, 0x318
jg 0x4c4268
je case.0x4c3a8b.0
cmp eax, 0x211
jg 0x4c4214
je 0x4c5b91
cmp eax, 0x121
jg 0x4c41f2
je 0x4c72ee
sub eax, 0xa5
je 0x4c6bee
sub eax, 0x6d
je 0x4c8c62
sub eax, 5
je 0x4c463a
jmp case.0x4c406b.0
sub eax, 0x200
je 0x4c66de
sub eax, 2
je 0x4c6c6e
sub eax, 0xe
je 0x4ca2b7
jmp case.0x4c406b.0
cmp eax, 0x232
jg 0x4c4246
je 0x4c4523
sub eax, 0x212
je 0x4c5cf2
sub eax, 2
je 0x4c5f30
add eax, 0xfffffff3
sub eax, 2
jb 0x4c87d7
jmp case.0x4c406b.0
sub eax, 0x2a3
je 0x4c5f5f
sub eax, 0x70
je 0x4c4734
sub eax, 4
je 0x4c73b3
jmp case.0x4c406b.0
cmp eax, 0xb015
jg 0x4c42c6
je 0x4c733e
cmp eax, 0xb00b
jg 0x4c42a6
je 0x4c898f
sub eax, 0x323
je 0x4c4444
sub eax, 3
je 0x4c4419
sub eax, 0xa0da
je 0x4c436c
jmp case.0x4c406b.0
sub eax, 0xb00c
je 0x4c5099
sub eax, 7
je 0x4c5f85
dec eax
je 0x4c5f5f
jmp case.0x4c406b.0
cmp eax, 0xb03a
jg 0x4c42f5
je 0x4c72f8
sub eax, 0xb019
je 0x4c4776
sub eax, 0x13
je 0x4ca3ad
sub eax, 7
je 0x4c7f66
jmp case.0x4c406b.0
sub eax, 0xb043
je 0x4c4350
sub eax, 9
je 0x4c783f
sub eax, 0xc01
je 0x4c783f
jmp case.0x4c406b.0
mov eax, dword [esi + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
mov eax, dword [esi + 0x50]
call fcn.00511f64
pop edx
call fcn.00520838
mov edx, ebx
mov eax, esi
call fcn.004d2b80
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov edx, ebx
mov eax, esi
call fcn.004d290c
jmp case.0x4c3a8b.0
mov eax, dword [ebx + 4]
dec eax
je 0x4c4392
sub eax, 2
je 0x4c437f
dec eax
je 0x4c43a2
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
call fcn.0047528c
jmp case.0x4c3a8b.0
mov dword [ebx + 0xc], 1
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
cmp dword [ebx + 0xc], 0
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
mov edx, dword [0x5d1cd0]
cmp eax, dword [edx]
jne case.0x4c3a8b.0
mov eax, dword [0x5d17ac]
cmp byte [eax], 0
jne case.0x4c3a8b.0
mov eax, dword [0x5d17ac]
mov byte [eax], 1
cmp dword [ebx + 8], 0
je 0x4c440c
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov edx, eax
mov eax, ebx
call fcn.0051533c
mov eax, dword [0x5d17ac]
mov byte [eax], 0
jmp case.0x4c3a8b.0
mov eax, dword [0x5d1c10]
cmp byte [eax], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
mov edx, esi
call fcn.004bde08
and eax, 0x7f
mov dword [ebx + 0xc], eax
jmp case.0x4c3a8b.0
mov eax, dword [0x5d1c10]
cmp byte [eax], 0
je case.0x4c3a8b.0
cmp word [ebx + 0xa], 0
je case.0x4c3a8b.0
cmp word [ebx + 8], 0
je case.0x4c3a8b.0
movzx eax, word [ebx + 8]
push eax
mov eax, dword [esi + 0x24c]
call fcn.00461e10
movzx ecx, word [ebx + 0xa]
mov edx, esi
call fcn.004bdb9c
and eax, 0x7f
mov dword [ebx + 0xc], eax
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp dword [eax + 0x80], 0
je 0x4c44c7
mov eax, dword [esi + 0x50]
call fcn.00511f64
movzx eax, byte [eax + 0x58]
push eax
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x44]
mov edx, dword [esi + 0x24c]
mov edx, dword [edx + 0x80]
pop ecx
call fcn.00526280
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
cmp dword [ebx + 4], 1
jne 0x4c450a
mov eax, dword [esi + 0xb4]
dec eax
test eax, eax
jge 0x4c44f3
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x4c44fe
mov eax, dword [esi + 0xb4]
dec eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0xb4], eax
jmp 0x4c4510
inc dword [esi + 0xb4]
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
cmp dword [esi + 0x268], 0
je case.0x4c3a8b.0
mov eax, dword [0x5d1ddc]
cmp dword [eax], 0
je case.0x4c3a8b.0
mov eax, dword [0x5d1ddc]
mov eax, dword [eax]
mov ebp, dword [eax + 8]
dec ebp
test ebp, ebp
jl case.0x4c3a8b.0
inc ebp
xor edi, edi
mov eax, dword [0x5d1ddc]
mov eax, dword [eax]
mov edx, edi
call fcn.00420044
test eax, eax
je 0x4c4591
mov eax, dword [0x5d1ddc]
mov eax, dword [eax]
mov edx, edi
call fcn.00420044
mov eax, dword [eax + 0x38]
xor ecx, ecx
mov edx, 0x12
call fcn.004b0a8c
inc edi
dec ebp
jne 0x4c4562
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, esi
call fcn.004d2574
jmp case.0x4c3a8b.0
test byte [esi + 0x1c], 1
jne 0x4c4627
cmp dword [ebx + 8], 0
je 0x4c4627
mov eax, dword [0x5d1748]
cmp byte [eax], 0
jne 0x4c4627
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x1da], 0
je 0x4c4627
call fcn.004bf36c
test al, al
jne 0x4c45ed
push 0
push 0
push 0xb
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
call fcn.004bf36c
test al, al
jne 0x4c461b
push 0
push 1
push 0xb
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
mov eax, esi
call fcn.004c0200
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
call fcn.00511f64
cmp byte [eax + 0x58], 0
je case.0x4c3a8b.0
mov edx, ebx
mov eax, esi
call fcn.004d2188
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [esi + 0x254]
test eax, eax
je 0x4c46a9
cmp dword [eax + 0x98], 0
je 0x4c46a9
mov edx, dword [esi + 0x24c]
test byte [edx + 0x270], 1
setne dl
mov ecx, dword [eax + 0x98]
cmp dl, byte [ecx + 0x3e]
je 0x4c46a9
xor edx, edx
call fcn.004d5464
mov eax, esi
call fcn.004c0200
jmp case.0x4c3a8b.0
cmp dword [ebx + 4], 0xffffffec
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x22c]
and eax, 0x80
cmp eax, 0x80
je case.0x4c3a8b.0
mov eax, dword [esi + 0x22c]
and eax, 0x100
cmp eax, 0x100
je case.0x4c3a8b.0
mov eax, dword [esi + 0x22c]
and eax, 0x400
cmp eax, 0x400
je case.0x4c3a8b.0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 4]
and eax, 0x80000
mov edx, dword [ebx + 8]
mov edx, dword [edx]
and edx, 0x80000
cmp eax, edx
je case.0x4c3a8b.0
cmp dword [esi + 0x268], 0
je case.0x4c3a8b.0
mov cl, 0xff
mov dl, 1
mov eax, dword [esi + 0x268]
call fcn.004d8f20
jmp case.0x4c3a8b.0
lea edx, [esp + 0x84]
mov eax, dword [0x5d1f10]
mov eax, dword [eax]
call fcn.00467150
mov eax, dword [esp + 0x88]
push eax
lea edx, [esp + 0x90]
mov eax, dword [0x5d1f10]
mov eax, dword [eax]
call fcn.00467150
mov edx, dword [esp + 0x90]
mov eax, esi
pop ecx
call fcn.004ced08
jmp case.0x4c3a8b.0
mov dword [esp + 4], 0xff
cmp byte [esi + 0x78], 0
je 0x4c4c43
cmp byte [esi + 0xa6], 0
je 0x4c4c43
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x1da], 0
je 0x4c4be0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
jne 0x4c47e4
cmp dword [esi + 0x228], 0
je 0x4c47d1
mov edx, dword [esi + 0x24c]
mov eax, dword [esi + 0x228]
call fcn.004d6004
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 2
jne 0x4c47fc
mov dl, 1
mov eax, esi
call fcn.004d0d70
and dword [esi + 0x22c], 0xfffffdff
cmp dword [esi + 0x268], 0
je 0x4c4819
mov eax, dword [esi + 0x268]
mov byte [eax + 0x28], 0
cmp dword [esi + 0x218], 0
je 0x4c4842
mov eax, dword [esi + 0x218]
mov edx, dword [0x4bda70]
call fcn.004048c0
test al, al
je 0x4c4842
lea eax, [esi + 0x218]
call fcn.004118cc
mov eax, dword [0x5d1660]
cmp byte [eax], 0
je 0x4c488a
mov eax, dword [esi + 0x24c]
call fcn.004621b0
test al, al
je 0x4c488a
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
cmp dword [eax + 0x44], 0
je 0x4c487a
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [esi + 0x24c]
jne 0x4c488a
mov eax, dword [esi + 0x24c]
call fcn.00461e10
call fcn.004c0dd8
mov eax, esi
call fcn.004d0a80
cmp dword [esi + 0x228], 0
je 0x4c48ab
mov edx, dword [esi + 0x24c]
mov eax, dword [esi + 0x228]
call fcn.004d6004
cmp byte [esi + 0x95], 0
je 0x4c48f8
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
je 0x4c48cf
mov eax, dword [esi + 0x24c]
cmp dword [eax + 0x30], 0
jne 0x4c48f8
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
cmp byte [eax + 6], 0
je 0x4c48f8
mov eax, dword [esi + 0x24c]
call fcn.00461e10
mov edx, dword [0x5d1cd0]
cmp eax, dword [edx]
jne 0x4c48fc
xor eax, eax
jmp 0x4c48fe
mov al, 1
mov byte [esi + 0x223], al
mov byte [esp + 0x11], 0
cmp byte [esi + 0x223], 0
je 0x4c49e1
mov dl, 1
mov eax, dword [esi + 0x50]
call fcn.00512494
mov byte [esi + 0x220], 1
mov eax, dword [esi + 0x24c]
call fcn.00461e10
mov dl, 1
call fcn.004c3060
mov byte [esp + 0x11], al
mov dword [esp + 4], 0xff
cmp byte [esp + 0x11], 0
je 0x4c495e
xor edx, edx
mov eax, esi
call fcn.004bfd78
mov byte [esi + 0x230], 0
jmp 0x4c497c
mov eax, dword [esi + 0x24c]
movzx eax, byte [eax + 0x329]
mov dword [esp + 4], eax
xor edx, edx
mov eax, dword [esi + 0x24c]
call fcn.00475df8
mov eax, dword [esi + 0x24c]
call fcn.0045dcc0
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x4c49eb
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [esi + 0x24c]
call fcn.0045dc84
cmp byte [eax + 0x57], 0
je 0x4c49db
mov edx, edi
mov eax, dword [esi + 0x24c]
call fcn.0045dc84
mov edx, dword [0x5c97a4]
call fcn.004048c0
test al, al
jne 0x4c49db
push 0
mov edx, edi
mov eax, dword [esi + 0x24c]
call fcn.0045dc84
xor ecx, ecx
mov edx, 0xb
call fcn.0045af94
inc edi
dec ebp
jne 0x4c4991
jmp 0x4c49eb
xor edx, edx
mov eax, dword [esi + 0x50]
call fcn.00512494
mov eax, dword [esi + 0x50]
call fcn.00511f64
call fcn.00521338
mov edx, eax
mov eax, esi
call fcn.004d24c4
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
xor edx, edx
mov eax, dword [esi + 0x50]
call fcn.00512498
test al, al
jne 0x4c4aca
cmp byte [esi + 0x223], 0
je 0x4c4aca
mov eax, dword [esi + 0x24c]
call fcn.0045dcc0
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x4c4a78
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [esi + 0x24c]
call fcn.0045dc84
cmp byte [eax + 0x57], 0
je 0x4c4a74
push 0
mov edx, edi
mov eax, dword [esi + 0x24c]
call fcn.0045dc84
mov ecx, 1
mov edx, 0xb
call fcn.0045af94
inc edi
dec ebp
jne 0x4c4a43
push 0xffffffffffffffec
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xfff7ffff
push eax
push 0xffffffffffffffec
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowLongA
push 0x81
push 0
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
mov byte [esi + 0x230], 0
jmp case.0x4c3a8b.0
lea edx, [esi + 0x224]
xor ecx, ecx
mov eax, esi
call fcn.004c00b4
cmp byte [esi + 0x223], 0
je 0x4c4b94
mov eax, dword [esi + 0x24c]
call fcn.0045dcc0
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x4c4b30
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [esi + 0x24c]
call fcn.0045dc84
cmp byte [eax + 0x57], 0
je 0x4c4b2c
push 0
mov edx, edi
mov eax, dword [esi + 0x24c]
call fcn.0045dc84
mov ecx, 1
mov edx, 0xb
call fcn.0045af94
inc edi
dec ebp
jne 0x4c4afb
cmp byte [esp + 0x11], 0
je 0x4c4b49
mov eax, dword [esi + 0x24c]
call fcn.00461e10
xor edx, edx
call fcn.004c3060
mov byte [esi + 0x223], 0
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
movzx edi, word [eax + 4]
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
movzx eax, byte [eax + 7]
mov byte [esp + 0x13], al
movzx eax, byte [esp + 0x13]
push eax
mov ecx, dword [esp + 8]
mov edx, edi
mov eax, esi
call fcn.004ad7c4
mov byte [esi + 0x230], 0
jmp 0x4c4bae
push 0x81
push 0
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x273], 2
jne case.0x4c3a8b.0
mov al, 1
call fcn.004c2ed4
jmp case.0x4c3a8b.0
cmp dword [esi + 0x268], 0
je 0x4c4c30
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x4c4c25
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
movzx eax, word [eax + 4]
mov ecx, 0xc
xor edx, edx
div ecx
test eax, eax
je 0x4c4c25
cmp byte [esi + 0x95], 0
jne 0x4c4c30
lea eax, [esi + 0x268]
call fcn.004118cc
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
call fcn.004bf36c
test al, al
je 0x4c4c80
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x1da], 0
je 0x4c4c80
push 0
push 1
push 0xb
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [esi + 0x50]
mov byte [eax + 0x1c], 0
call fcn.004bf36c
test al, al
je case.0x4c3a8b.0
push 0x181
push 0
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
je 0x4c4dec
cmp dword [ebx + 4], 1
jne 0x4c4d55
cmp dword [esi + 0x268], 0
je 0x4c4ce3
mov eax, dword [esi + 0x268]
mov byte [eax + 0x28], 0
mov eax, dword [esi + 0x22c]
and eax, 0x400
cmp eax, 0x400
jne 0x4c4d01
mov dword [esi + 0x22c], 0x400
jmp 0x4c4d09
xor eax, eax
mov dword [esi + 0x22c], eax
call fcn.004bf36c
test al, al
je 0x4c4d55
mov eax, dword [0x5d1748]
cmp byte [eax], 0
jne 0x4c4d55
push 0xffffffffffffffec
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0x80000
cmp eax, 0x80000
je 0x4c4d55
push 0x481
push 0
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [ebx + 8]
dec eax
je 0x4c4d65
sub eax, 2
je 0x4c4db3
jmp 0x4c4dec
cmp byte [esi + 0x221], 0
je 0x4c4dec
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x4c4d8c
mov byte [esi + 0x221], 2
jmp 0x4c4dec
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x4c4daa
mov byte [esi + 0x221], 3
jmp 0x4c4dec
mov byte [esi + 0x221], 1
jmp 0x4c4dec
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x4c4dec
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [esi + 0x24c]
jne 0x4c4dec
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
cmp dword [ebx + 4], 1
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
jne 0x4c4e2e
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x273], 2
jne 0x4c4e2e
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
call fcn.004d03b0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 2
jne 0x4c4e8f
mov eax, dword [esi + 0x24c]
call fcn.00471be0
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x4c4e8f
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [esi + 0x24c]
call fcn.00471c2c
call fcn.00461e10
mov edx, 7
call fcn.004b0b30
test al, al
jne 0x4c4e8b
mov edx, edi
mov eax, dword [esi + 0x24c]
call fcn.00471c2c
call fcn.00461e10
xor edx, edx
call fcn.004b1ed0
inc edi
dec ebp
jne 0x4c4e52
mov eax, dword [esi + 0x24c]
cmp dword [eax + 0x30], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
je case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
and word [eax + 0x52], 0xfffe
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
call fcn.004621b0
test al, al
je 0x4c5086
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4c5086
mov eax, dword [esi + 0x24c]
test byte [eax + 0x54], 0x40
jne 0x4c5086
cmp byte [esi + 0x78], 0
je 0x4c5086
cmp dword [esi + 0xc0], 0
je 0x4c4f21
lea eax, [esi + 0xc0]
call fcn.004118cc
cmp dword [esi + 0xc4], 0
je 0x4c4f35
lea eax, [esi + 0xc4]
call fcn.004118cc
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
jne 0x4c4f8e
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x273], 2
jne 0x4c4f8e
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x39], 1
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
xor edx, edx
call fcn.004bf860
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
call fcn.004bfb90
jmp 0x4c5065
call fcn.004bf36c
test al, al
jne 0x4c4feb
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
xor edx, edx
mov eax, esi
call fcn.004bf860
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, esi
call fcn.004bfb90
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x328], 0
je 0x4c5065
push 0
push 0
push 0x85
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
jmp 0x4c5065
cmp dword [esi + 0x268], 0
jne 0x4c500b
push 0
push 0
push 0xb
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
cmp dword [esi + 0x268], 0
jne 0x4c505e
push 0
push 1
push 0xb
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, esi
call fcn.004d2c2c
mov eax, dword [esi + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x84]
mov eax, esi
call fcn.004c0200
cmp dword [esi + 0x268], 0
je case.0x4c3a8b.0
mov cl, 0xff
mov dl, 1
mov eax, dword [esi + 0x268]
call fcn.004d8f20
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
cmp byte [esi + 0x78], 0
je case.0x4c3a8b.0
cmp dword [esi + 0x268], 0
je 0x4c50e1
mov eax, dword [esi + 0x268]
cmp dword [eax + 0x18], 0
je 0x4c50e1
mov eax, dword [esi + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x50]
mov edx, eax
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
push 0
push 0
push 0x85
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, esi
call fcn.004cfa54
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, esi
call fcn.004cfa54
mov eax, dword [0x5d1d9c]
cmp dword [eax], 0
je case.0x4c3a8b.0
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00471bac
test eax, eax
je case.0x4c3a8b.0
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00471bac
cmp byte [eax + 0x273], 2
jne 0x4c5190
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x240]
call fcn.004baea8
jmp case.0x4c3a8b.0
mov dl, 1
mov eax, esi
call fcn.004d1eb8
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x1c], 0
jne 0x4c5b56
mov eax, esi
call fcn.004bf470
test al, al
je 0x4c53bf
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov edi, dword [eax + 0x180]
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov edx, edi
call fcn.0051957c
test al, al
je 0x4c53bf
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0xc8]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.005279a8
push eax
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0xc8]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
movsx eax, word [eax + edx*8 + 0x1c]
pop edx
xchg edx, eax
mov ecx, edx
cdq
idiv ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0xc8]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.005279bc
push eax
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0xc8]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
movsx eax, word [eax + edx*8 + 0x1e]
inc eax
pop edx
xchg edx, eax
mov ecx, edx
cdq
idiv ecx
mov edi, eax
lea eax, [esi + 0x1f8]
xor edx, edx
call fcn.005279a8
mov ebp, eax
mov eax, dword [esi + 0x24c]
call fcn.004595d0
cmp ebp, eax
jl 0x4c52b2
lea eax, [esi + 0x1f8]
xor edx, edx
call fcn.005279bc
mov ebp, eax
mov eax, dword [esi + 0x24c]
call fcn.00459614
cmp ebp, eax
jge 0x4c531d
mov eax, dword [esi + 0x50]
call fcn.005103b0
test al, al
jne 0x4c531d
lea eax, [esi + 0x1f8]
xor edx, edx
call fcn.005279a8
test eax, eax
je 0x4c531d
mov eax, dword [esi + 0x204]
push eax
lea eax, [esp + 0x38]
push eax
mov edx, dword [esi + 0x204]
sub edx, edi
mov eax, dword [esi + 0x200]
sub eax, dword [esp + 0xc]
mov ecx, dword [esi + 0x200]
call fcn.00407eb0
mov eax, dword [esi + 0x50]
call fcn.005103b0
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_InvalidateRect
lea eax, [esi + 0x1f8]
xor edx, edx
call fcn.005279a8
mov ebp, eax
mov eax, dword [esi + 0x24c]
call fcn.004595d0
cmp ebp, eax
jg 0x4c5359
lea eax, [esi + 0x1f8]
xor edx, edx
call fcn.005279bc
mov ebp, eax
mov eax, dword [esi + 0x24c]
call fcn.00459614
cmp ebp, eax
jle 0x4c53bf
mov eax, dword [esi + 0x24c]
call fcn.00459614
push eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [esi + 0x24c]
call fcn.004595d0
push eax
mov eax, dword [esi + 0x24c]
call fcn.00459614
sub eax, edi
push eax
mov eax, dword [esi + 0x24c]
call fcn.004595d0
sub eax, dword [esp + 0x14]
pop edx
pop ecx
call fcn.00407eb0
mov eax, dword [esi + 0x50]
call fcn.005103b0
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_InvalidateRect
lea eax, [esi + 0x1f8]
xor edx, edx
call fcn.005279a8
mov edi, eax
mov eax, dword [esi + 0x24c]
call fcn.004595d0
cmp edi, eax
jg 0x4c5410
lea eax, [esi + 0x1f8]
xor edx, edx
call fcn.005279bc
mov edi, eax
mov eax, dword [esi + 0x24c]
call fcn.00459614
cmp edi, eax
jg 0x4c5410
lea eax, [esi + 0x1f8]
xor edx, edx
call fcn.005279a8
test eax, eax
jne 0x4c562c
push 0x4ca474
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov edx, dword [esi + 0x50]
mov ecx, dword [edx + 4]
mov edx, dword [esi + 0x50]
mov edx, dword [edx + 0x28]
call fcn.0051f5d8
mov edi, eax
cmp edi, 0xffffffff
jle 0x4c551e
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0xc8]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.005279a8
push eax
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0xc8]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
movsx eax, word [eax + edx*8 + 0x1c]
pop edx
xchg edx, eax
mov ecx, edx
cdq
idiv ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0xc8]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.005279bc
push eax
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0xc8]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
movsx eax, word [eax + edx*8 + 0x1e]
inc eax
pop edx
xchg edx, eax
mov ecx, edx
cdq
idiv ecx
mov edi, eax
mov eax, dword [esi + 0x204]
push eax
lea eax, [esp + 0x38]
push eax
mov edx, dword [esi + 0x204]
sub edx, edi
mov eax, dword [esi + 0x200]
sub eax, dword [esp + 0xc]
mov ecx, dword [esi + 0x200]
call fcn.00407eb0
mov eax, dword [esi + 0x50]
call fcn.005103b0
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_InvalidateRect
push 0x4ca488
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov edx, dword [esi + 0x50]
mov ecx, dword [edx + 4]
mov edx, dword [esi + 0x50]
mov edx, dword [edx + 0x28]
call fcn.0051f5d8
mov edi, eax
cmp edi, 0xffffffff
jle 0x4c562c
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0xc8]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.005279a8
push eax
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0xc8]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
movsx eax, word [eax + edx*8 + 0x1c]
pop edx
xchg edx, eax
mov ecx, edx
cdq
idiv ecx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0xc8]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.005279bc
push eax
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0xc8]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
movsx eax, word [eax + edx*8 + 0x1e]
inc eax
pop edx
xchg edx, eax
mov ecx, edx
cdq
idiv ecx
mov edi, eax
mov eax, dword [esi + 0x204]
push eax
lea eax, [esp + 0x38]
push eax
mov edx, dword [esi + 0x204]
sub edx, edi
mov eax, dword [esi + 0x200]
sub eax, dword [esp + 0xc]
mov ecx, dword [esi + 0x200]
call fcn.00407eb0
mov eax, dword [esi + 0x50]
call fcn.005103b0
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_InvalidateRect
cmp dword [esi + 0xc0], 0
je 0x4c5640
lea eax, [esi + 0xc0]
call fcn.004118cc
cmp dword [esi + 0xc4], 0
je 0x4c5654
lea eax, [esi + 0xc4]
call fcn.004118cc
mov dword [esi + 0x250], 0xffffffff
mov eax, dword [esi + 0x22c]
and eax, 0x80
cmp eax, 0x80
jne 0x4c5677
mov eax, esi
call fcn.004beb54
mov eax, dword [esi + 0x24c]
cmp dword [eax + 0x30], 0
jne 0x4c56aa
cmp byte [esi + 0xa6], 0
je 0x4c56aa
mov eax, dword [esi + 0x50]
mov byte [eax + 0x1c], 1
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [esi + 0x50]
mov byte [eax + 0x1c], 0
jmp 0x4c56b8
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [0x5d1748]
cmp byte [eax], 0
jne 0x4c5b16
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x1da], 0
je 0x4c5b0f
mov eax, esi
call fcn.004cf540
test al, al
je 0x4c5a84
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x4c570a
cmp byte [esi + 0x21e], 0
jne 0x4c5a84
mov byte [esi + 0x34], 1
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
mov eax, dword [esi + 0x50]
cmp dword [eax + 0x44], 0
je 0x4c5762
mov eax, dword [esi + 0x50]
call fcn.005103b0
test al, al
je 0x4c5756
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov edx, dword [esi + 0x24c]
cmp eax, dword [edx + 0x48]
jg 0x4c575a
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x20]
mov edx, dword [esi + 0x24c]
cmp eax, dword [edx + 0x4c]
jg 0x4c575a
xor eax, eax
jmp 0x4c575c
mov al, 1
mov byte [esp + 0x10], al
jmp 0x4c5767
mov byte [esp + 0x10], 0
cmp byte [esi + 0x78], 0
je 0x4c5a28
mov eax, dword [0x5d1a30]
cmp byte [eax], 0
je 0x4c579e
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x273], 2
jne 0x4c579e
cmp dword [esi + 0x268], 0
je 0x4c579e
lea eax, [esi + 0x268]
call fcn.004118cc
cmp dword [esi + 0x268], 0
je 0x4c585f
mov eax, dword [esi + 0x268]
cmp dword [eax + 0x18], 0
jne 0x4c57c2
mov eax, dword [esi + 0x268]
call fcn.004da0d8
cmp dword [esi + 0x224], 0
je 0x4c57ec
mov eax, dword [esi + 0x224]
mov eax, dword [eax + 0x80]
cmp byte [eax + 6], 0
jne 0x4c57f9
mov eax, dword [esi + 0x224]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 6], 0
jne 0x4c57f9
cmp byte [esi + 0x54], 0
jne 0x4c57f9
or dword [esi + 0x22c], 1
mov cl, 0xff
mov dl, 1
mov eax, dword [esi + 0x268]
call fcn.004d8f20
mov eax, dword [esi + 0x50]
mov byte [eax + 0x1c], 1
and dword [esi + 0x22c], 0xfffffffe
mov eax, dword [esi + 0x268]
mov byte [eax + 0x28], 1
push 0x61b
push 0
push 0
push 0
push 0
push 0
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [esi + 0x268]
mov byte [eax + 0x28], 0
mov dl, 1
mov eax, esi
call fcn.004bfd78
mov eax, dword [esi + 0x50]
mov byte [eax + 0x1c], 0
jmp 0x4c586f
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, esi
call fcn.004d2c2c
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x1c], 0
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
movzx eax, word [eax + 0x54]
and ax, 2
cmp ax, 2
jne 0x4c58ab
lea eax, [esi + 0x1f8]
xor edx, edx
call fcn.005279bc
mov ebx, eax
mov eax, dword [esi + 0x24c]
call fcn.00459614
cmp ebx, eax
jne 0x4c58da
mov eax, dword [esi + 0x50]
movzx eax, word [eax + 0x54]
and ax, 1
cmp ax, 1
jne 0x4c5903
lea eax, [esi + 0x1f8]
xor edx, edx
call fcn.005279a8
mov ebx, eax
mov eax, dword [esi + 0x24c]
call fcn.004595d0
cmp ebx, eax
je 0x4c5903
push 0
lea eax, [esp + 0x28]
push eax
mov eax, dword [0x5d1b08]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x140001
call fcn.00527884
lea edx, [esp + 0x24]
mov eax, dword [esi + 0x24c]
call fcn.004b0c38
cmp dword [esi + 0x268], 0
je 0x4c5a01
cmp dword [esi + 0x224], 0
je 0x4c595d
mov eax, dword [esi + 0x224]
cmp dword [eax + 0x80], 0
je 0x4c595d
mov eax, dword [esi + 0x224]
cmp dword [eax + 0x7c], 0
je 0x4c595d
mov eax, dword [esi + 0x224]
mov eax, dword [eax + 0x80]
cmp byte [eax + 6], 0
jne 0x4c5a01
mov eax, dword [esi + 0x224]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 6], 0
jne 0x4c5a01
mov eax, dword [esi + 0x268]
cmp dword [eax + 0x18], 0
jne 0x4c5974
mov eax, dword [esi + 0x268]
call fcn.004da0d8
push 0x101
push 0
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
cmp dword [esi + 0x268], 0
je 0x4c59f6
push 0x61b
push 0
push 0
push 0
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowPos
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [esi + 0x268]
call fcn.004d9f70
push eax
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowRgn
mov eax, dword [esi + 0x268]
mov byte [eax + 0x28], 0
jmp 0x4c5a1b
xor edx, edx
mov eax, esi
call fcn.004bfd78
jmp 0x4c5a1b
push 0x921
push 0
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [esi + 0x24c]
call fcn.004b02f0
jmp 0x4c5a44
cmp byte [esp + 0x10], 0
je 0x4c5a44
push 0
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_InvalidateRect
mov eax, dword [esi + 0x24c]
call fcn.00459614
push eax
lea eax, [esp + 0x98]
push eax
mov eax, dword [esi + 0x24c]
call fcn.004595d0
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.00407eb0
lea edi, [esi + 0x1f8]
lea esi, [esp + 0x94]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 2
jne 0x4c5ab1
mov eax, dword [esi + 0x50]
call fcn.005103b0
test al, al
je 0x4c5ab1
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, esi
call fcn.004d2c2c
jmp 0x4c5b16
mov eax, dword [ebx + 4]
sub eax, 2
jne 0x4c5b16
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
jne 0x4c5b16
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x273], 2
jne 0x4c5b16
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x39], 1
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov byte [eax + 0x232], 1
push 0x481
push 0
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
jmp 0x4c5b16
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
mov eax, dword [esi + 0x24c]
call fcn.00459614
push eax
lea eax, [esp + 0x98]
push eax
mov eax, dword [esi + 0x24c]
call fcn.004595d0
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.00407eb0
lea edi, [esi + 0x1f8]
lea esi, [esp + 0x94]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov eax, esi
call fcn.004d26e8
xor eax, eax
call fcn.00504420
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 2
jne 0x4c5cdf
cmp byte [esi + 0x21f], 0
jne 0x4c5cdf
mov eax, dword [esi + 0x24c]
call fcn.00471bac
test eax, eax
je 0x4c5cdf
mov eax, dword [esi + 0x24c]
call fcn.00471bac
cmp byte [eax + 0x273], 2
jne 0x4c5cdf
mov byte [esi + 0x21f], 1
cmp dword [0x5ce520], 0
jne 0x4c5c05
mov ecx, dword [0x5d1c60]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x46c86c]
call fcn.0046f934
mov dword [0x5ce520], eax
mov eax, dword [0x5ce520]
mov dword [eax + 0xc], 0xffffff9e
xor edx, edx
mov eax, dword [0x5ce520]
call fcn.00470b2c
mov edx, 0x4ca49c
mov eax, dword [0x5ce520]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [0x5ce520]
mov dword [eax + 0x304], esi
mov dword [eax + 0x300], 0x4d10a4
xor edx, edx
mov eax, dword [0x5ce520]
call fcn.00471970
push 0x58
push 0xf
call sub.user32.dll_GetSystemMetrics
dec eax
add eax, 4
push eax
push 0x3c
mov eax, dword [esi + 0x24c]
call fcn.00461e10
xor ecx, ecx
mov edx, dword [esi + 0x268]
call fcn.004bf0dc
mov edi, eax
mov eax, dword [esi + 0x24c]
call fcn.004706dc
mov ebp, eax
mov eax, dword [esi + 0x24c]
call fcn.004bf144
add ebp, eax
add edi, ebp
push edi
mov eax, dword [esi + 0x24c]
call fcn.00461e10
xor ecx, ecx
mov edx, dword [esi + 0x268]
call fcn.004bf0dc
push eax
lea edx, [esp + 0xa8]
mov eax, dword [esi + 0x24c]
call fcn.00459574
mov eax, dword [esp + 0xb0]
sub eax, 0x3c
pop edx
sub eax, edx
push eax
push 0
mov eax, dword [0x5ce520]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowPos
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov byte [esi + 0x21f], 0
cmp dword [0x5ce520], 0
je 0x4c5d0c
mov eax, 0x5ce520
call fcn.004118cc
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
cmp byte [esi + 0x21c], 0
je 0x4c5d36
mov byte [esi + 0x21c], 0
mov eax, esi
call fcn.004d2a2c
mov dl, 1
mov eax, esi
call fcn.004c0cdc
test eax, eax
je 0x4c5d49
cmp byte [esi + 0x78], 0
jne 0x4c5d5c
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, esi
call fcn.004c26d0
mov dword [ebx + 0xc], eax
mov eax, dword [ebx + 0xc]
add eax, 0xfffffff8
sub eax, 2
jb 0x4c5d78
sub eax, 0xa
jne 0x4c5d90
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
jne 0x4c5d90
mov dl, 1
mov eax, esi
call fcn.004d1eb8
mov eax, dword [ebx + 0xc]
sub eax, 3
jb 0x4c5da9
sub eax, 2
je 0x4c5da9
add eax, 0xfffffffb
sub eax, 8
jae 0x4c5ee5
mov eax, esi
call fcn.004bf470
test al, al
je 0x4c5ed2
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov edi, dword [eax + 0x180]
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov edx, edi
call fcn.0051957c
test al, al
je 0x4c5ed2
lea eax, [esp + 8]
push eax
movsx ecx, word [ebx + 0xa]
movsx edx, word [ebx + 8]
mov eax, esi
call fcn.004cf040
cmp dword [esi + 0x268], 0
je 0x4c5e8c
lea ecx, [esp + 0x84]
mov edx, edi
mov eax, esi
call fcn.004cfbb4
mov ebp, dword [esp + 0x88]
mov eax, dword [esi + 0x268]
call fcn.004bf20c
sub ebp, eax
lea edx, [esp + 0x94]
mov eax, esi
call fcn.004d26b0
sub ebp, dword [esp + 0x98]
cmp ebp, dword [esp + 0xc]
jge 0x4c5ed2
lea ecx, [esp + 0x8c]
mov edx, edi
mov eax, esi
call fcn.004cfbb4
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x268]
call fcn.004bf248
sub edi, eax
lea edx, [esp + 0xa4]
mov eax, esi
call fcn.004d26b0
sub edi, dword [esp + 0xa4]
cmp edi, dword [esp + 8]
jge 0x4c5ed2
mov dword [ebx + 0xc], 0x11
jmp case.0x4c3a8b.0
lea ecx, [esp + 0x84]
mov edx, edi
mov eax, esi
call fcn.004cfbb4
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0xc]
jge 0x4c5ed2
lea ecx, [esp + 0x8c]
mov edx, edi
mov eax, esi
call fcn.004cfbb4
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 8]
jge 0x4c5ed2
mov dword [ebx + 0xc], 0x11
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
cmp byte [esi + 0x54], 1
jne case.0x4c3a8b.0
cmp dword [0x5d8348], 0
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je case.0x4c3a8b.0
mov eax, dword [ebx + 0xc]
sub eax, 2
je 0x4c5f23
add eax, 0xfffffff8
sub eax, 8
jae case.0x4c3a8b.0
mov eax, dword [ebx + 0xc]
mov dword [0x5d8348], eax
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
cmp dword [esi + 0x268], 0
je case.0x4c3a8b.0
mov cl, 0xff
xor edx, edx
mov eax, dword [esi + 0x268]
call fcn.004d8f20
jmp case.0x4c3a8b.0
mov cl, 1
or edx, 0xffffffff
mov eax, esi
call fcn.004cb71c
mov byte [0x5ce514], 0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
mov eax, dword [esi + 0x50]
call fcn.00511f64
pop edx
call fcn.00520838
cmp dword [esi + 0x268], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x268]
cmp byte [eax + 0x38], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x22c]
and eax, 1
cmp eax, 1
je case.0x4c3a8b.0
mov eax, dword [esi + 0x268]
call fcn.004da15c
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
je case.0x4c3a8b.0
mov eax, esi
call fcn.004d0afc
jmp case.0x4c3a8b.0
cmp byte [esi + 0x78], 0
je 0x4c6567
cmp dword [esi + 0x268], 0
je 0x4c6045
cmp dword [ebx + 4], 0x13
jne 0x4c6045
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
cmp dword [esi + 0x268], 0
je 0x4c6064
cmp dword [ebx + 4], 0xffffffff
jne 0x4c6064
mov edx, ebx
mov eax, dword [esi + 0x268]
call fcn.004d8100
mov dword [ebx + 4], eax
mov eax, dword [ebx + 4]
cmp eax, 8
jge 0x4c607f
sub eax, 3
je 0x4c6102
sub eax, 2
je 0x4c60ef
jmp 0x4c6240
add eax, 0xfffffff8
sub eax, 2
jb 0x4c609b
add eax, 0xfffffff6
sub eax, 2
jb 0x4c609b
add eax, 0xffffffb1
sub eax, 3
jae 0x4c6240
cmp dword [0x5ce51c], 0
je 0x4c60e0
cmp dword [ebx + 4], 0x67
jne 0x4c60c2
mov eax, dword [0x5ce51c]
mov eax, dword [eax + 0x254]
mov edx, dword [eax]
call dword [edx + 0x54]
test al, al
je case.0x4c3a8b.0
cmp dword [ebx + 4], 0x66
jne 0x4c60e0
mov eax, dword [0x5ce51c]
mov eax, dword [eax + 0x254]
mov edx, dword [eax]
call dword [edx + 0x58]
test al, al
je case.0x4c3a8b.0
mov edx, dword [ebx + 4]
mov eax, esi
call fcn.004cbaf8
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
xor eax, eax
mov dword [ebx + 0xc], eax
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
cmp dword [ebx + 0xc], 0
jne case.0x4c3a8b.0
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.004cb71c
mov byte [0x5ce514], 0
mov eax, dword [esi + 0x50]
call fcn.00511f64
cmp byte [eax + 0x58], 0
jne 0x4c6156
mov eax, 0xc8
call fcn.00527dfc
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x1c], 0
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
jne 0x4c61b8
mov eax, dword [0x5d1d9c]
cmp dword [eax], 0
je case.0x4c3a8b.0
lea edx, [esp + 8]
mov eax, esi
call fcn.004cebfc
mov eax, dword [esi + 0x24c]
call fcn.004bf144
add eax, dword [esp + 0xc]
add eax, 4
push eax
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsIconic
shl eax, 4
pop ecx
sub ecx, eax
mov edx, dword [esp + 8]
mov eax, esi
call fcn.004ced08
jmp case.0x4c3a8b.0
lea edx, [esp + 0x84]
mov eax, esi
call fcn.004cebfc
mov ebx, dword [esp + 0x88]
mov dl, 1
mov eax, esi
call fcn.004c0b10
add ebx, eax
lea eax, [esi + 0x96]
xor edx, edx
call fcn.005279bc
add ebx, eax
mov eax, dword [esi + 0x24c]
call fcn.00461e10
xor ecx, ecx
mov edx, dword [esi + 0x268]
call fcn.004bf130
add ebx, eax
push ebx
mov eax, dword [esi + 0x24c]
call fcn.00461e10
xor ecx, ecx
mov edx, dword [esi + 0x268]
call fcn.004bf0dc
mov ebx, eax
lea edx, [esp + 0x90]
mov eax, esi
call fcn.004cebfc
add ebx, dword [esp + 0x90]
mov edx, ebx
mov eax, esi
pop ecx
call fcn.004ced08
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x48]
call fcn.00420de4
mov ecx, eax
add ecx, 0x3e8
dec ecx
mov eax, dword [ebx + 4]
mov edx, 0x3e8
call fcn.005278d8
test al, al
je 0x4c62a4
mov edx, dword [ebx + 4]
mov eax, esi
call fcn.004cbaf8
movzx eax, byte [0x4ca4a8]
push eax
movsx eax, word [ebx + 8]
push eax
movsx eax, word [ebx + 0xa]
push eax
mov edx, dword [ebx + 4]
sub edx, 0x3e8
mov eax, dword [esi + 0x48]
call fcn.004d5930
mov edx, dword [ebx + 4]
sub edx, 0x3e8
xor ecx, ecx
call fcn.004d5aac
jmp case.0x4c3a8b.0
mov eax, dword [ebx + 4]
mov ecx, 0x8cf
mov edx, 0x7d0
call fcn.005278d8
test al, al
je 0x4c6305
cmp dword [esi + 0xac], 0
je case.0x4c3a8b.0
mov edx, dword [ebx + 4]
mov eax, esi
call fcn.004cbaf8
movsx eax, word [ebx + 8]
push eax
movsx eax, word [ebx + 0xa]
push eax
mov edx, dword [ebx + 4]
sub edx, 0x7d0
mov eax, dword [esi + 0xac]
mov eax, dword [eax + 0x38]
call fcn.004ac028
movzx ecx, byte [0x4ca4a8]
xor edx, edx
call fcn.004ab838
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x4c6336
push 0
mov ecx, 0xf012
mov edx, 0x112
mov eax, dword [esi + 0x24c]
call fcn.0045af94
jmp case.0x4c3a8b.0
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.004cb71c
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x273], 2
jne 0x4c6399
lea eax, [esp + 0x84]
push eax
movsx ecx, word [ebx + 0xa]
xor edx, edx
mov eax, esi
call fcn.004cf040
mov edi, dword [esp + 0x88]
mov eax, dword [esi + 0x24c]
call fcn.00461e10
mov cl, 1
mov edx, dword [esi + 0x268]
call fcn.004bf130
mov ebp, eax
mov dl, 1
mov eax, esi
call fcn.004c0cdc
add ebp, eax
cmp edi, ebp
jle 0x4c652e
push 0
lea eax, [esp + 0x15]
push eax
push 0
push 0x26
call sub.user32.dll_SystemParametersInfoA
cmp byte [esp + 0x11], 0
je 0x4c651b
cmp byte [esi + 0x54], 1
jne 0x4c6475
mov eax, dword [esi + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x4c6475
mov eax, dword [ebx + 4]
sub eax, 5
je 0x4c6475
mov eax, dword [ebx + 4]
sub eax, 2
je 0x4c63ea
sub eax, 3
jne 0x4c63f8
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [ebx + 4]
add eax, 0xfffffff6
sub eax, 8
setb al
xor al, 1
mov byte [0x5d8324], al
lea ecx, [esp + 8]
movsx edx, word [ebx + 0xa]
movsx eax, word [ebx + 8]
call fcn.00407ecc
cmp byte [0x5d8324], 0
je 0x4c6444
push 0
push 0xf010
push 0x112
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
jmp 0x4c6461
push 0
push 0xf000
push 0x112
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov eax, esi
call fcn.004cfee4
jmp case.0x4c3a8b.0
cmp dword [ebx + 4], 2
jne 0x4c6508
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
je 0x4c6508
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x24]
cmp byte [eax + 6], 0
je 0x4c6508
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne 0x4c6508
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x24]
cmp byte [eax + 8], 0xff
je 0x4c6508
cmp byte [esi + 0x94], 0
je 0x4c6508
cmp byte [esi + 0x244], 0
jne 0x4c64eb
mov byte [esi + 0x244], 1
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SetFocus
mov eax, esi
call fcn.004be798
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x276], 0
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
mov edx, dword [eax]
call dword [edx + 0xd4]
jmp case.0x4c3a8b.0
mov eax, dword [ebx + 4]
sub eax, 3
jne 0x4c6657
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.004cb71c
mov byte [0x5ce514], 0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
jne 0x4c65cf
mov eax, dword [0x5d1d9c]
cmp dword [eax], 0
je case.0x4c3a8b.0
lea edx, [esp + 8]
mov eax, esi
call fcn.004cebfc
mov dl, 1
mov eax, esi
call fcn.004c0cdc
mov ecx, eax
add ecx, dword [esp + 0xc]
add ecx, 4
mov edx, dword [esp + 8]
mov eax, esi
call fcn.004ced08
jmp case.0x4c3a8b.0
lea edx, [esp + 0x84]
mov eax, esi
call fcn.004cebfc
mov ebx, dword [esp + 0x88]
mov dl, 1
mov eax, esi
call fcn.004c0b10
add ebx, eax
lea eax, [esi + 0x96]
xor edx, edx
call fcn.005279bc
add ebx, eax
mov eax, dword [esi + 0x24c]
call fcn.00461e10
xor ecx, ecx
mov edx, dword [esi + 0x268]
call fcn.004bf130
add ebx, eax
push ebx
mov eax, dword [esi + 0x24c]
call fcn.00461e10
mov cl, 1
mov edx, dword [esi + 0x268]
call fcn.004bf0dc
mov ebx, eax
lea edx, [esp + 0x90]
mov eax, esi
call fcn.004cebfc
add ebx, dword [esp + 0x90]
mov edx, ebx
mov eax, esi
pop ecx
call fcn.004ced08
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
cmp dword [ebx + 4], 0x2f
jne 0x4c66cb
cmp dword [esi + 0x218], 0
je 0x4c66cb
mov eax, dword [esi + 0x218]
mov edx, dword [0x4bda70]
call fcn.004048c0
test al, al
je 0x4c66cb
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
mov edi, dword [esi + 0x218]
mov eax, edi
call fcn.004dc27c
fild dword [edi + 0x60]
fstp qword [edi + 0x70]
wait
fild dword [edi + 0x64]
fstp qword [edi + 0x78]
wait
fild dword [edi + 0x68]
fstp qword [edi + 0x80]
wait
fild dword [edi + 0x6c]
fstp qword [edi + 0x88]
wait
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [0x5d1b0c]
cmp dword [eax], 0
je 0x4c6711
mov eax, dword [0x5d1b0c]
mov eax, dword [eax]
test byte [eax + 0x1c], 0x10
jne 0x4c6711
mov eax, dword [0x5d1b0c]
mov eax, dword [eax]
xor edx, edx
call fcn.00520838
cmp byte [esi + 0x54], 1
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je case.0x4c3a8b.0
lea ecx, [esp + 0x84]
movsx edx, word [ebx + 0xa]
movsx eax, word [ebx + 8]
call fcn.00407ecc
lea edx, [esp + 0x84]
lea ecx, [esp + 8]
mov eax, dword [esi + 0x24c]
call fcn.004596e4
mov eax, dword [esp + 8]
mov dword [esp + 4], eax
mov edi, dword [esp + 0xc]
cmp byte [0x5d8324], 0
je 0x4c67e2
cmp byte [0x5ce504], 0
je 0x4c677d
mov byte [0x5ce504], 0
cmp byte [0x5ce4fc], 0
je case.0x4c3a8b.0
mov ecx, dword [0x5d8330]
mov edx, dword [0x5d8334]
mov eax, esi
call fcn.004d00f8
mov eax, dword [esp + 4]
sub eax, dword [0x5d8340]
add dword [0x5d8334], eax
mov eax, edi
sub eax, dword [0x5d8344]
add dword [0x5d8330], eax
mov dword [0x5d8344], edi
mov eax, dword [esp + 4]
mov dword [0x5d8340], eax
mov ecx, dword [0x5d8330]
mov edx, dword [0x5d8334]
mov eax, esi
call fcn.004d00f8
jmp case.0x4c3a8b.0
cmp byte [0x5ce504], 0
je 0x4c6801
mov eax, dword [esp + 4]
mov dword [0x5d8340], eax
mov dword [0x5d8344], edi
mov byte [0x5ce504], 0
cmp byte [0x5ce4fc], 0
je case.0x4c3a8b.0
xor ecx, ecx
xor edx, edx
mov eax, esi
call fcn.004d00f8
mov eax, dword [0x5d8348]
add eax, 0xfffffff6
cmp eax, 6
ja case.default.0x4c682a
jmp dword [eax*4 + 0x4c6831]
mov eax, dword [esi + 0x24c]
call fcn.004706bc
add eax, dword [esp + 4]
sub eax, dword [0x5d8340]
mov dword [0x5d8334], eax
mov eax, dword [0x5d833c]
sub eax, dword [0x5d8334]
cmp eax, dword [0x5d8350]
jge 0x4c6bbc
mov eax, dword [0x5d833c]
sub eax, dword [0x5d8350]
mov dword [0x5d8334], eax
jmp 0x4c6bbc
mov eax, dword [esi + 0x24c]
call fcn.004706bc
mov edx, dword [esi + 0x24c]
add eax, dword [edx + 0x48]
add eax, dword [esp + 4]
sub eax, dword [0x5d8340]
mov dword [0x5d833c], eax
mov eax, dword [0x5d833c]
sub eax, dword [0x5d8334]
cmp eax, dword [0x5d8350]
jge 0x4c6bbc
mov eax, dword [esi + 0x24c]
call fcn.004706bc
add eax, dword [0x5d8350]
mov dword [0x5d833c], eax
jmp 0x4c6bbc
mov eax, dword [esi + 0x24c]
call fcn.004706dc
mov edx, dword [esi + 0x24c]
add eax, dword [edx + 0x4c]
add edi, eax
sub edi, dword [0x5d8344]
mov dword [0x5d8338], edi
mov eax, dword [0x5d8338]
sub eax, dword [0x5d8330]
cmp eax, dword [0x5d834c]
jge 0x4c6bbc
mov eax, dword [esi + 0x24c]
call fcn.004706dc
add eax, dword [0x5d834c]
mov dword [0x5d8338], eax
jmp 0x4c6bbc
mov eax, dword [esi + 0x24c]
call fcn.004706dc
add edi, eax
sub edi, dword [0x5d8344]
mov dword [0x5d8330], edi
mov eax, dword [0x5d8338]
sub eax, dword [0x5d8330]
cmp eax, dword [0x5d834c]
jge 0x4c6bbc
mov eax, dword [0x5d8338]
sub eax, dword [0x5d834c]
mov dword [0x5d8330], eax
jmp 0x4c6bbc
mov eax, dword [esi + 0x24c]
call fcn.004706dc
mov edx, dword [esi + 0x24c]
add eax, dword [edx + 0x4c]
add edi, eax
sub edi, dword [0x5d8344]
mov dword [0x5d8338], edi
mov eax, dword [0x5d8338]
sub eax, dword [0x5d8330]
cmp eax, dword [0x5d834c]
jge 0x4c69cc
mov eax, dword [esi + 0x24c]
call fcn.004706dc
add eax, dword [0x5d834c]
mov dword [0x5d8338], eax
mov eax, dword [esi + 0x24c]
call fcn.004706bc
add eax, dword [esp + 4]
sub eax, dword [0x5d8340]
mov dword [0x5d8334], eax
mov eax, dword [0x5d833c]
sub eax, dword [0x5d8334]
cmp eax, dword [0x5d8350]
jge 0x4c6bbc
mov eax, dword [0x5d833c]
sub eax, dword [0x5d8350]
mov dword [0x5d8334], eax
jmp 0x4c6bbc
mov eax, dword [esi + 0x24c]
call fcn.004706dc
add edi, eax
sub edi, dword [0x5d8344]
mov dword [0x5d8330], edi
mov eax, dword [0x5d8338]
sub eax, dword [0x5d8330]
cmp eax, dword [0x5d834c]
jge 0x4c6a4e
mov eax, dword [0x5d8338]
sub eax, dword [0x5d834c]
mov dword [0x5d8330], eax
mov eax, dword [esi + 0x24c]
call fcn.004706bc
mov edx, dword [esi + 0x24c]
add eax, dword [edx + 0x48]
add eax, dword [esp + 4]
sub eax, dword [0x5d8340]
mov dword [0x5d833c], eax
mov eax, dword [0x5d833c]
sub eax, dword [0x5d8334]
cmp eax, dword [0x5d8350]
jge 0x4c6bbc
mov eax, dword [esi + 0x24c]
call fcn.004706bc
add eax, dword [0x5d8350]
mov dword [0x5d833c], eax
jmp 0x4c6bbc
mov eax, dword [esi + 0x24c]
call fcn.004706dc
add edi, eax
sub edi, dword [0x5d8344]
mov dword [0x5d8330], edi
mov eax, dword [0x5d8338]
sub eax, dword [0x5d8330]
cmp eax, dword [0x5d834c]
jge 0x4c6adf
mov eax, dword [0x5d8338]
sub eax, dword [0x5d834c]
mov dword [0x5d8330], eax
mov eax, dword [esi + 0x24c]
call fcn.004706bc
add eax, dword [esp + 4]
sub eax, dword [0x5d8340]
mov dword [0x5d8334], eax
mov eax, dword [0x5d833c]
sub eax, dword [0x5d8334]
cmp eax, dword [0x5d8350]
jge 0x4c6bbc
mov eax, dword [0x5d833c]
sub eax, dword [0x5d8350]
mov dword [0x5d8334], eax
jmp 0x4c6bbc
mov eax, dword [esi + 0x24c]
call fcn.004706dc
mov edx, dword [esi + 0x24c]
add eax, dword [edx + 0x4c]
add edi, eax
sub edi, dword [0x5d8344]
mov dword [0x5d8338], edi
mov eax, dword [0x5d8338]
sub eax, dword [0x5d8330]
cmp eax, dword [0x5d834c]
jge 0x4c6b70
mov eax, dword [esi + 0x24c]
call fcn.004706dc
add eax, dword [0x5d834c]
mov dword [0x5d8338], eax
mov eax, dword [esi + 0x24c]
call fcn.004706bc
mov edx, dword [esi + 0x24c]
add eax, dword [edx + 0x48]
add eax, dword [esp + 4]
sub eax, dword [0x5d8340]
mov dword [0x5d833c], eax
mov eax, dword [0x5d833c]
sub eax, dword [0x5d8334]
cmp eax, dword [0x5d8350]
jge 0x4c6bbc
mov eax, dword [esi + 0x24c]
call fcn.004706bc
add eax, dword [0x5d8350]
mov dword [0x5d833c], eax
xor ecx, ecx
xor edx, edx
mov eax, esi
call fcn.004d00f8
jmp case.0x4c3a8b.0
mov eax, dword [ebx + 4]
add eax, 0xfffffffe
sub eax, 2
jb case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov eax, esi
call fcn.004c01b8
test al, al
je 0x4c6c5b
cmp dword [esi + 0x268], 0
je 0x4c6c1a
cmp dword [ebx + 4], 0xffffffff
jne 0x4c6c1a
mov edx, ebx
mov eax, dword [esi + 0x268]
call fcn.004d8100
mov dword [ebx + 4], eax
jmp 0x4c6c26
mov edx, ebx
mov eax, esi
call fcn.004c26d0
mov dword [ebx + 4], eax
mov eax, dword [ebx + 4]
add eax, 0xfffffffe
sub eax, 2
jae case.0x4c3a8b.0
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.004cb71c
mov byte [0x5ce514], 0
movsx ecx, word [ebx + 0xa]
movsx edx, word [ebx + 8]
mov eax, esi
call fcn.004ced08
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
cmp byte [esi + 0x78], 0
je 0x4c72db
mov eax, dword [esi + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x4c72db
cmp dword [esi + 0x268], 0
je 0x4c6caa
cmp dword [ebx + 4], 0xffffffff
jne 0x4c6caa
mov edx, ebx
mov eax, dword [esi + 0x268]
call fcn.004d8100
mov dword [ebx + 4], eax
mov eax, dword [ebx + 4]
cmp eax, 0x15
jg 0x4c6cd2
je 0x4c6fb1
sub eax, 8
je 0x4c6e5a
dec eax
je 0x4c6d75
sub eax, 0xb
je 0x4c6cee
jmp 0x4c70f8
sub eax, 0x65
je 0x4c701f
dec eax
je 0x4c7065
dec eax
je 0x4c70a7
jmp 0x4c70f8
cmp byte [0x5ce514], 0
je case.0x4c3a8b.0
xor eax, eax
mov dword [esi + 0x130], eax
push 0
push 0xf060
push 0x112
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [esi + 0x24c]
test byte [eax + 0x1c], 8
jne case.0x4c3a8b.0
mov eax, esi
call fcn.004d26e8
cmp dword [esi + 0x24c], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x57], 0
je case.0x4c3a8b.0
cmp dword [esi + 0x50], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.004cb71c
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x254]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
jne 0x4c6daa
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x273], 2
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x254]
mov edx, dword [eax]
call dword [edx + 0x58]
test al, al
je case.0x4c3a8b.0
cmp byte [0x5ce514], 0
je 0x4c6e3c
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.004cb71c
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
jne 0x4c6dd8
xor eax, eax
mov dword [0x5ce51c], eax
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x273], 2
jne 0x4c6e06
push 0
push 0xf120
push 0x112
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
jmp 0x4c6e23
push 0
push 0xf030
push 0x112
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
xor edx, edx
mov eax, dword [esi + 0x254]
call fcn.004d5464
mov byte [0x5ce514], 0
jmp case.0x4c3a8b.0
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.004cb71c
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
cmp byte [0x5ce514], 0
je 0x4c6f93
cmp dword [esi + 0x268], 0
je 0x4c6ea7
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.004706dc
movsx edx, word [ebx + 0xa]
sub edx, eax
push edx
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.004706bc
push eax
movsx eax, word [ebx + 8]
pop edx
sub eax, edx
lea ecx, [esp + 0xc]
pop edx
call fcn.00407ecc
jmp 0x4c6ebb
lea eax, [esp + 8]
push eax
movsx ecx, word [ebx + 0xa]
movsx edx, word [ebx + 8]
mov eax, esi
call fcn.004cf040
lea edx, [esp + 8]
lea eax, [esi + 0xe8]
call fcn.00407eec
test al, al
je 0x4c6f80
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.004cb71c
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [esi + 0x24c]
jne 0x4c6f1c
mov byte [esi + 0x222], 1
push 0
push 0xf020
push 0x112
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
mov byte [esi + 0x222], 0
jmp 0x4c6f6d
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x4c6f50
push 0
push 0xf120
push 0x112
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
jmp 0x4c6f6d
push 0
push 0xf020
push 0x112
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
mov byte [esi + 0xba], 1
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.004cb71c
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
cmp byte [0x5ce514], 0
je 0x4c700f
push 0
push 0xf180
push 0x112
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.004cb71c
xor edx, edx
mov eax, dword [esi + 0x254]
call fcn.004d5464
mov byte [0x5ce514], 0
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, dword [esi + 0x24c]
call fcn.0045af94
jmp case.0x4c3a8b.0
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.004cb71c
jmp case.0x4c3a8b.0
cmp byte [0x5ce514], 0
je case.0x4c3a8b.0
mov byte [0x5ce514], 0
push 0
push 0xf060
push 0x112
mov eax, dword [esi + 0x24c]
call fcn.00471bac
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
xor ecx, ecx
xor edx, edx
mov eax, esi
call fcn.004cb71c
jmp case.0x4c3a8b.0
cmp byte [0x5ce514], 0
je 0x4c7090
push 0
push 0xf120
push 0x112
mov eax, dword [esi + 0x24c]
call fcn.00471bac
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
mov byte [0x5ce514], 0
xor ecx, ecx
xor edx, edx
mov eax, esi
call fcn.004cb71c
jmp case.0x4c3a8b.0
cmp byte [0x5ce514], 0
je 0x4c70e8
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
call fcn.00511d28
mov byte [0x5ce514], 0
push 0
push 0xf020
push 0x112
mov eax, dword [esi + 0x24c]
call fcn.00471bac
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.004cb71c
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x48]
call fcn.00420de4
mov ecx, eax
add ecx, 0x3e8
dec ecx
mov eax, dword [ebx + 4]
mov edx, 0x3e8
call fcn.005278d8
test al, al
je 0x4c716d
cmp byte [0x5ce514], 0
je 0x4c7156
movzx eax, byte [0x4ca4a8]
push eax
movsx eax, word [ebx + 8]
push eax
movsx eax, word [ebx + 0xa]
push eax
mov edx, dword [ebx + 4]
sub edx, 0x3e8
mov eax, dword [esi + 0x48]
call fcn.004d5930
mov edx, dword [ebx + 4]
sub edx, 0x3e8
xor ecx, ecx
call fcn.004d5ad4
mov byte [0x5ce514], 0
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.004cb71c
jmp 0x4c72cf
mov eax, dword [ebx + 4]
mov ecx, 0x8cf
mov edx, 0x7d0
call fcn.005278d8
test al, al
je 0x4c71dc
cmp byte [0x5ce514], 0
je 0x4c71c4
cmp dword [esi + 0xac], 0
je 0x4c71c4
movsx eax, word [ebx + 8]
push eax
movsx eax, word [ebx + 0xa]
push eax
mov edx, dword [ebx + 4]
sub edx, 0x7d0
mov eax, dword [esi + 0xac]
mov eax, dword [eax + 0x38]
call fcn.004ac028
movzx ecx, byte [0x4ca4a8]
xor edx, edx
call fcn.004ab9d4
mov byte [0x5ce514], 0
mov edx, dword [ebx + 4]
mov cl, 1
mov eax, esi
call fcn.004cb71c
jmp 0x4c72cf
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x4c7254
mov eax, dword [0x5d1d9c]
cmp dword [eax], 0
je 0x4c7244
lea edx, [esp + 0x84]
mov eax, esi
call fcn.004cebfc
mov ebx, dword [esp + 0x84]
lea eax, [esp + 0x8c]
call fcn.004acf98
add ebx, dword [esp + 0x8c]
push ebx
lea eax, [esp + 0xb8]
call fcn.004acf98
mov ecx, dword [esp + 0xbc]
mov eax, esi
pop edx
call fcn.004ced08
jmp 0x4c72cf
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp 0x4c72cf
cmp byte [esi + 0x54], 1
jne 0x4c72c1
mov eax, dword [esi + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x4c72c1
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x273], 2
je 0x4c72c1
cmp byte [0x5ce4fc], 0
je 0x4c72c1
lea ecx, [esp + 0x84]
movsx edx, word [ebx + 0xa]
movsx eax, word [ebx + 8]
call fcn.00407ecc
lea edx, [esp + 0x84]
lea ecx, [esp + 8]
mov eax, dword [esi + 0x24c]
call fcn.004596e4
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov eax, esi
call fcn.004cfff8
call sub.user32.dll_ReleaseCapture
jmp 0x4c72cf
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov byte [0x5ce514], 0
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
xor eax, eax
mov dword [ebx + 0xc], eax
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
cmp dword [esi + 0x224], 0
je 0x4c731a
lea eax, [esi + 0x224]
call fcn.004118cc
mov eax, dword [esi + 0x50]
call fcn.00511f64
push eax
mov eax, dword [esi + 0x24c]
call fcn.00461e10
mov edx, 3
pop ecx
call fcn.004b0a8c
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
test byte [eax + 0x358], 1
jne 0x4c73a0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x57], 0
je 0x4c73a0
mov eax, esi
call fcn.004bf4b8
test al, al
jne 0x4c73a0
mov eax, dword [esi + 0x50]
movzx eax, word [eax + 0x52]
and ax, 0x800
cmp ax, 0x800
je 0x4c738d
mov dword [esi + 0x250], 0xffffffff
mov byte [esi + 0x232], 1
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
test byte [esi + 0x1c], 1
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
test byte [eax + 0x358], 1
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
test byte [eax + 0x1c], 8
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
xor ecx, ecx
mov dl, 1
call fcn.004bf400
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
jne 0x4c745c
mov eax, dword [0x5d1d9c]
cmp dword [eax], 0
je 0x4c745c
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00471bac
test eax, eax
je 0x4c745c
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00471bac
cmp byte [eax + 0x273], 2
jne 0x4c745c
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00471bac
cmp eax, dword [esi + 0x24c]
jne case.0x4c3a8b.0
cmp byte [esi + 0xb9], 0
jne 0x4c7477
mov eax, esi
call fcn.004cfa54
test al, al
je 0x4c7477
mov byte [esi + 0xb9], 1
mov ebp, dword [ebx + 4]
mov eax, dword [esi + 0x50]
mov dword [eax + 0x58], ebp
mov eax, dword [esi + 0x50]
mov byte [eax + 0x1c], 0
cmp dword [esi + 0x268], 0
je 0x4c7588
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x39], 0
je 0x4c74a4
mov eax, esi
call fcn.004cceec
push 0xcc0020
push 0
push 0
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
call fcn.00437b04
call fcn.00432ef8
push eax
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x2c]
push eax
push 0
push 0
push ebp
call sub.gdi32.dll_BitBlt
mov eax, esi
call fcn.004cf20c
push eax
mov eax, esi
call fcn.004cf174
mov edx, eax
mov eax, ebp
pop ecx
call fcn.00458238
lea eax, [esp + 0x34]
push eax
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_GetClientRect
lea eax, [esp + 0x34]
xor edx, edx
call fcn.005279bc
push eax
lea eax, [esp + 0x38]
xor edx, edx
call fcn.005279a8
push eax
push 0
push 0
push ebp
call sub.gdi32.dll_IntersectClipRect
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 2
je 0x4c77b9
lea ecx, [esp + 0x84]
xor edx, edx
xor eax, eax
call fcn.00407ecc
lea eax, [esp + 0x84]
push eax
push 0
mov eax, dword [esi + 0x22c]
and eax, 0x200
cmp eax, 0x200
sete al
xor al, 1
push eax
mov cl, 1
mov edx, dword [esi + 0x24c]
mov eax, ebp
call fcn.004b051c
jmp 0x4c77b9
cmp byte [esi + 0x78], 0
je 0x4c76cb
mov eax, esi
call fcn.004c01b8
test al, al
jne 0x4c76c2
mov eax, dword [esi + 0x24c]
call fcn.00461e10
call fcn.004bfd60
test al, al
je 0x4c76c2
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x39], 0
je 0x4c75c9
mov eax, esi
call fcn.004cceec
mov eax, dword [esi + 0x24c]
mov edi, dword [eax + 0x19c]
add edi, 3
push 0xcc0020
push 0
push 0
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
call fcn.00437b04
call fcn.00432ef8
push eax
push edi
mov eax, dword [esi + 0x24c]
mov eax, dword [eax + 0x48]
push eax
push 0
push 0
push ebp
call sub.gdi32.dll_BitBlt
push 0xcc0020
push edi
push 0
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
call fcn.00437b04
call fcn.00432ef8
push eax
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
push edi
push edi
push 0
push ebp
call sub.gdi32.dll_BitBlt
push 0xcc0020
mov eax, dword [esi + 0x24c]
mov eax, dword [eax + 0x4c]
sub eax, edi
push eax
push edi
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
call fcn.00437b04
call fcn.00432ef8
push eax
push edi
mov eax, dword [esi + 0x24c]
mov eax, dword [eax + 0x48]
sub eax, edi
push eax
mov eax, dword [esi + 0x24c]
mov eax, dword [eax + 0x4c]
sub eax, edi
push eax
push edi
push ebp
call sub.gdi32.dll_BitBlt
push 0xcc0020
push edi
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x2c]
sub eax, edi
push eax
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
call fcn.00437b04
call fcn.00432ef8
push eax
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
push edi
push edi
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x2c]
sub eax, edi
push eax
push ebp
call sub.gdi32.dll_BitBlt
jmp 0x4c76cb
mov edx, ebp
mov eax, esi
call fcn.004caeb0
mov eax, esi
call fcn.004cf20c
push eax
mov eax, esi
call fcn.004cf174
mov edx, eax
mov eax, ebp
pop ecx
call fcn.00458238
lea eax, [esp + 0x34]
push eax
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_GetClientRect
lea eax, [esp + 0x34]
xor edx, edx
call fcn.005279bc
push eax
lea eax, [esp + 0x38]
xor edx, edx
call fcn.005279a8
push eax
push 0
push 0
push ebp
call sub.gdi32.dll_IntersectClipRect
mov eax, dword [esi + 0x50]
movzx eax, word [eax + 0x52]
and ax, 1
cmp ax, 1
je 0x4c773a
mov cl, 1
mov edx, ebp
mov eax, esi
call fcn.004cb188
jmp 0x4c77b9
push ebp
call sub.gdi32.dll_SaveDC
mov dword [esp], eax
push 0
push 0
xor ecx, ecx
mov edx, dword [esi + 0x24c]
mov eax, ebp
call fcn.005091c4
mov cl, 1
mov edx, ebp
mov eax, esi
call fcn.004cb188
mov eax, dword [esp]
push eax
push ebp
call sub.gdi32.dll_RestoreDC
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 2
je 0x4c77b9
lea ecx, [esp + 0x84]
xor edx, edx
xor eax, eax
call fcn.00407ecc
lea eax, [esp + 0x84]
push eax
push 0
mov eax, dword [esi + 0x22c]
and eax, 0x200
cmp eax, 0x200
sete al
xor al, 1
push eax
mov cl, 1
mov edx, dword [esi + 0x24c]
mov eax, ebp
call fcn.004b051c
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 2
jne 0x4c77e2
push 0
push ebp
push 0x317
mov eax, dword [esi + 0x24c]
mov eax, dword [eax + 0x29c]
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [esi + 0x50]
xor edx, edx
mov dword [eax + 0x58], edx
mov eax, dword [esi + 0x24c]
cmp word [eax + 0x302], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
call fcn.00471d4c
mov edx, ebp
call fcn.00432f80
mov ebx, dword [esi + 0x24c]
mov edx, dword [esi + 0x24c]
mov eax, dword [ebx + 0x304]
call dword [ebx + 0x300]
mov eax, dword [esi + 0x24c]
call fcn.00471d4c
xor edx, edx
call fcn.00432f80
jmp case.0x4c3a8b.0
xor eax, eax
mov dword [ebx + 0xc], eax
jmp case.0x4c3a8b.0
cmp dword [esi + 0x254], 0
jne 0x4c7859
mov eax, esi
call fcn.004d0afc
cmp byte [esi + 0x78], 0
je 0x4c78c0
mov eax, dword [esi + 0x50]
movzx eax, word [eax + 0x52]
and ax, 0x800
cmp ax, 0x800
je case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
movzx eax, word [eax + 0x52]
and ax, 0x400
cmp ax, 0x400
je case.0x4c3a8b.0
mov eax, esi
call fcn.004bf080
test al, al
je 0x4c78aa
mov eax, dword [esi + 0x24c]
mov eax, dword [eax + 0x290]
cmp dword [eax + 0x38], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x22c]
and eax, 0x200
cmp eax, 0x200
je case.0x4c3a8b.0
cmp byte [esi + 0x21c], 0
je 0x4c78d7
mov byte [esi + 0x21c], 0
mov eax, esi
call fcn.004d2a2c
mov eax, dword [esi + 0x24c]
cmp dword [eax + 0x30], 0
je 0x4c78fe
mov eax, dword [esi + 0x50]
call fcn.00511f78
mov edx, dword [esi + 0x50]
mov byte [edx + 0x1c], al
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x1c], 0
jne case.0x4c3a8b.0
cmp byte [esi + 0x78], 0
je 0x4c79c8
mov eax, dword [0x5d1748]
cmp byte [eax], 0
je 0x4c7925
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
je 0x4c79c8
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x4c7941
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
cmp byte [esi + 0x223], 0
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x1da], 0
je case.0x4c3a8b.0
test byte [esi + 0x1c], 1
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
test byte [eax + 0x55], 2
jne case.0x4c3a8b.0
cmp dword [esi + 0x254], 0
je case.0x4c3a8b.0
cmp dword [esi + 0x228], 0
jne 0x4c7998
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x30]
mov eax, dword [esi + 0x50]
cmp dword [eax + 0x44], 0
jne 0x4c79b7
mov eax, dword [esi + 0x50]
call fcn.00511f64
call fcn.00521338
mov edx, eax
mov eax, esi
call fcn.004d24c4
mov eax, esi
call fcn.004d150c
xor eax, eax
mov dword [ebx + 0xc], eax
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x1da], 0
je 0x4c7d6b
cmp byte [esi + 0xa6], 0
je 0x4c7d6b
mov eax, dword [esi + 0x50]
movzx eax, word [eax + 0x52]
and ax, 0x800
cmp ax, 0x800
je case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x1c], 0
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
test byte [eax + 0x54], 0x80
jne 0x4c7cb2
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 8]
je 0x4c7cb2
mov eax, dword [esi + 0x50]
call fcn.005103b0
test al, al
je 0x4c7a83
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 2
jne 0x4c7bde
mov eax, dword [esi + 0x24c]
call fcn.00471bac
test eax, eax
je 0x4c7bde
mov eax, dword [esi + 0x24c]
call fcn.00471bac
cmp byte [eax + 0x273], 2
jne 0x4c7bde
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
jne 0x4c7ba2
mov eax, dword [esi + 0x50]
cmp dword [eax + 0x44], 0
je 0x4c7ba2
mov eax, dword [0x5d1d9c]
cmp dword [eax], 0
je 0x4c7ba2
lea eax, [esp + 0x34]
push eax
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_GetClientRect
lea edx, [esp + 0x94]
mov eax, dword [esi + 0x24c]
call fcn.00459574
lea edx, [esp + 0x94]
lea eax, [esp + 0x34]
call fcn.00407eec
test al, al
je 0x4c7ba2
lea edx, [esp + 0x94]
mov eax, dword [esi + 0x24c]
call fcn.00459574
lea edx, [esp + 0x9c]
lea eax, [esp + 0x34]
call fcn.00407eec
test al, al
je 0x4c7ba2
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x20]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x24c]
call fcn.00461e10
mov cl, 1
mov edx, dword [esi + 0x268]
call fcn.004bf130
mov edi, eax
mov dl, 1
mov eax, esi
call fcn.004c0cdc
add edi, eax
mov eax, esi
call fcn.004cf300
mov ebp, eax
mov eax, esi
call fcn.004cfa38
imul ebp, eax
add edi, ebp
inc edi
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x1c]
jge 0x4c7b84
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
jmp 0x4c7b8c
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
mov edx, dword [ebx + 4]
mov eax, esi
call fcn.004d1308
cmp byte [0x5ce518], 0
je 0x4c7d5f
mov byte [0x5ce518], 0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
jne 0x4c7d5f
mov dword [0x5ce51c], esi
jmp 0x4c7d5f
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x1c], 0
jne 0x4c7d5f
mov eax, dword [esi + 0x50]
cmp dword [eax + 0x44], 0
je 0x4c7ca2
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x39], 0
jne 0x4c7ca2
mov eax, dword [esi + 0x24c]
call fcn.00459614
push eax
lea eax, [esp + 0x98]
push eax
mov eax, dword [esi + 0x24c]
call fcn.004595d0
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.00407eb0
lea eax, [esp + 0x94]
push eax
mov eax, dword [ebx + 4]
push eax
push 0
push 0
push 0
mov eax, esi
call fcn.004cf20c
mov edi, eax
mov eax, dword [esi + 0x24c]
call fcn.00459614
add edi, eax
push edi
lea eax, [esp + 0xbc]
push eax
mov eax, esi
call fcn.004cf174
mov edi, eax
mov eax, dword [esi + 0x24c]
call fcn.004595d0
add edi, eax
push edi
mov eax, esi
call fcn.004cf20c
push eax
mov eax, esi
call fcn.004cf174
pop edx
pop ecx
call fcn.00407eb0
lea ecx, [esp + 0xb8]
mov edx, dword [esi + 0x50]
mov eax, dword [esi + 0x24c]
call fcn.00513634
mov eax, dword [esi + 0x24c]
call fcn.004b02f0
jmp 0x4c7d5f
cmp dword [ebx + 4], 0
je 0x4c7d5f
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x39], 0
jne 0x4c7d5f
mov eax, dword [esi + 0x50]
call fcn.005103b0
test al, al
je 0x4c7d1e
push 0xcc0020
mov eax, esi
call fcn.004cf20c
push eax
mov eax, esi
call fcn.004cf174
push eax
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
call fcn.00437b04
call fcn.00432ef8
push eax
mov eax, dword [esi + 0x24c]
mov eax, dword [eax + 0x4c]
push eax
mov eax, dword [esi + 0x24c]
mov eax, dword [eax + 0x48]
push eax
push 0
push 0
mov eax, dword [ebx + 4]
push eax
call sub.gdi32.dll_BitBlt
jmp 0x4c7d5f
xor ecx, ecx
xor edx, edx
mov eax, dword [esi + 0x50]
call fcn.00510c80
push eax
mov eax, dword [esi + 0x24c]
mov eax, dword [eax + 0x4c]
push eax
lea eax, [esp + 0x9c]
push eax
mov eax, dword [esi + 0x24c]
mov ecx, dword [eax + 0x48]
xor edx, edx
xor eax, eax
call fcn.00407eb0
lea edx, [esp + 0x98]
mov eax, dword [ebx + 4]
pop ecx
call fcn.00508f28
mov dword [ebx + 0xc], 1
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
cmp byte [esi + 0xa6], 0
je 0x4c7f53
mov eax, dword [esi + 0x24c]
test byte [eax + 0x54], 0x80
jne case.0x4c3a8b.0
cmp dword [esi + 0x268], 0
je 0x4c7de2
mov eax, esi
call fcn.004bf4b8
test al, al
jne 0x4c7de2
mov eax, dword [esi + 0x268]
cmp dword [eax + 0x18], 0
je 0x4c7dd3
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.00461e10
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x4c7de2
mov cl, 0xff
xor edx, edx
mov eax, dword [esi + 0x268]
call fcn.004d8f20
mov eax, dword [esi + 0x50]
call fcn.005103b0
test al, al
je 0x4c7ea3
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x1da], 0
je 0x4c7e93
mov edx, ebx
mov eax, esi
call fcn.004d1cac
cmp byte [0x5ce518], 0
je 0x4c7e1e
mov byte [0x5ce518], 0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 2
jne 0x4c7e89
cmp dword [ebx + 4], 0
jne 0x4c7e46
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_GetDC
mov ebp, eax
lea ecx, [esp + 0x84]
xor edx, edx
xor eax, eax
call fcn.00407ecc
lea eax, [esp + 0x84]
push eax
push 0
push 1
mov cl, 1
mov edx, dword [esi + 0x24c]
mov eax, ebp
call fcn.004b051c
cmp dword [ebx + 4], 0
jne 0x4c7e89
push ebp
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_ReleaseDC
xor eax, eax
mov dword [ebx + 0xc], eax
jmp 0x4c7f17
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp 0x4c7f17
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x1da], 0
je 0x4c7f09
test byte [esi + 0x1c], 8
jne 0x4c7ed6
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x39], 0
je 0x4c7ed6
push 0xffffffffffffffff
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_InvalidateRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_BeginPaint
lea eax, [esp + 0x44]
push eax
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_EndPaint
xor eax, eax
mov dword [ebx + 0xc], eax
jmp 0x4c7f17
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
cmp byte [esi + 0x78], 0
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp dword [eax + 0x290], 0
je case.0x4c3a8b.0
push 0
push 0
push 0x85
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [0x5d1cd0]
cmp dword [eax], 0
je 0x4c7f9d
mov eax, dword [esi + 0x24c]
call fcn.004621b0
test al, al
je 0x4c7f9d
mov eax, dword [esi + 0x24c]
call fcn.00461e10
call fcn.004c0dd8
cmp byte [0x5ce4f8], 0
jne case.0x4c3a8b.0
jmp case.0x4c3a8b.0
test byte [esi + 0x1c], 8
jne 0x4c869e
cmp byte [esi + 0x78], 0
je 0x4c869e
mov eax, dword [esi + 0x24c]
call fcn.004621b0
test al, al
je 0x4c869e
cmp dword [esi + 0x254], 0
jne 0x4c7fe6
mov eax, esi
call fcn.004d0afc
or dword [esi + 0x22c], 0x8000
mov eax, dword [esi + 0x22c]
and eax, 0x80
cmp eax, 0x80
je 0x4c800f
cmp dword [ebx + 4], 1
sbb eax, eax
inc eax
mov byte [esi + 0x244], al
cmp byte [esi + 0x244], 0
jne 0x4c802d
cmp byte [esi + 0x221], 3
jne 0x4c802d
mov byte [esi + 0x221], 0
jmp 0x4c80e1
cmp byte [esi + 0x221], 3
je 0x4c80cf
mov eax, dword [esi + 0x50]
cmp dword [eax + 0x28], 0
jl 0x4c80bc
mov eax, dword [esi + 0x50]
cmp dword [eax + 0x24], 0
jl 0x4c8097
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0xc8]
mov edx, dword [esi + 0x50]
mov edx, dword [edx + 0x24]
mov ecx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
cmp word [eax + edx*8 + 0x1c], 1
jg 0x4c808e
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0xd0]
mov edx, dword [esi + 0x50]
imul edx, dword [edx + 0x28], 0x43
cmp dword [eax + edx*4 + 8], 1
jle 0x4c80c3
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
jmp 0x4c80c3
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0xd0]
mov edx, dword [esi + 0x50]
imul edx, dword [edx + 0x28], 0x43
cmp dword [eax + edx*4 + 8], 1
jle 0x4c80c3
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
jmp 0x4c80c3
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
xor edx, edx
mov eax, dword [esi + 0x50]
call fcn.00512494
jmp 0x4c80e1
cmp dword [esi + 0x268], 0
sete dl
mov eax, dword [esi + 0x50]
call fcn.00512494
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x1da], 0
je 0x4c83fb
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4c83fb
cmp word [ebx + 4], 0
setne al
cmp al, byte [esi + 0x244]
je 0x4c8124
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
call fcn.004bf36c
test al, al
je 0x4c8273
cmp dword [esi + 0x268], 0
jne 0x4c819c
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
call fcn.0047aff4
test al, al
je 0x4c8180
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [esi + 0x24c]
je 0x4c8180
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
cmp dword [eax + 0x44], 0
je 0x4c8180
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp byte [eax + 0x273], 1
je 0x4c82cb
push 0
push 0
push 0xb
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
jmp 0x4c82cb
mov eax, dword [esi + 0x50]
cmp dword [eax + 0x44], 0
je 0x4c82cb
mov eax, esi
call fcn.004cf300
test eax, eax
jle 0x4c82cb
mov eax, dword [esi + 0x268]
cmp dword [eax + 0x18], 0
jne 0x4c81cf
mov eax, dword [esi + 0x268]
call fcn.004da0d8
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [esi + 0x268]
call fcn.004d9f70
push eax
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowRgn
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x328], 0
je 0x4c822e
push 0
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.00461e10
mov edx, dword [esi + 0x24c]
movzx ecx, byte [edx + 0x329]
mov edx, dword [esi + 0x50]
mov edx, dword [edx + 0x44]
call fcn.004be010
jmp 0x4c824e
push 0
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.00461e10
mov edx, dword [esi + 0x50]
mov edx, dword [edx + 0x44]
mov ecx, 0xff
call fcn.004be010
push 0x613
push 0
push 0
push 0
push 0
push 0
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowPos
jmp 0x4c82cb
cmp byte [esi + 0x223], 0
jne 0x4c8285
cmp byte [esi + 0x21c], 0
je 0x4c829e
push 0
push 0
push 0xb
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
jmp 0x4c82cb
cmp dword [esi + 0x268], 0
je 0x4c82b2
mov eax, esi
call fcn.004bf080
test al, al
je 0x4c82cb
mov eax, dword [esi + 0x24c]
cmp word [eax + 0x302], 0
jne 0x4c82cb
xor edx, edx
mov eax, esi
call fcn.004bf860
cmp dword [esi + 0x268], 0
je 0x4c82ef
cmp byte [esi + 0x223], 0
jne 0x4c82ef
call fcn.004bf36c
test al, al
jne 0x4c82ef
xor edx, edx
mov eax, esi
call fcn.004bfd78
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
call fcn.004bf36c
test al, al
je 0x4c8390
cmp dword [esi + 0x268], 0
jne 0x4c8409
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
call fcn.0047aff4
test al, al
je 0x4c835d
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [esi + 0x24c]
je 0x4c835d
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
cmp dword [eax + 0x44], 0
je 0x4c835d
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp byte [eax + 0x273], 1
je 0x4c8409
push 0
push 1
push 0xb
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
push 0x181
push 0
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
jmp 0x4c8409
cmp byte [esi + 0x223], 0
jne 0x4c83a2
cmp byte [esi + 0x21c], 0
je 0x4c83bb
push 0
push 1
push 0xb
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
jmp 0x4c83d6
cmp dword [esi + 0x268], 0
je 0x4c83cf
mov eax, esi
call fcn.004bf080
test al, al
je 0x4c83d6
mov eax, esi
call fcn.004bfb90
cmp byte [esi + 0x21c], 0
je 0x4c8409
push 0x85
push 0
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
jmp 0x4c8409
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
cmp dword [esi + 0x24c], 0
je 0x4c84f1
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x57], 0
je 0x4c84f1
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
jne 0x4c84f1
mov eax, dword [esi + 0x24c]
test byte [eax + 0x358], 0x10
je 0x4c84f1
mov eax, dword [esi + 0x24c]
test byte [eax + 0x358], 4
je 0x4c84f1
mov eax, dword [0x5d1d9c]
cmp dword [eax], 0
je 0x4c84f1
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
cmp dword [eax + 0x240], 0
je 0x4c84f1
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x39], 1
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov dword [eax + 0x250], 0xffffffff
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x240]
call fcn.004baea8
push 0
push 0
push 0x85
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
push 0
push 0
push 0x85
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
mov eax, dword [eax + 0x29c]
push eax
call sub.user32.dll_SendMessageA
push 0xffffffffffffffec
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0x80000
cmp eax, 0x80000
jne 0x4c8529
cmp dword [esi + 0x218], 0
jne 0x4c8529
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, esi
call fcn.004d2c2c
mov eax, dword [esi + 0x24c]
test byte [eax + 0x54], 0x40
jne case.0x4c3a8b.0
mov eax, esi
call fcn.004c01b8
test al, al
je 0x4c85df
mov eax, dword [esi + 0x22c]
and eax, 0x80
cmp eax, 0x80
je 0x4c85df
mov eax, esi
call fcn.004cf9cc
test al, al
je 0x4c85b7
cmp word [ebx + 4], 0
jne 0x4c8584
mov eax, dword [esi + 0x24c]
call fcn.00471bac
cmp byte [eax + 0x276], 0
je 0x4c85df
cmp word [ebx + 4], 0
jne 0x4c85a3
mov eax, dword [esi + 0x24c]
call fcn.00471bac
cmp byte [eax + 0x276], 0
jne 0x4c85a3
xor eax, eax
jmp 0x4c85a5
mov al, 1
mov byte [esi + 0x244], al
mov dword [esi + 0x250], 0xffffffff
jmp 0x4c85df
cmp word [ebx + 4], 0
setne al
cmp al, byte [esi + 0x244]
je 0x4c85df
cmp word [ebx + 4], 0
setne al
mov byte [esi + 0x244], al
mov dword [esi + 0x250], 0xffffffff
and dword [esi + 0x22c], 0xffff7fff
cmp dword [esi + 0x218], 0
je 0x4c85fe
mov eax, dword [esi + 0x218]
cmp byte [eax + 0x30], 0
jne 0x4c866c
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, esi
call fcn.004d2c2c
cmp dword [esi + 0x268], 0
je 0x4c866c
mov eax, dword [esi + 0x24c]
movzx eax, byte [eax + 0x273]
sub al, 1
jb 0x4c865d
dec al
jne 0x4c866c
mov eax, dword [0x5d1a30]
cmp byte [eax], 0
je 0x4c864c
lea eax, [esi + 0x268]
call fcn.004118cc
xor edx, edx
mov eax, esi
call fcn.004bfd78
jmp 0x4c866c
mov cl, 0xff
mov dl, 1
mov eax, dword [esi + 0x268]
call fcn.004d8f20
jmp 0x4c866c
mov cl, 0xff
mov dl, 1
mov eax, dword [esi + 0x268]
call fcn.004d8f20
mov eax, esi
call fcn.004d0a80
xor edx, edx
mov eax, dword [esi + 0x50]
call fcn.00512498
test al, al
je case.0x4c3a8b.0
cmp dword [esi + 0x228], 0
jne case.0x4c3a8b.0
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x30]
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [0x5d1c0c]
cmp dword [eax], 0
je 0x4c86e2
mov eax, dword [0x5d1c0c]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
je 0x4c86e2
mov eax, dword [0x5d1c0c]
mov eax, dword [eax]
call fcn.0047528c
cmp dword [ebx + 4], 1
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x22c]
and eax, 0x100
cmp eax, 0x100
je case.0x4c3a8b.0
cmp dword [esi + 0x268], 0
je 0x4c8737
mov cl, 0xff
xor edx, edx
mov eax, dword [esi + 0x268]
call fcn.004d8f20
jmp case.0x4c3a8b.0
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [esi + 0x24c]
jne case.0x4c3a8b.0
cmp dword [ebx + 4], 1
jne case.0x4c3a8b.0
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp byte [eax + 0x273], 1
jne case.0x4c3a8b.0
cmp dword [esi + 0x218], 0
je 0x4c878a
mov eax, dword [esi + 0x218]
cmp byte [eax + 0xec], 0
jne case.0x4c3a8b.0
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
xor edx, edx
call fcn.0047246c
push 0xffffffffffffffff
push 0
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
call fcn.00461e10
push eax
call sub.user32.dll_InvalidateRect
push 0x585
push 0
push 0
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
jne 0x4c88b3
mov eax, dword [0x5d1d9c]
cmp dword [eax], 0
je 0x4c88b3
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
test byte [eax + 0x1c], 8
jne 0x4c88b3
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x273], 2
je 0x4c887d
mov byte [esi + 0xb9], 0
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov byte [eax + 0x232], 1
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x39], 1
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov dword [eax + 0x250], 0xffffffff
push 0
push 0
push 0x85
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
jmp 0x4c88b3
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x39], 1
push 0
push 0
push 0x85
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
mov al, 1
call fcn.004c2ed4
mov dword [0x5ce51c], esi
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x1da], 0
je 0x4c897c
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
cmp dword [esi + 0x224], 0
jne 0x4c88fd
cmp byte [esi + 0x78], 0
je 0x4c88fd
lea edx, [esi + 0x224]
xor ecx, ecx
mov eax, esi
call fcn.004c00b4
mov eax, dword [esi + 0x24c]
test byte [eax + 0x54], 0x40
jne case.0x4c3a8b.0
mov dword [esi + 0x250], 0xffffffff
cmp word [ebx + 4], 1
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
call fcn.00511f64
test byte [eax + 0x1c], 0x10
jne 0x4c8943
xor edx, edx
mov eax, dword [esi + 0x50]
call fcn.00512498
mov edx, eax
mov eax, esi
call fcn.004cfe68
cmp dword [esi + 0x254], 0
je 0x4c8959
xor edx, edx
mov eax, dword [esi + 0x254]
call fcn.004d5464
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x271], 0
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
call fcn.004b02f0
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
cmp byte [esi + 0x21c], 0
je 0x4c89c2
cmp dword [ebx + 4], 1
jne 0x4c89c2
mov byte [esi + 0x21c], 0
mov eax, esi
call fcn.004d2a2c
mov eax, dword [esi + 0x50]
call fcn.00511f64
call fcn.00521338
mov edx, eax
mov eax, esi
call fcn.004d24c4
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
cmp dword [ebx + 4], 0
jne 0x4c8a17
cmp dword [esi + 0x50], 0
je 0x4c8a0b
mov eax, dword [esi + 0x50]
cmp dword [eax + 0x44], 0
je 0x4c8a0b
mov eax, dword [esi + 0x24c]
test byte [eax + 0x1c], 8
jne 0x4c8a0b
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x44]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, esi
call fcn.004d26e8
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp dword [eax + 0x30], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
call fcn.004b02f0
jmp case.0x4c3a8b.0
cmp byte [esi + 0x54], 1
jne 0x4c8a8b
cmp byte [0x5ce4fc], 0
je 0x4c8a8b
lea ecx, [esp + 0x84]
movsx edx, word [ebx + 0xa]
movsx eax, word [ebx + 8]
call fcn.00407ecc
lea edx, [esp + 0x84]
lea ecx, [esp + 8]
mov eax, dword [esi + 0x24c]
call fcn.004596e4
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov eax, esi
call fcn.004cfff8
call sub.user32.dll_ReleaseCapture
mov byte [0x5ce4fc], 0
mov byte [0x5ce500], 0
mov eax, dword [ebx + 4]
sub eax, 2
je 0x4c8ac6
dec eax
jne 0x4c8bcb
mov eax, dword [esi + 0x50]
call fcn.00511f64
cmp byte [eax + 0x58], 0
jne 0x4c8ab6
mov eax, dword [esi + 0x50]
mov byte [eax + 0x1c], 1
mov eax, dword [esi + 0x24c]
call fcn.0047528c
jmp case.0x4c3a8b.0
mov eax, esi
call fcn.004cf860
test al, al
je 0x4c8aef
mov eax, dword [esi + 0x254]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
jne 0x4c8b13
mov eax, dword [esi + 0x254]
mov edx, dword [eax]
call dword [edx + 0x58]
test al, al
jne 0x4c8b13
mov eax, esi
call fcn.004c01b8
test al, al
jne 0x4c8b82
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x4c8b82
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x273], 2
je 0x4c8b37
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x4c8b56
push 0
push 0xf120
push 0x112
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
jmp 0x4c8b73
push 0
push 0xf030
push 0x112
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
xor edx, edx
mov eax, dword [esi + 0x254]
call fcn.004d5464
jmp 0x4c8bc1
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x4c8bc1
push 0
push 0xf120
push 0x112
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
xor edx, edx
mov eax, dword [esi + 0x254]
call fcn.004d5464
xor eax, eax
mov dword [ebx + 4], eax
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 2
jne 0x4c8bfd
mov eax, dword [0x5d1d9c]
cmp esi, dword [eax]
jne 0x4c8bfd
mov eax, dword [0x5d1d9c]
mov dword [eax], esi
mov eax, esi
call fcn.004bf080
test al, al
je 0x4c8c4f
mov eax, dword [esi + 0x50]
call fcn.00511f64
test eax, eax
je 0x4c8c4f
mov eax, dword [ebx + 8]
cmp dword [eax], 1
jne 0x4c8c4f
mov eax, dword [ebx + 8]
mov edx, dword [eax + 8]
mov eax, dword [esi + 0x24c]
mov eax, dword [eax + 0x290]
xor ecx, ecx
call fcn.00451a78
mov edi, eax
test edi, edi
je 0x4c8c4f
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x44]
mov cl, 1
mov edx, edi
call fcn.00525f90
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
je 0x4c8f5a
movzx eax, word [ebx + 4]
sub ax, 0xf012
je 0x4c8c9e
sub ax, 0xe
je 0x4c8d15
sub ax, 0x10
je 0x4c8cb1
sub ax, 0xf0
je 0x4c8d77
jmp 0x4c8f5a
mov eax, dword [esi + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x84]
jmp 0x4c8f5a
mov eax, dword [esi + 0x24c]
cmp dword [eax + 0x30], 0
jne 0x4c8f5a
cmp dword [esi + 0x218], 0
je 0x4c8f5a
mov eax, dword [esi + 0x218]
cmp byte [eax + 0xec], 0
je 0x4c8f5a
call fcn.00527918
mov byte [esp + 0x12], al
xor eax, eax
call fcn.00527948
mov eax, esi
call fcn.004be584
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
movzx eax, byte [esp + 0x12]
call fcn.00527948
jmp case.0x4c3a8b.0
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [esi + 0x24c]
je 0x4c8f5a
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x4c8f5a
call fcn.00527918
mov byte [esp + 0x12], al
xor eax, eax
call fcn.00527948
mov eax, esi
call fcn.004be334
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
movzx eax, byte [esp + 0x12]
call fcn.00527948
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x22c]
and eax, 0x200
cmp eax, 0x200
jne 0x4c8dd3
and dword [esi + 0x22c], 0xfffffdff
cmp dword [esi + 0x268], 0
je 0x4c8da6
mov eax, dword [esi + 0x268]
mov byte [eax + 0x28], 0
call fcn.00527918
mov byte [esp + 0x12], al
xor eax, eax
call fcn.00527948
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
movzx eax, byte [esp + 0x12]
call fcn.00527948
jmp case.0x4c3a8b.0
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [esi + 0x24c]
je 0x4c8e8e
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x4c8e32
call fcn.00527918
mov byte [esp + 0x12], al
xor eax, eax
call fcn.00527948
mov eax, esi
call fcn.004be584
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
movzx eax, byte [esp + 0x12]
call fcn.00527948
jmp case.0x4c3a8b.0
cmp dword [esi + 0x268], 0
je 0x4c8e47
mov eax, dword [esi + 0x268]
cmp dword [eax + 0x18], 0
je 0x4c8e63
cmp dword [esi + 0x268], 0
jne 0x4c8f5a
mov eax, esi
call fcn.004c314c
test al, al
je 0x4c8f5a
cmp dword [esi + 0x268], 0
je 0x4c8e77
lea eax, [esi + 0x268]
call fcn.004118cc
mov dl, 1
mov eax, esi
call fcn.004d24c4
xor edx, edx
mov eax, esi
call fcn.004bfd78
jmp 0x4c8f5a
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
call fcn.0047aff4
test al, al
je 0x4c8f5a
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [esi + 0x24c]
jne 0x4c8f5a
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x4c8f5a
mov eax, dword [esi + 0x24c]
cmp dword [eax + 0x30], 0
jne 0x4c8f5a
cmp dword [esi + 0x218], 0
je 0x4c8f06
mov eax, dword [ebx + 8]
push eax
mov eax, dword [ebx + 4]
push eax
mov eax, dword [ebx]
push eax
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
push eax
call sub.user32.dll_SendMessageA
jmp case.0x4c3a8b.0
cmp dword [esi + 0x268], 0
jne 0x4c8f5a
call fcn.004bf36c
test al, al
je 0x4c8f5a
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
push 0x481
push 0
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
push 0xffffffffffffffff
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_InvalidateRect
jmp case.0x4c3a8b.0
cmp byte [esi + 0x54], 1
jne 0x4c8fdd
mov eax, dword [esi + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x4c8fdd
cmp byte [0x5ce4fc], 0
jne 0x4c8fdd
mov eax, dword [ebx + 4]
and eax, 0xfff0
cmp eax, 0xf010
jne 0x4c8fa8
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SetCapture
mov byte [0x5ce504], 1
mov byte [0x5d8324], 1
jmp 0x4c8fdd
mov eax, dword [ebx + 4]
and eax, 0xfff0
cmp eax, 0xf000
jne 0x4c8fdd
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SetCapture
xor eax, eax
mov dword [0x5d8348], eax
mov byte [0x5ce504], 1
mov byte [0x5d8324], 0
mov eax, dword [esi + 0x24c]
movzx eax, byte [eax + 0x277]
dec al
je 0x4c8ffb
dec al
je 0x4c93bc
jmp 0x4c944b
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x273], 2
jne 0x4c9022
cmp dword [ebx + 4], 0xf030
je 0x4c9022
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x273], 0
jne 0x4c9026
xor eax, eax
jmp 0x4c9028
mov al, 1
mov byte [esp + 0x10], al
cmp byte [esp + 0x10], 0
je 0x4c904c
mov eax, dword [0x5d1d9c]
cmp dword [eax], 0
je 0x4c904c
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
call fcn.00511d28
mov eax, dword [ebx + 4]
and eax, 0xfff0
cmp eax, 0xf060
jg 0x4c9076
je 0x4c908f
sub eax, 0xf020
je 0x4c9295
sub eax, 0x10
je 0x4c92d1
jmp 0x4c938a
sub eax, 0xf100
je 0x4c9398
sub eax, 0x20
je 0x4c9145
jmp 0x4c938a
mov eax, dword [0x5d1d9c]
cmp dword [eax], 0
je 0x4c9398
mov eax, dword [0x5d1d9c]
cmp dword [eax], 0
je 0x4c90c5
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
cmp dword [eax + 0x240], 0
je 0x4c90c5
cmp byte [esp + 0x10], 0
je 0x4c90c5
mov al, 1
call fcn.004c2ed4
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov byte [eax + 0x21f], 1
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [esi + 0x24c]
test byte [eax + 0x1c], 8
jne 0x4c90fe
test byte [esi + 0x1c], 8
jne 0x4c90fe
xor ecx, ecx
xor edx, edx
mov eax, esi
call fcn.004cb71c
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov byte [eax + 0x21f], 0
mov eax, dword [0x5d1d9c]
cmp dword [eax], 0
je case.0x4c3a8b.0
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
cmp dword [eax + 0x240], 0
je case.0x4c3a8b.0
cmp byte [esp + 0x10], 0
je case.0x4c3a8b.0
mov al, 1
call fcn.004c2ed4
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x273], 1
jne 0x4c9159
mov byte [esp + 0x10], 1
cmp byte [0x5ce518], 0
jne case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
cmp byte [esi + 0x78], 0
je 0x4c91ad
push 0xfffffffffffffff0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xfff7ffff
push eax
push 0xfffffffffffffff0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowLongA
push 0x505
push 0
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [0x5d1d9c]
cmp dword [eax], 0
je 0x4c9275
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00471be0
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x4c9275
inc ebp
xor edi, edi
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
mov edx, edi
call fcn.00471c2c
cmp eax, dword [esi + 0x24c]
je 0x4c9271
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
mov edx, edi
call fcn.00471c2c
cmp byte [eax + 0x273], 2
jne 0x4c9249
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
mov edx, edi
call fcn.00471c2c
xor edx, edx
call fcn.0047246c
push 0x506
push 0
push 0
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
mov edx, edi
call fcn.00471c2c
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
inc edi
dec ebp
jne 0x4c91f5
cmp byte [esp + 0x10], 0
je 0x4c9283
mov al, 1
call fcn.004c2ed4
mov dl, 1
mov eax, dword [esi + 0x254]
call fcn.004d5464
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
cmp byte [esp + 0x10], 0
je 0x4c92b1
mov al, 1
call fcn.004c2ed4
mov dl, 1
mov eax, dword [esi + 0x254]
call fcn.004d5464
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
mov al, 1
call fcn.004c2ed4
jmp case.0x4c3a8b.0
mov dword [0x5ce51c], esi
push 0xfffffffffffffff0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xefffffff
push eax
push 0xfffffffffffffff0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowLongA
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
push 0xfffffffffffffff0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_GetWindowLongA
or eax, 0x10000000
push eax
push 0xfffffffffffffff0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowLongA
push 0x506
push 0
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [0x5d1d9c]
cmp dword [eax], 0
je 0x4c9378
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
cmp dword [eax + 0x240], 0
je 0x4c9378
mov al, 1
call fcn.004c2ed4
mov dl, 1
mov eax, dword [esi + 0x254]
call fcn.004d5464
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [0x5d1d9c]
cmp dword [eax], 0
je 0x4c96ae
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
xor edx, edx
call fcn.00511ee4
jmp 0x4c96ae
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [ebx + 4]
sub eax, 0xf020
je 0x4c93e4
sub eax, 0x10
je 0x4c93e4
sub eax, 0xf0
jne 0x4c96ae
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x39], 1
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov dword [eax + 0x250], 0xffffffff
push 0
push 0
push 0x85
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SendMessageA
cmp dword [ebx + 4], 0xf030
jne 0x4c96ae
cmp dword [esi + 0x268], 0
je 0x4c96ae
mov cl, 0xff
mov dl, 1
mov eax, dword [esi + 0x268]
call fcn.004d8f20
jmp 0x4c96ae
mov eax, dword [ebx + 4]
sub eax, 0xf030
je 0x4c945c
sub eax, 0xf0
jne 0x4c9483
cmp dword [esi + 0x268], 0
je 0x4c9483
mov eax, dword [0x5d1a30]
cmp byte [eax], 0
jne 0x4c9478
cmp dword [ebx + 4], 0xf120
jne 0x4c9483
lea eax, [esi + 0x268]
call fcn.004118cc
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [ebx + 4]
sub eax, 0xf030
je 0x4c95d1
sub eax, 0xd0
je 0x4c94b4
sub eax, 0x20
je 0x4c95d1
jmp 0x4c96ae
cmp word [ebx + 8], 0x20
jne 0x4c96ae
mov eax, esi
call fcn.004cf860
test al, al
je 0x4c96ae
mov eax, esi
call fcn.004c01b8
test al, al
je 0x4c96ae
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x4c9563
lea edx, [esp + 0x84]
mov eax, esi
call fcn.004cebfc
mov edi, dword [esp + 0x88]
mov dl, 1
mov eax, esi
call fcn.004c0b10
add edi, eax
lea eax, [esi + 0x96]
xor edx, edx
call fcn.005279bc
add edi, eax
sub edi, 0x10
push edi
mov eax, dword [esi + 0x24c]
call fcn.00461e10
mov cl, 1
mov edx, dword [esi + 0x268]
call fcn.004bf0dc
mov edi, eax
lea edx, [esp + 0x90]
mov eax, esi
call fcn.004cebfc
add edi, dword [esp + 0x90]
mov edx, edi
mov eax, esi
pop ecx
call fcn.004ced08
jmp 0x4c96ae
lea edx, [esp + 0x84]
mov eax, esi
call fcn.004cebfc
mov edi, dword [esp + 0x88]
mov dl, 1
mov eax, esi
call fcn.004c0b10
add edi, eax
lea eax, [esi + 0x96]
xor edx, edx
call fcn.005279bc
add edi, eax
push edi
mov eax, dword [esi + 0x24c]
call fcn.00461e10
mov cl, 1
mov edx, dword [esi + 0x268]
call fcn.004bf0dc
mov edi, eax
lea edx, [esp + 0x90]
mov eax, esi
call fcn.004cebfc
add edi, dword [esp + 0x90]
mov edx, edi
mov eax, esi
pop ecx
call fcn.004ced08
jmp 0x4c96ae
mov eax, dword [esi + 0x254]
mov edx, dword [eax]
call dword [edx + 0x48]
test al, al
je 0x4c95e7
mov dword [esi + 0x38], 9
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.004cb71c
cmp dword [ebx + 4], 0xf120
jne 0x4c96ae
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 1
mov byte [esi + 0xba], 1
mov eax, esi
call fcn.004c01b8
test al, al
jne 0x4c962f
push 0xffffffffffffffff
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowRgn
jmp 0x4c96ae
mov eax, dword [esi + 0x50]
call fcn.00511f64
test eax, eax
je 0x4c9694
mov eax, dword [esi + 0x50]
call fcn.00511f64
call fcn.00521338
test al, al
je 0x4c9694
cmp byte [esi + 0x79], 0
je 0x4c9694
cmp byte [esi + 0x78], 0
je 0x4c9694
mov eax, dword [esi + 0x24c]
cmp dword [eax + 0x30], 0
jne 0x4c9694
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
je 0x4c9694
mov dl, 1
mov eax, esi
call fcn.004d24c4
cmp dword [esi + 0x268], 0
je 0x4c9694
mov cl, 0xff
mov dl, 1
mov eax, dword [esi + 0x268]
call fcn.004d8f20
push 0x481
push 0
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_RedrawWindow
movzx eax, word [ebx + 4]
sub ax, 0xf020
jne case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x4c96d7
mov byte [esi + 0x223], 0
cmp dword [esi + 0x268], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x268]
cmp dword [eax + 0x18], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x22c]
and eax, 0x100
cmp eax, 0x100
je case.0x4c3a8b.0
mov eax, dword [esi + 0x268]
mov byte [eax + 0x28], 1
mov eax, dword [esi + 0x268]
add eax, 0x18
call fcn.004118cc
mov eax, dword [esi + 0x268]
mov byte [eax + 0x28], 0
jmp case.0x4c3a8b.0
cmp byte [esi + 0x230], 0
jne 0x4c9cb0
mov eax, dword [esi + 0x24c]
test byte [eax + 0x1c], 1
jne 0x4c9cb0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsZoomed
test eax, eax
jne 0x4c9985
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x18]
and eax, 2
cmp eax, 2
je 0x4c9985
mov eax, dword [ebx + 8]
cmp dword [eax + 8], 0
jne 0x4c978f
mov eax, dword [ebx + 8]
cmp dword [eax + 0xc], 0
je 0x4c9985
mov ebp, dword [ebx + 8]
mov eax, dword [0x5d1a30]
cmp byte [eax], 0
je 0x4c97dd
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x273], 0
jne 0x4c97dd
cmp dword [esi + 0x268], 0
jne 0x4c97dd
mov eax, esi
call fcn.004c314c
test al, al
je 0x4c97dd
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4c97dd
mov dl, 1
mov eax, esi
call fcn.004d24c4
cmp byte [esi + 0x56], 0
je 0x4c98da
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x1da], 0
je 0x4c98da
lea edx, [esp + 0x34]
mov eax, dword [esi + 0x24c]
call fcn.004c30ec
cmp dword [esi + 0x268], 0
je 0x4c983b
mov eax, dword [esi + 0x268]
call fcn.004bf248
mov edi, eax
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x34]
call fcn.00511f64
mov eax, dword [eax + 0xc4]
movsx eax, word [eax + 0x32]
add edi, eax
jmp 0x4c983d
xor edi, edi
mov eax, dword [esi + 0x24c]
mov eax, dword [eax + 0x48]
add eax, edi
push eax
lea eax, [ebp + 8]
mov ecx, dword [esi + 0x58]
mov edx, dword [esp + 0x40]
call fcn.004c3038
mov eax, dword [esi + 0x24c]
mov eax, dword [eax + 0x4c]
add eax, edi
push eax
lea eax, [ebp + 0xc]
mov ecx, dword [esi + 0x58]
mov edx, dword [esp + 0x44]
call fcn.004c3038
neg edi
push edi
lea eax, [ebp + 8]
mov ecx, dword [esi + 0x58]
mov edx, dword [esp + 0x38]
call fcn.004c3038
cmp dword [esi + 0x268], 0
je 0x4c98c9
mov eax, dword [esi + 0x268]
call fcn.004bf20c
mov edi, eax
neg edi
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x34]
call fcn.00511f64
mov eax, dword [eax + 0xc4]
movsx eax, word [eax + 0x32]
sub edi, eax
push edi
lea eax, [ebp + 0xc]
mov ecx, dword [esi + 0x58]
mov edx, dword [esp + 0x3c]
call fcn.004c3038
jmp 0x4c98da
push 0
lea eax, [ebp + 0xc]
mov ecx, dword [esi + 0x58]
mov edx, dword [esp + 0x3c]
call fcn.004c3038
test byte [esi + 0x22d], 0x60
je 0x4c9985
push esi
add esi, 0xd0
lea edi, [esp + 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [esi + 0x22c]
and eax, 0x2000
cmp eax, 0x2000
jne 0x4c995f
mov eax, dword [esi + 0x24c]
call fcn.004706dc
mov edx, dword [ebx + 8]
cmp eax, dword [edx + 0xc]
jne 0x4c9943
mov eax, dword [ebx + 8]
mov edx, dword [esi + 0xd4]
mov dword [eax + 0xc], edx
mov eax, dword [esi + 0x24c]
call fcn.004706dc
mov edx, dword [esi + 0xd4]
sub edx, eax
mov eax, dword [ebx + 8]
sub dword [eax + 0x14], edx
jmp 0x4c9955
mov eax, dword [esi + 0xd4]
add eax, dword [esi + 0xdc]
mov edx, dword [ebx + 8]
mov dword [edx + 0x14], eax
and dword [esi + 0x22c], 0xffffdfff
mov eax, dword [esi + 0x22c]
and eax, 0x4000
cmp eax, 0x4000
jne 0x4c997b
and dword [esi + 0x22c], 0xffffbfff
xor eax, eax
mov dword [ebx + 0xc], eax
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
call fcn.00511f64
test eax, eax
je 0x4c9cb0
call fcn.00504fb4
test al, al
je 0x4c9cb0
cmp byte [esi + 0x78], 0
je 0x4c9cb0
cmp byte [esi + 0x222], 0
jne 0x4c9cb0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x18]
and eax, 0x80
cmp eax, 0x80
jne 0x4c9b64
mov eax, dword [esi + 0x50]
cmp dword [eax + 0x44], 0
je 0x4c9b64
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne 0x4c9cb0
mov eax, dword [esi + 0x50]
call fcn.00511f64
cmp byte [eax + 0xc0], 2
je 0x4c9cb0
cmp byte [esi + 0x95], 0
je 0x4c9cb0
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x4c9cb0
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp word [eax + 4], 0
jbe 0x4c9cb0
mov eax, dword [esi + 0x22c]
and eax, 0x200
cmp eax, 0x200
je 0x4c9cb0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
je 0x4c9cb0
or dword [esi + 0x22c], 0x200
mov dl, 1
mov eax, esi
call fcn.004bee70
mov edx, dword [esi + 0x50]
mov dword [edx + 0x44], eax
cmp dword [esi + 0x268], 0
je 0x4c9b49
mov eax, dword [esi + 0x268]
mov byte [eax + 0x28], 1
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x328], 0
je 0x4c9abf
mov eax, dword [esi + 0x24c]
movzx edi, byte [eax + 0x329]
jmp 0x4c9ac4
mov edi, 0xff
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [esi + 0x268]
call fcn.004d9f70
push eax
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowRgn
push 0
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.00461e10
mov edx, dword [esi + 0x50]
mov edx, dword [edx + 0x44]
mov ecx, edi
call fcn.004be010
push 0x65b
push 0
push 0
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.004706dc
push eax
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.004706bc
push eax
push 0
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowPos
jmp 0x4c9cb0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
call fcn.004be134
mov dword [esi + 0xc8], eax
jmp 0x4c9cb0
cmp dword [esi + 0x268], 0
je 0x4c9cb0
mov eax, dword [esi + 0x268]
cmp dword [eax + 0x18], 0
je 0x4c9cb0
mov eax, dword [ebx + 8]
cmp dword [eax + 0x10], 0
je 0x4c9cb0
mov eax, dword [ebx + 8]
cmp dword [eax + 0x14], 0
je 0x4c9cb0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x18]
and eax, 0x10
cmp eax, 0x10
jne 0x4c9cb0
mov eax, dword [esi + 0x22c]
and eax, 0x100
cmp eax, 0x100
je 0x4c9cb0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x18]
and eax, 2
cmp eax, 2
je 0x4c9cb0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x18]
and eax, 1
cmp eax, 1
je 0x4c9cb0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x10]
cmp eax, dword [esi + 0x200]
jl 0x4c9c07
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x14]
cmp eax, dword [esi + 0x204]
jge 0x4c9cb0
cmp dword [esi + 0x224], 0
je 0x4c9c35
mov eax, dword [esi + 0x224]
mov eax, dword [eax + 0x80]
cmp byte [eax + 6], 0
jne 0x4c9cb0
mov eax, dword [esi + 0x224]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 6], 0
jne 0x4c9cb0
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.004621b0
test al, al
je 0x4c9cb0
or dword [esi + 0x22c], 1
push 0
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0x14]
mov eax, dword [ebx + 8]
mov edx, dword [eax + 0x10]
mov eax, dword [esi + 0x268]
call fcn.004d9f70
push eax
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowRgn
push 0x61b
push 0
push 0
push 0
push 0
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.00461e10
push eax
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowPos
and dword [esi + 0x22c], 0xfffffffe
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov eax, dword [0x5d1f68]
mov byte [eax], 1
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
cmp byte [eax + 0xa4], 0
jne 0x4c9cf3
jmp 0x4c9ce9
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
call fcn.00479064
mov eax, dword [0x5d1b7c]
cmp dword [eax], 0
jg 0x4c9cdd
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
call fcn.00511f64
test eax, eax
je 0x4ca073
call fcn.00504fb4
test al, al
je 0x4ca073
cmp byte [esi + 0x78], 0
je 0x4ca073
cmp dword [esi + 0x268], 0
je 0x4c9d6f
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x4c9d6f
mov eax, esi
call fcn.004d4660
mov edi, eax
mov eax, dword [esi + 0x24c]
call fcn.004bf144
add eax, 4
cmp edi, eax
setg al
mov byte [esi + 0x208], al
jmp 0x4c9d76
mov byte [esi + 0x208], 0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x18]
and eax, 0x80
cmp eax, 0x80
jne 0x4c9f27
cmp byte [esi + 0x222], 0
jne 0x4c9f27
mov eax, dword [esi + 0x50]
cmp dword [eax + 0x44], 0
je 0x4c9f27
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne 0x4c9f27
mov eax, dword [esi + 0x50]
call fcn.00511f64
cmp byte [eax + 0xc0], 2
jne 0x4c9e14
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [esi + 0x24c]
jne 0x4c9e14
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x4c9f27
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov byte [esi + 0x223], 0
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x50]
call fcn.00511f64
cmp byte [eax + 0xc0], 2
je 0x4c9f04
cmp byte [esi + 0x95], 0
je 0x4c9edf
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x4c9edf
mov eax, dword [esi + 0x24c]
cmp dword [eax + 0x30], 0
jne 0x4c9edf
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
je 0x4c9edf
call fcn.004bf36c
test al, al
je 0x4c9e88
mov eax, dword [esi + 0x24c]
call fcn.00461e10
mov dl, 1
call fcn.004c3060
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov byte [esi + 0x222], 1
mov eax, esi
call fcn.004ae12c
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
cmp byte [eax + 0xa4], 0
jne case.0x4c3a8b.0
call fcn.004bf36c
test al, al
je 0x4c9ed3
mov eax, dword [esi + 0x24c]
call fcn.00461e10
xor edx, edx
call fcn.004c3060
mov byte [esi + 0x222], 0
jmp case.0x4c3a8b.0
cmp dword [esi + 0x268], 0
je 0x4c9f27
mov eax, dword [esi + 0x268]
cmp dword [eax + 0x18], 0
je 0x4c9f27
mov eax, dword [esi + 0x268]
add eax, 0x18
call fcn.004118cc
jmp 0x4c9f27
cmp dword [esi + 0x268], 0
je 0x4c9f27
mov eax, dword [esi + 0x268]
cmp dword [eax + 0x18], 0
je 0x4c9f27
mov eax, dword [esi + 0x268]
add eax, 0x18
call fcn.004118cc
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
cmp byte [esi + 0x220], 0
jne case.0x4c3a8b.0
cmp dword [esi + 0x268], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x57], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne case.0x4c3a8b.0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x18]
and eax, 8
cmp eax, 8
je case.0x4c3a8b.0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x18]
and eax, 0x20
cmp eax, 0x20
je case.0x4c3a8b.0
mov eax, dword [esi + 0x22c]
and eax, 0x80
cmp eax, 0x80
je case.0x4c3a8b.0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x18]
and eax, 3
cmp eax, 3
jne 0x4ca05f
mov eax, dword [esi + 0x268]
cmp dword [eax + 0x18], 0
je 0x4ca05f
call fcn.004bf36c
test al, al
je 0x4ca02d
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [esi + 0x24c]
jne 0x4ca02d
mov eax, dword [esi + 0x24c]
call fcn.00461e10
mov ebx, eax
call sub.user32.dll_GetActiveWindow
cmp ebx, eax
jne 0x4ca02d
push 0x65b
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowPos
jmp case.0x4c3a8b.0
push 0x65b
push 0
push 0
push 0
push 0
mov eax, dword [esi + 0x24c]
call fcn.00461e10
push eax
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowPos
jmp case.0x4c3a8b.0
mov cl, 0xff
xor edx, edx
mov eax, dword [esi + 0x268]
call fcn.004d8f20
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
cmp byte [esi + 0x95], 0
je 0x4ca207
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x4ca207
mov eax, dword [esi + 0x50]
call fcn.00511f64
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp word [eax + 4], 0
jbe 0x4ca207
cmp byte [esi + 0x78], 0
je 0x4ca207
mov eax, dword [esi + 0x22c]
and eax, 0x200
cmp eax, 0x200
je 0x4ca207
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [esi + 0x24c]
test byte [eax + 0x1c], 8
jne case.0x4c3a8b.0
or dword [esi + 0x22c], 0x200
mov dl, 1
mov eax, esi
call fcn.004bee70
mov edx, dword [esi + 0x50]
mov dword [edx + 0x44], eax
and dword [esi + 0x22c], 0xfffffdff
mov eax, dword [esi + 0x50]
mov byte [eax + 0x39], 0
cmp dword [esi + 0x268], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x268]
cmp dword [eax + 0x18], 0
je case.0x4c3a8b.0
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.004621b0
test al, al
je case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x328], 0
je 0x4ca17d
mov eax, dword [esi + 0x24c]
movzx edi, byte [eax + 0x329]
jmp 0x4ca182
mov edi, 0xff
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [esi + 0x268]
call fcn.004d9f70
push eax
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowRgn
push 0
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.00461e10
mov edx, dword [esi + 0x50]
mov edx, dword [edx + 0x44]
mov ecx, edi
call fcn.004be010
push 0x65b
push 0
push 0
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.004706dc
push eax
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.004706bc
push eax
push 0
mov eax, dword [esi + 0x268]
mov eax, dword [eax + 0x18]
call fcn.00461e10
push eax
call sub.user32.dll_SetWindowPos
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
jne 0x4ca28a
mov eax, dword [0x5d1d9c]
cmp dword [eax], 0
jne 0x4ca249
mov eax, dword [0x5d1c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
call fcn.00461e10
xor edx, edx
call fcn.004b1ed0
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00471bac
test eax, eax
je 0x4ca283
mov eax, dword [0x5d1d9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00471bac
cmp byte [eax + 0x273], 2
jne 0x4ca283
mov byte [0x5ce518], 1
jmp 0x4ca28a
mov byte [0x5ce518], 0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [esi + 0x24c]
cmp byte [eax + 0x277], 1
je case.0x4c3a8b.0
mov eax, esi
call fcn.004d0afc
jmp case.0x4c3a8b.0
test byte [esi + 0x1c], 1
jne 0x4ca35c
mov eax, dword [esi + 0x24c]
test byte [eax + 0x1c], 1
jne 0x4ca35c
mov eax, dword [ebx + 4]
and eax, 0xffff
dec eax
je 0x4ca2e9
mov eax, dword [ebx + 4]
and eax, 0xffff
cmp eax, 2
jne 0x4ca35c
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
cmp dword [esi + 0x228], 0
je 0x4ca314
cmp word [ebx + 4], 1
jne 0x4ca314
xor edx, edx
mov eax, dword [esi + 0x228]
call fcn.004d6004
push 0
lea eax, [esp + 0x28]
push eax
mov eax, dword [0x5d1b08]
mov eax, dword [eax]
mov ecx, 1
mov edx, 0x240000
call fcn.00527884
lea edx, [esp + 0x24]
mov eax, dword [esi + 0x24c]
call fcn.004b0c38
cmp byte [esi + 0x78], 0
je case.0x4c3a8b.0
mov dl, 1
mov eax, dword [esi + 0x224]
call fcn.004de374
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [ebx + 8]
mov eax, dword [eax + 8]
sub eax, 0xfffffdd9
jne case.0x4c3a8b.0
cmp dword [esi + 0x228], 0
je case.0x4c3a8b.0
xor edx, edx
mov eax, dword [esi + 0x228]
call fcn.004d6004
jmp case.0x4c3a8b.0
cmp dword [ebx + 4], 0
je 0x4ca42c
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
mov eax, dword [ebx + 4]
mov edx, dword [0x455498]
call fcn.004048c0
test al, al
je 0x4ca413
cmp dword [esi + 0x228], 0
je 0x4ca3ea
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x228]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
push 0
lea eax, [esp + 0x28]
push eax
mov eax, dword [0x5d1b08]
mov eax, dword [eax]
mov ecx, 1
mov edx, 0x240000
call fcn.00527884
lea edx, [esp + 0x24]
mov eax, dword [ebx + 4]
call fcn.004b0c38
push 1
mov edx, dword [0x5d1b08]
mov edx, dword [edx]
mov eax, dword [ebx + 4]
mov ecx, 0x240000
call fcn.0045af94
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
jmp case.0x4c3a8b.0
mov edx, ebx
mov eax, dword [esi + 0x23c]
call dword [esi + 0x238]
add esp, 0xbc
pop ebp
pop edi
pop esi
pop ebx
ret