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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffff54
mov esi, edx
mov ebx, eax
mov eax, dword [esi]
mov edx, dword [0x5475fc]
cmp eax, dword [edx]
jne 0x50fdec
movzx eax, word [esi + 6]
cmp eax, 0x22
jg 0x50f992
je 0x50fc75
dec eax
je 0x50fbbd
dec eax
je 0x50f9b0
sub eax, 5
je 0x50fc2d
sub eax, 0x19
je 0x50fc39
jmp 0x50fdec
sub eax, 0x24
je 0x50fddd
sub eax, 0x18
je 0x50fc01
dec eax
je 0x50fc10
jmp 0x50fdec
mov eax, dword [ebx + 0x50]
call fcn.00539994
cmp eax, dword [esi + 8]
jne 0x50fbab
cmp dword [ebx + 0x224], 0
je 0x50f9d5
lea eax, [ebx + 0x224]
call fcn.0040e1c0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
xor ecx, ecx
xor edx, edx
call fcn.0050bbcc
mov eax, esi
mov edx, dword [ebx + 0x50]
call fcn.00539fd0
mov dword [ebx + 0x250], 0xffffffff
mov dword [ebx + 0x20c], 0xffffffff
mov dword [ebx + 0x214], 0xffffffff
mov edx, esi
mov eax, dword [ebx + 0x24c]
call fcn.004f1650
mov eax, ebx
call fcn.0051d2c8
mov eax, dword [ebx + 0x50]
call fcn.00539994
test eax, eax
je 0x50fa38
mov al, 1
call fcn.005049e0
mov eax, dword [ebx + 0x24c]
test eax, eax
je case.0x51020a.0
test byte [eax + 0x1c], 8
jne case.0x51020a.0
mov eax, dword [ebx + 0x50]
call fcn.00539994
test eax, eax
je 0x50fae7
xor edx, edx
mov eax, ebx
call fcn.0051c128
xor edx, edx
mov eax, ebx
call fcn.0051e1b8
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 2
jne 0x50fa93
cmp dword [ebx + 0x240], 0
je 0x50fa93
xor edx, edx
mov eax, ebx
call fcn.0051d00c
mov eax, ebx
call fcn.0050c950
test al, al
je 0x50fabc
cmp byte [ebx + 0x21f], 0
jne 0x50fabc
push 0xffffffffffffffff
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowRgn
mov eax, ebx
call fcn.0051bd04
push 0x485
push 0
push 0
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x254]
push eax
call sub.user32.dll_RedrawWindow
xor edx, edx
mov eax, ebx
call fcn.0051e7c4
mov eax, dword [ebx + 0x24c]
call fcn.0044a4a8
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x50fb72
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x24c]
call fcn.0044a46c
mov edx, dword [0x43a0d4]
call fcn.0040398c
test al, al
je 0x50fb6e
mov edx, edi
mov eax, dword [ebx + 0x24c]
call fcn.0044a46c
mov eax, dword [eax + 0x68]
mov edx, 0xff000008
call fcn.00422a30
mov edx, edi
mov eax, dword [ebx + 0x24c]
call fcn.0044a46c
call fcn.0043d610
test al, al
jne 0x50fb6e
mov edx, edi
mov eax, dword [ebx + 0x24c]
call fcn.0044a46c
mov esi, dword [eax + 0x50]
or esi, dword [0x516994]
mov edx, edi
mov eax, dword [ebx + 0x24c]
call fcn.0044a46c
mov dword [eax + 0x50], esi
inc edi
dec ebp
jne 0x50fafc
cmp byte [ebx + 0x5c], 0
je 0x50fb91
mov eax, dword [ebx + 0x50]
cmp byte [eax + 9], 0
jne 0x50fb91
mov edx, 0xff00000f
mov eax, dword [ebx + 0x24c]
call fcn.00447118
mov eax, dword [ebx + 0x50]
cmp dword [eax + 0x44], 0
je case.0x51020a.0
add eax, 0x44
call fcn.0040e1c0
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x24c]
call fcn.004f1650
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x1c], 8
jne 0x50fdec
cmp dword [ebx + 0x50], 0
je 0x50fdec
mov eax, dword [ebx + 0x50]
call fcn.00539994
cmp eax, dword [esi + 8]
jne 0x50fdec
cmp dword [ebx + 0x254], 0
jne 0x50fdec
mov eax, ebx
call fcn.0051cd98
jmp 0x50fdec
mov eax, dword [0x5478fc]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
jmp case.0x51020a.0
mov eax, ebx
call fcn.0051b4d8
push eax
mov eax, ebx
call fcn.0051b440
pop edx
call fcn.004075e8
mov dword [esi + 0xc], eax
jmp case.0x51020a.0
mov dword [esi + 0xc], 1
jmp case.0x51020a.0
mov eax, dword [ebx + 0x50]
mov dx, word [eax + 0x52]
and dx, 0x400
cmp dx, 0x400
jne 0x50fdec
and word [eax + 0x52], 0xfbff
push 0
push 0
push 0xb015
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
jmp 0x50fdec
cmp dword [ebx + 0x50], 0
je 0x50fdec
lea ecx, [esp + 0x74]
xor edx, edx
xor eax, eax
call fcn.00406964
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x74]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x39], 0
je 0x50fccb
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x1c], 0
je 0x50fcb8
cmp byte [ebx + 0x220], 0
je 0x50fccb
mov eax, dword [ebx + 0x50]
call fcn.00537dc8
test al, al
je 0x50fccb
mov eax, ebx
call fcn.005193f8
mov eax, dword [esi + 8]
cmp byte [eax + 0x21], 0
je 0x50fcee
mov eax, ebx
call fcn.0051b440
mov edx, dword [esi + 8]
add dword [edx + 8], eax
mov eax, ebx
call fcn.0051b4d8
mov edx, dword [esi + 8]
add dword [edx + 0xc], eax
mov eax, dword [ebx + 0x24c]
cmp word [eax + 0x2ba], 0
je 0x50fd3c
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [esi + 8]
mov dword [edx], eax
mov eax, ebx
call fcn.0051b4d8
push eax
mov eax, ebx
call fcn.0051b440
lea ecx, [esp + 0x78]
pop edx
call fcn.00406964
mov edi, dword [esi + 8]
mov eax, dword [esp + 0x74]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 0xc], eax
mov byte [edi + 0x20], 2
jmp case.0x51020a.0
mov edi, dword [ebx + 0x50]
cmp dword [edi + 0x28], 0xffffffff
jle 0x50fd7b
push 0
mov eax, edi
call fcn.00539994
mov eax, dword [eax + 0xd0]
mov edx, dword [ebx + 0x50]
imul edx, dword [edx + 0x28], 0x43
mov edx, dword [eax + edx*4 + 8]
dec edx
xor eax, eax
mov al, byte [ebx + 0x244]
call fcn.0042a6d8
mov ecx, eax
mov edx, dword [esi + 8]
mov eax, edi
call fcn.0053822c
jmp 0x50fd98
push 0
xor eax, eax
mov al, byte [ebx + 0x244]
xor edx, edx
call fcn.0042a6d8
mov ecx, eax
mov edx, dword [esi + 8]
mov eax, edi
call fcn.0053822c
mov eax, dword [esi + 8]
cmp byte [eax + 0x20], 2
jne 0x50fdbe
cmp byte [eax + 0x21], 0
jne 0x50fdbe
cmp dword [eax], 0
jne 0x50fdbe
mov eax, ebx
call fcn.005193f8
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [esi + 8]
mov dword [edx], eax
mov eax, ebx
call fcn.0051b440
mov edx, dword [esi + 8]
add dword [edx + 8], eax
mov eax, ebx
call fcn.0051b4d8
mov edx, dword [esi + 8]
add dword [edx + 0xc], eax
jmp case.0x51020a.0
mov eax, dword [ebx + 0x50]
movzx eax, word [eax + 0x52]
mov dword [esi + 0xc], eax
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x1c], 8
jne 0x50fe0a
mov dl, 1
mov eax, dword [ebx + 0x50]
call fcn.00539f28
test al, al
jne 0x5101e7
mov eax, dword [esi]
mov edx, dword [0x5475fc]
cmp eax, dword [edx]
jne 0x51000d
mov ax, word [esi + 6]
dec ax
je 0x50fe35
sub ax, 3
jne 0x51000d
mov dword [esi + 0xc], ebx
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x1c], 8
jne 0x51000d
cmp dword [ebx + 0x50], 0
je 0x51000d
mov eax, dword [ebx + 0x50]
call fcn.00539994
cmp eax, dword [esi + 8]
jne case.0x51020a.0
mov eax, ebx
call fcn.0051e9ec
mov al, 1
call fcn.005049e0
mov eax, dword [ebx + 0x50]
call fcn.0053a7f0
mov dword [ebx + 0x20c], 0xffffffff
mov eax, ebx
call fcn.0051eb30
mov dword [ebx + 0x20c], eax
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov edx, 0x5169a0
call fcn.00535240
mov dword [ebx + 0x214], eax
mov eax, dword [ebx + 0x50]
call fcn.00539994
test eax, eax
je 0x50ffeb
cmp dword [ebx + 0x268], 0
je 0x50fef7
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x50fef7
mov eax, ebx
call fcn.00520904
mov esi, eax
mov eax, dword [ebx + 0x24c]
call fcn.0050b914
add eax, 4
cmp esi, eax
setg al
mov byte [ebx + 0x208], al
jmp 0x50fefe
mov byte [ebx + 0x208], 0
mov dl, 1
mov eax, ebx
call fcn.0051e1b8
mov eax, ebx
call fcn.0051c724
mov esi, dword [ebx + 0x24c]
cmp byte [esi + 0x22f], 2
jne 0x50ff38
mov eax, esi
call fcn.00460e94
mov edx, dword [0x547aec]
mov edx, dword [edx]
cmp eax, dword [edx + 0x6c]
jne 0x50ff38
mov byte [ebx + 0x244], 1
mov eax, dword [ebx + 0x50]
call fcn.00539994
test byte [eax + 0x1c], 1
jne 0x50ff84
mov eax, dword [ebx + 0x24c]
cmp dword [eax + 0x248], 0
je 0x50ff65
cmp byte [ebx + 0xbd], 0
je 0x50ff65
mov byte [ebx + 0xb9], 1
mov dl, 1
mov eax, ebx
call fcn.0051c128
cmp byte [ebx + 0xb9], 0
jne 0x50ff84
mov eax, ebx
call fcn.0051bd04
mov byte [ebx + 0xb9], al
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
mov dword [ebx + 0x250], 0xffffffff
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 2
jne 0x50ffad
mov dl, 1
mov eax, ebx
call fcn.0051d00c
cmp byte [ebx + 0x5c], 0
je 0x50ffd6
mov eax, dword [ebx + 0x50]
cmp byte [eax + 9], 0
jne 0x50ffd6
mov eax, dword [ebx + 0x50]
call fcn.00539994
call fcn.0052d5e0
mov edx, eax
mov eax, dword [ebx + 0x24c]
call fcn.00447118
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
xor ecx, ecx
mov dl, byte [ebx + 0x78]
call fcn.0050bbcc
mov eax, dword [ebx + 0x228]
test eax, eax
jne 0x510001
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x30]
jmp case.0x51020a.0
xor edx, edx
call fcn.005222a8
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [esi]
sub eax, 0x47
je 0x51003b
sub eax, 0x3b
je 0x510116
sub eax, 0xafc1
je 0x5101d9
jmp case.0x51020a.0
mov eax, dword [ebx + 0x50]
call fcn.00539994
test eax, eax
je case.0x51020a.0
call fcn.004f3704
test al, al
je case.0x51020a.0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 0x80
cmp eax, 0x80
jne case.0x51020a.0
cmp byte [ebx + 0x95], 0
je case.0x51020a.0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne case.0x51020a.0
cmp byte [ebx + 0x222], 0
jne case.0x51020a.0
mov eax, dword [ebx + 0x50]
call fcn.00539994
cmp byte [eax + 0x3c], 0
je case.0x51020a.0
cmp byte [ebx + 0x78], 0
je case.0x51020a.0
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je case.0x51020a.0
mov eax, dword [0x547504]
xor edx, edx
mov dword [eax], edx
mov byte [ebx + 0x222], 1
mov eax, ebx
call fcn.004eeb98
mov eax, dword [0x547600]
cmp byte [eax], 0
jne 0x5100ec
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
mov cl, 1
xor edx, edx
call fcn.0050f800
mov byte [ebx + 0x222], 0
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
jne case.0x51020a.0
mov eax, dword [0x547998]
cmp dword [eax], 0
je case.0x51020a.0
mov eax, dword [0x547998]
mov eax, dword [eax]
cmp dword [eax + 0x240], 0
je case.0x51020a.0
mov eax, dword [0x547998]
mov eax, dword [eax]
test byte [eax + 0x1c], 8
jne case.0x51020a.0
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
test byte [eax + 0x1c], 8
jne case.0x51020a.0
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov dl, 1
call fcn.00539f28
test al, al
je case.0x51020a.0
mov eax, dword [0x547998]
mov eax, dword [eax]
call fcn.0051c650
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00460e94
test eax, eax
jne case.0x51020a.0
push 0x507
push 0
push 0
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
mov eax, dword [eax + 0x254]
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x51020a.0
mov edx, esi
mov eax, ebx
call fcn.0051ec0c
jmp case.0x51020a.0
mov eax, dword [esi]
mov edx, dword [0x5475fc]
cmp eax, dword [edx]
jne 0x5107ec
movzx eax, word [esi + 6]
cmp eax, 0x3e
ja case.0x51020a.0
mov al, byte [eax + 0x510211]
jmp dword [eax*4 + 0x510250]
mov eax, dword [ebx + 0x24c]
test eax, eax
je case.0x51020a.0
test byte [eax + 0x1c], 1
jne case.0x51020a.0
mov edx, dword [ebx + 0x228]
test edx, edx
je case.0x51020a.0
cmp dword [esi + 8], 0
je 0x5102ca
mov eax, dword [esi + 8]
xchg edx, eax
call fcn.005222a8
jmp case.0x51020a.0
xchg edx, eax
call fcn.005222a8
jmp case.0x51020a.0
cmp dword [ebx + 0x50], 0
je case.0x51020a.0
mov eax, dword [0x547600]
cmp byte [eax], 0
jne 0x5102fe
mov eax, dword [ebx + 0x50]
call fcn.00537dc8
test al, al
je 0x5102fe
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x1c], 0
jne 0x510302
xor eax, eax
jmp 0x510304
mov al, 1
and eax, 0x7f
mov dword [esi + 0xc], eax
jmp case.0x51020a.0
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x1c], 0
je case.0x51020a.0
mov byte [eax + 0x1c], 0
push 0x401
push 0
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x51020a.0
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
jmp case.0x51020a.0
cmp dword [esi + 8], 1
jne 0x510358
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
mov eax, ebx
call fcn.0050c998
jmp case.0x51020a.0
cmp word [esi + 4], 1
sete dl
mov eax, dword [ebx + 0x50]
call fcn.00539f24
mov eax, dword [ebx + 0x50]
call fcn.005399a8
test al, al
je case.0x51020a.0
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
jmp case.0x51020a.0
mov eax, dword [ebx + 0x50]
call fcn.00539994
cmp eax, dword [esi + 8]
jne case.0x51020a.0
cmp dword [ebx + 0x228], 0
jne 0x5103b3
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x30]
jmp 0x5103c0
xor edx, edx
mov eax, dword [ebx + 0x228]
call fcn.005222a8
cmp byte [ebx + 0x78], 0
je 0x5103de
cmp byte [ebx + 0xa6], 0
je 0x5103de
lea edx, [ebx + 0x224]
xor ecx, ecx
mov eax, ebx
call fcn.0050c84c
mov eax, dword [ebx + 0x24c]
cmp dword [eax + 0x30], 0
je 0x5103fc
cmp byte [eax + 0x22f], 1
je 0x5103fc
mov eax, dword [ebx + 0x50]
and word [eax + 0x52], 0xfffe
mov dword [ebx + 0x250], 0xffffffff
mov eax, dword [ebx + 0x50]
call fcn.00539994
test byte [eax + 0x1c], 1
jne 0x51042e
mov eax, ebx
call fcn.0051bd04
xor edx, edx
mov eax, dword [ebx + 0x50]
call fcn.00539f28
mov edx, eax
mov eax, ebx
call fcn.0051c128
mov eax, ebx
call fcn.0050c950
test al, al
je 0x51043d
mov byte [ebx + 0x34], 1
mov eax, ebx
call fcn.00520740
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x57], 0
je case.0x51020a.0
mov edi, dword [ebx + 0x50]
mov byte [edi + 0x39], 1
mov eax, edi
call fcn.00539994
call fcn.00536ef8
mov edx, eax
mov eax, ebx
call fcn.0051e7c4
mov eax, dword [0x547600]
cmp byte [eax], 0
jne 0x510520
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 2
jne 0x5104dc
mov eax, dword [ebx + 0x24c]
call fcn.00460e94
test eax, eax
je 0x5104dc
mov eax, dword [ebx + 0x24c]
call fcn.00460e94
cmp byte [eax + 0x22b], 2
jne 0x5104dc
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, ebx
call fcn.0051ef14
push 0xffffffffffffffff
push 0
mov eax, dword [ebx + 0x24c]
call fcn.00460e94
call fcn.0044d778
push eax
call sub.user32.dll_InvalidateRect
jmp 0x510520
push 0x545
push 0
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 2
jne 0x510520
push 0x545
push 0
push 0
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x254]
push eax
call sub.user32.dll_RedrawWindow
cmp byte [ebx + 0x5c], 0
je 0x510549
mov eax, dword [ebx + 0x50]
cmp byte [eax + 9], 0
jne 0x510549
mov eax, dword [ebx + 0x50]
call fcn.00539994
call fcn.0052d5e0
mov edx, eax
mov eax, dword [ebx + 0x24c]
call fcn.00447118
cmp dword [ebx + 0x240], 0
je 0x51055d
mov eax, dword [ebx + 0x240]
call fcn.004afd58
xor edx, edx
mov eax, dword [ebx + 0x50]
call fcn.00539f24
cmp dword [ebx + 0x254], 0
je 0x51057b
mov eax, dword [ebx + 0x254]
call fcn.00521708
mov edx, esi
mov eax, ebx
call fcn.0051d318
cmp dword [ebx + 0x268], 0
je case.0x51020a.0
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x268]
call fcn.0052512c
jmp case.0x51020a.0
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0xd0]
mov edi, dword [ebx + 0x50]
imul edx, dword [edi + 0x28], 0x43
mov ebp, dword [eax + edx*4 + 0xa8]
mov eax, edi
call fcn.00539994
mov eax, dword [eax + 0xd0]
mov edx, dword [ebx + 0x50]
imul edx, dword [edx + 0x28], 0x43
add ebp, dword [eax + edx*4 + 0xb4]
test ebp, ebp
jle 0x5105e9
mov dword [esi + 8], 1
jmp 0x510627
mov edi, dword [ebx + 0x50]
cmp dword [edi + 0x24], 0
jl 0x51061b
mov eax, edi
call fcn.00539994
mov eax, dword [eax + 0xc8]
mov edx, dword [ebx + 0x50]
mov edx, dword [edx + 0x24]
mov ecx, edx
shl edx, 3
sub edx, ecx
mov ax, word [eax + edx*8 + 0x22]
and ax, 4
cmp ax, 4
je 0x51061f
xor eax, eax
jmp 0x510621
mov al, 1
and eax, 0x7f
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp case.0x51020a.0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x50]
call fcn.005386c0
mov dword [esi + 0xc], eax
jmp case.0x51020a.0
mov dword [esi + 0xc], ebx
jmp case.0x51020a.0
mov eax, dword [ebx + 0x50]
call fcn.00539994
cmp eax, dword [esi + 8]
jne case.0x51020a.0
mov al, 1
call fcn.005049e0
mov eax, dword [ebx + 0x50]
call fcn.0053a7f0
mov dword [ebx + 0x20c], 0xffffffff
mov eax, ebx
call fcn.0051eb30
mov dword [ebx + 0x20c], eax
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov edx, 0x5169a0
call fcn.00535240
mov dword [ebx + 0x214], eax
mov eax, dword [ebx + 0x50]
call fcn.00539994
test eax, eax
je case.0x51020a.0
mov eax, ebx
call fcn.0051c724
mov al, 1
call fcn.005049e0
mov dl, byte [ebx + 0x78]
mov eax, ebx
call fcn.0051e1b8
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0x44]
call fcn.00506a10
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
mov dword [ebx + 0x250], 0xffffffff
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, ebx
call fcn.0051ef14
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 2
jne case.0x51020a.0
mov dl, 1
mov eax, ebx
call fcn.0051d00c
jmp case.0x51020a.0
mov cl, 1
or edx, 0xffffffff
mov eax, ebx
call fcn.00517c34
mov byte [0x5474a0], 0
jmp case.0x51020a.0
mov eax, dword [ebx + 0x50]
call fcn.00539b88
test al, al
je case.0x51020a.0
push 0
push 0
push 0xb
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
jmp case.0x51020a.0
mov eax, dword [ebx + 0x50]
call fcn.00539b88
test al, al
je case.0x51020a.0
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
push 0x585
push 0
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [0x547998]
cmp ebx, dword [eax]
jne case.0x51020a.0
push 0x581
push 0
push 0
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x254]
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x51020a.0
mov eax, esi
mov edx, dword [ebx + 0x50]
call fcn.0053a910
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x38], 0
je case.0x51020a.0
mov eax, ebx
call fcn.005193f8
jmp case.0x51020a.0
cmp eax, 0xa4
jg 0x51094f
je 0x51328c
cmp eax, 0x2c
jg 0x5108b0
je 0x5151c1
cmp eax, 0x24
ja case.0x510815.0
jmp dword [eax*4 + 0x51081c]
cmp eax, 0x81
jg 0x510906
je 0x5126f1
cmp eax, 0x4e
jg 0x5108e6
je 0x516897
sub eax, 0x46
je 0x515c2a
dec eax
je 0x51622f
sub eax, 3
je 0x510b58
jmp case.0x510815.0
sub eax, 0x7b
je 0x510c38
sub eax, 2
je 0x510de9
sub eax, 3
je 0x510d37
jmp case.0x510815.0
cmp eax, 0xa0
jg 0x510931
je 0x510abf
sub eax, 0x84
je 0x512432
dec eax
je 0x513eff
dec eax
je 0x51462b
jmp case.0x510815.0
sub eax, 0xa1
je 0x51271e
dec eax
je 0x51332e
dec eax
je 0x515020
jmp case.0x510815.0
cmp eax, 0x318
jg 0x510a12
je case.0x51020a.0
cmp eax, 0x211
jg 0x5109be
je 0x5122aa
cmp eax, 0x121
jg 0x51099c
je 0x51398d
sub eax, 0xa5
je 0x5132ae
sub eax, 0x6d
je 0x515245
sub eax, 5
je 0x510dc9
jmp case.0x510815.0
sub eax, 0x200
je 0x512dce
sub eax, 2
je 0x51332e
sub eax, 0xe
je 0x5167d7
jmp case.0x510815.0
cmp eax, 0x232
jg 0x5109f0
je 0x510cb2
sub eax, 0x212
je 0x512405
sub eax, 2
je 0x512623
add eax, 0xfffffff3
sub eax, 2
jb 0x514dc0
jmp case.0x510815.0
sub eax, 0x2a3
je 0x512652
sub eax, 0x70
je 0x510ec3
sub eax, 4
je 0x513a52
jmp case.0x510815.0
cmp eax, 0xb015
jg 0x510a70
je 0x5139dd
cmp eax, 0xb00b
jg 0x510a50
je 0x514f78
sub eax, 0x323
je 0x510bee
sub eax, 3
je 0x510bc3
sub eax, 0xa0da
je 0x510b16
jmp case.0x510815.0
sub eax, 0xb00c
je 0x5117c4
sub eax, 7
je 0x51268a
dec eax
je 0x512652
jmp case.0x510815.0
cmp eax, 0xb03a
jg 0x510a9f
je 0x513997
sub eax, 0xb019
je 0x510eff
sub eax, 0x13
je 0x5168d5
sub eax, 7
je 0x5145e7
jmp case.0x510815.0
sub eax, 0xb043
je 0x510afa
sub eax, 9
je 0x513ef5
sub eax, 0xc01
je 0x513ef5
jmp case.0x510815.0
mov eax, dword [ebx + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je case.0x51020a.0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
mov eax, dword [ebx + 0x50]
call fcn.00539994
pop edx
call fcn.00536424
mov edx, esi
mov eax, ebx
call fcn.0051ee68
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov edx, esi
mov eax, ebx
call fcn.0051ec0c
jmp case.0x51020a.0
mov eax, dword [esi + 4]
dec eax
je 0x510b3c
sub eax, 2
je 0x510b29
dec eax
je 0x510b4c
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
call fcn.004637b0
jmp case.0x51020a.0
mov dword [esi + 0xc], 1
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
cmp dword [esi + 0xc], 0
jne case.0x51020a.0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
mov edx, dword [0x547928]
cmp eax, dword [edx]
jne case.0x51020a.0
mov eax, dword [0x547638]
cmp byte [eax], 0
jne case.0x51020a.0
mov eax, dword [0x547638]
mov byte [eax], 1
cmp dword [esi + 8], 0
je 0x510bb6
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov edx, eax
mov eax, esi
call fcn.0052b614
mov eax, dword [0x547638]
mov byte [eax], 0
jmp case.0x51020a.0
mov eax, dword [0x547684]
cmp byte [eax], 0
je case.0x51020a.0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
mov edx, ebx
call fcn.0050a624
and eax, 0x7f
mov dword [esi + 0xc], eax
jmp case.0x51020a.0
mov eax, dword [0x547684]
cmp byte [eax], 0
je case.0x51020a.0
cmp word [esi + 0xa], 0
je case.0x51020a.0
cmp word [esi + 8], 0
je case.0x51020a.0
movzx eax, word [esi + 8]
push eax
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
movzx ecx, word [esi + 0xa]
mov edx, ebx
call fcn.0050a3b8
and eax, 0x7f
mov dword [esi + 0xc], eax
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp dword [eax + 0x7c], 0
je 0x510c6a
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov al, byte [eax + 0x58]
push eax
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0x44]
mov edx, dword [ebx + 0x24c]
mov edx, dword [edx + 0x7c]
pop ecx
call fcn.00507ee0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
cmp dword [esi + 4], 1
jne 0x510c99
mov edx, dword [ebx + 0xb4]
dec edx
xor eax, eax
call fcn.0042a79c
mov dword [ebx + 0xb4], eax
jmp 0x510c9f
inc dword [ebx + 0xb4]
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
cmp dword [ebx + 0x268], 0
je case.0x51020a.0
mov eax, dword [0x5479b8]
cmp dword [eax], 0
je case.0x51020a.0
mov eax, dword [0x5479b8]
mov eax, dword [eax]
mov ebp, dword [eax + 8]
dec ebp
test ebp, ebp
jl case.0x51020a.0
inc ebp
xor edi, edi
mov eax, dword [0x5479b8]
mov eax, dword [eax]
mov edx, edi
call fcn.00418ab4
test eax, eax
je 0x510d20
mov eax, dword [0x5479b8]
mov eax, dword [eax]
mov edx, edi
call fcn.00418ab4
mov eax, dword [eax + 0x38]
xor ecx, ecx
mov edx, 0x12
call fcn.004f1494
inc edi
dec ebp
jne 0x510cf1
jmp case.0x51020a.0
mov edx, esi
mov eax, ebx
call fcn.0051e874
jmp case.0x51020a.0
test byte [ebx + 0x1c], 1
jne 0x510db6
cmp dword [esi + 8], 0
je 0x510db6
mov eax, dword [0x547600]
cmp byte [eax], 0
jne 0x510db6
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x1a6], 0
je 0x510db6
call fcn.0050bb38
test al, al
jne 0x510d7c
push 0
push 0
push 0xb
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
call fcn.0050bb38
test al, al
jne 0x510daa
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
mov eax, ebx
call fcn.0050c998
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov eax, dword [ebx + 0x50]
call fcn.00539994
cmp byte [eax + 0x58], 0
je case.0x51020a.0
mov edx, esi
mov eax, ebx
call fcn.0051e488
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [ebx + 0x254]
test eax, eax
je 0x510e38
cmp dword [eax + 0x98], 0
je 0x510e38
mov edx, dword [ebx + 0x24c]
test byte [edx + 0x228], 1
setne dl
mov ecx, dword [eax + 0x98]
cmp dl, byte [ecx + 0x3e]
je 0x510e38
xor edx, edx
call fcn.0052170c
mov eax, ebx
call fcn.0050c998
jmp case.0x51020a.0
cmp dword [esi + 4], 0xffffffec
jne case.0x51020a.0
mov eax, dword [ebx + 0x22c]
and eax, 0x80
cmp eax, 0x80
je case.0x51020a.0
mov eax, dword [ebx + 0x22c]
and eax, 0x100
cmp eax, 0x100
je case.0x51020a.0
mov eax, dword [ebx + 0x22c]
and eax, 0x400
cmp eax, 0x400
je case.0x51020a.0
mov eax, dword [esi + 8]
mov eax, dword [eax + 4]
and eax, 0x80000
mov edx, dword [esi + 8]
mov edx, dword [edx]
and edx, 0x80000
cmp eax, edx
je case.0x51020a.0
cmp dword [ebx + 0x268], 0
je case.0x51020a.0
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x268]
call fcn.0052512c
jmp case.0x51020a.0
lea edx, [esp + 0x74]
mov eax, dword [0x547a90]
mov eax, dword [eax]
call fcn.00452088
mov eax, dword [esp + 0x78]
push eax
lea edx, [esp + 0x80]
mov eax, dword [0x547a90]
mov eax, dword [eax]
call fcn.00452088
mov edx, dword [esp + 0x80]
mov eax, ebx
pop ecx
call fcn.0051afd4
jmp case.0x51020a.0
mov dword [esp + 4], 0xff
cmp byte [ebx + 0x78], 0
je 0x5113c4
cmp byte [ebx + 0xa6], 0
je 0x5113c4
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x1a6], 0
je 0x511361
cmp byte [eax + 0x22f], 1
jne 0x510f63
cmp dword [ebx + 0x228], 0
je 0x510f50
mov edx, eax
mov eax, dword [ebx + 0x228]
call fcn.005222a8
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 2
jne 0x510f7b
mov dl, 1
mov eax, ebx
call fcn.0051d00c
and dword [ebx + 0x22c], 0xfffffdff
cmp dword [ebx + 0x268], 0
je 0x510f98
mov eax, dword [ebx + 0x268]
mov byte [eax + 0x28], 0
cmp dword [ebx + 0x218], 0
je 0x510fc1
mov eax, dword [ebx + 0x218]
mov edx, dword [0x50a28c]
call fcn.0040398c
test al, al
je 0x510fc1
lea eax, [ebx + 0x218]
call fcn.0040e1c0
mov eax, dword [0x547574]
cmp byte [eax], 0
je 0x511009
mov eax, dword [ebx + 0x24c]
call fcn.0044da7c
test al, al
je 0x511009
mov eax, dword [0x5478fc]
mov eax, dword [eax]
cmp dword [eax + 0x44], 0
je 0x510ff9
mov eax, dword [0x5478fc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x24c]
jne 0x511009
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
call fcn.0050d580
mov eax, ebx
call fcn.0051cd1c
cmp dword [ebx + 0x228], 0
je 0x51102a
mov edx, dword [ebx + 0x24c]
mov eax, dword [ebx + 0x228]
call fcn.005222a8
cmp byte [ebx + 0x95], 0
je 0x511077
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
je 0x51104e
mov eax, dword [ebx + 0x24c]
cmp dword [eax + 0x30], 0
jne 0x511077
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
cmp byte [eax + 6], 0
je 0x511077
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
mov edx, dword [0x547928]
cmp eax, dword [edx]
jne 0x51107b
xor eax, eax
jmp 0x51107d
mov al, 1
mov byte [ebx + 0x223], al
mov byte [esp + 0x11], 0
cmp byte [ebx + 0x223], 0
je 0x511162
mov dl, 1
mov eax, dword [ebx + 0x50]
call fcn.00539f24
mov byte [ebx + 0x220], 1
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
mov cl, 1
mov dl, 1
call fcn.0050f800
mov byte [esp + 0x11], al
mov dword [esp + 4], 0xff
cmp byte [esp + 0x11], 0
je 0x5110df
xor edx, edx
mov eax, ebx
call fcn.0050c510
mov byte [ebx + 0x230], 0
jmp 0x5110fd
mov eax, dword [ebx + 0x24c]
movzx eax, byte [eax + 0x2e1]
mov dword [esp + 4], eax
xor edx, edx
mov eax, dword [ebx + 0x24c]
call fcn.00464238
mov eax, dword [ebx + 0x24c]
call fcn.0044a4a8
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x51116c
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x24c]
call fcn.0044a46c
cmp byte [eax + 0x57], 0
je 0x51115c
mov edx, edi
mov eax, dword [ebx + 0x24c]
call fcn.0044a46c
mov edx, dword [0x53f0a4]
call fcn.0040398c
test al, al
jne 0x51115c
push 0
mov edx, edi
mov eax, dword [ebx + 0x24c]
call fcn.0044a46c
xor ecx, ecx
mov edx, 0xb
call fcn.00448144
inc edi
dec ebp
jne 0x511112
jmp 0x51116c
xor edx, edx
mov eax, dword [ebx + 0x50]
call fcn.00539f24
mov eax, dword [ebx + 0x50]
call fcn.00539994
call fcn.00536ef8
mov edx, eax
mov eax, ebx
call fcn.0051e7c4
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
xor edx, edx
mov eax, dword [ebx + 0x50]
call fcn.00539f28
test al, al
jne 0x51124b
cmp byte [ebx + 0x223], 0
je 0x51124b
mov eax, dword [ebx + 0x24c]
call fcn.0044a4a8
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x5111f9
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x24c]
call fcn.0044a46c
cmp byte [eax + 0x57], 0
je 0x5111f5
push 0
mov edx, edi
mov eax, dword [ebx + 0x24c]
call fcn.0044a46c
mov ecx, 1
mov edx, 0xb
call fcn.00448144
inc edi
dec ebp
jne 0x5111c4
push 0xffffffffffffffec
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xfff7ffff
push eax
push 0xffffffffffffffec
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowLongA
push 0x81
push 0
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_RedrawWindow
mov byte [ebx + 0x230], 0
jmp case.0x51020a.0
lea edx, [ebx + 0x224]
xor ecx, ecx
mov eax, ebx
call fcn.0050c84c
cmp byte [ebx + 0x223], 0
je 0x511315
mov eax, dword [ebx + 0x24c]
call fcn.0044a4a8
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x5112b1
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x24c]
call fcn.0044a46c
cmp byte [eax + 0x57], 0
je 0x5112ad
push 0
mov edx, edi
mov eax, dword [ebx + 0x24c]
call fcn.0044a46c
mov ecx, 1
mov edx, 0xb
call fcn.00448144
inc edi
dec ebp
jne 0x51127c
cmp byte [esp + 0x11], 0
je 0x5112cc
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
mov cl, 1
xor edx, edx
call fcn.0050f800
mov byte [ebx + 0x223], 0
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
movzx edi, word [eax + 4]
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 7]
mov byte [esp + 0x13], al
mov al, byte [esp + 0x13]
push eax
mov ecx, dword [esp + 8]
mov edx, edi
mov eax, ebx
call fcn.004ee218
mov byte [ebx + 0x230], 0
jmp 0x51132f
push 0x81
push 0
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
jne case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22b], 2
jne case.0x51020a.0
mov al, 1
call fcn.0050f674
jmp case.0x51020a.0
cmp dword [ebx + 0x268], 0
je 0x5113b1
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x5113a6
mov eax, dword [ebx + 0x50]
call fcn.00539994
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 0x5113a6
cmp byte [ebx + 0x95], 0
jne 0x5113b1
lea eax, [ebx + 0x268]
call fcn.0040e1c0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
call fcn.0050bb38
test al, al
je 0x511401
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x1a6], 0
je 0x511401
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x1c], 0
call fcn.0050bb38
test al, al
je case.0x51020a.0
push 0x181
push 0
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
je 0x51156d
cmp dword [esi + 4], 1
jne 0x5114d6
cmp dword [ebx + 0x268], 0
je 0x511464
mov eax, dword [ebx + 0x268]
mov byte [eax + 0x28], 0
mov eax, dword [ebx + 0x22c]
and eax, 0x400
cmp eax, 0x400
jne 0x511482
mov dword [ebx + 0x22c], 0x400
jmp 0x51148a
xor eax, eax
mov dword [ebx + 0x22c], eax
call fcn.0050bb38
test al, al
je 0x5114d6
mov eax, dword [0x547600]
cmp byte [eax], 0
jne 0x5114d6
push 0xffffffffffffffec
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0x80000
cmp eax, 0x80000
je 0x5114d6
push 0x481
push 0
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [esi + 8]
dec eax
je 0x5114e6
sub eax, 2
je 0x511534
jmp 0x51156d
cmp byte [ebx + 0x221], 0
je 0x51156d
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x51150d
mov byte [ebx + 0x221], 2
jmp 0x51156d
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x51152b
mov byte [ebx + 0x221], 3
jmp 0x51156d
mov byte [ebx + 0x221], 1
jmp 0x51156d
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x51156d
mov eax, dword [0x5478fc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x24c]
jne 0x51156d
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
cmp dword [esi + 4], 1
jne case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
jne 0x5115af
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22b], 2
jne 0x5115af
mov eax, dword [0x547998]
mov eax, dword [eax]
call fcn.0051c650
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 2
jne 0x511610
mov eax, dword [ebx + 0x24c]
call fcn.00460ec8
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x511610
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x24c]
call fcn.00460f14
call fcn.0044d778
mov edx, 7
call fcn.004f1548
test al, al
jne 0x51160c
mov edx, edi
mov eax, dword [ebx + 0x24c]
call fcn.00460f14
call fcn.0044d778
xor edx, edx
call fcn.004d57ec
inc edi
dec ebp
jne 0x5115d3
mov eax, dword [ebx + 0x24c]
cmp dword [eax + 0x30], 0
je case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
je case.0x51020a.0
mov eax, dword [ebx + 0x50]
and word [eax + 0x52], 0xfffe
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
call fcn.0044da7c
test al, al
je 0x5117b1
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5117b1
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x54], 0x40
jne 0x5117b1
cmp byte [ebx + 0x78], 0
je 0x5117b1
cmp dword [ebx + 0xc0], 0
je 0x5116a2
lea eax, [ebx + 0xc0]
call fcn.0040e1c0
cmp dword [ebx + 0xc4], 0
je 0x5116b6
lea eax, [ebx + 0xc4]
call fcn.0040e1c0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
jne 0x51170f
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22b], 2
jne 0x51170f
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x39], 1
mov eax, dword [0x547998]
mov eax, dword [eax]
xor edx, edx
call fcn.0050c020
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [0x547998]
mov eax, dword [eax]
call fcn.0050c334
jmp 0x511790
call fcn.0050bb38
test al, al
jne 0x511759
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
xor edx, edx
mov eax, ebx
call fcn.0050c020
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, ebx
call fcn.0050c334
push 0
push 0
push 0x85
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
jmp 0x511790
cmp dword [ebx + 0x268], 0
jne 0x51176b
xor edx, edx
mov eax, ebx
call fcn.0050c020
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, ebx
call fcn.0050c998
cmp dword [ebx + 0x268], 0
jne 0x511790
mov eax, ebx
call fcn.0050c334
cmp dword [ebx + 0x268], 0
je case.0x51020a.0
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x268]
call fcn.0052512c
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
cmp byte [ebx + 0x78], 0
je case.0x51020a.0
mov esi, dword [ebx + 0x268]
test esi, esi
je 0x511801
cmp dword [esi + 0x18], 0
je 0x511801
mov eax, dword [ebx + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x50]
mov edx, eax
mov eax, dword [esi + 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
push 0
push 0
push 0x85
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, ebx
call fcn.0051bd04
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, ebx
call fcn.0051bd04
mov eax, dword [0x547998]
cmp dword [eax], 0
je case.0x51020a.0
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00460e94
test eax, eax
je case.0x51020a.0
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00460e94
cmp byte [eax + 0x22b], 2
jne 0x5118b0
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x240]
call fcn.004afdf8
jmp case.0x51020a.0
mov dl, 1
mov eax, ebx
call fcn.0051e1b8
jmp case.0x51020a.0
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x1c], 0
jne 0x51226b
mov eax, ebx
call fcn.0050bc38
test al, al
je 0x511ad3
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov edi, dword [eax + 0x180]
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov edx, edi
call fcn.0052f778
test al, al
je 0x511ad3
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0xc8]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.00528eb0
push eax
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0xc8]
mov edx, edi
shl edx, 3
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 [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0xc8]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.00528ec4
push eax
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0xc8]
mov edx, edi
shl edx, 3
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, [ebx + 0x1f8]
xor edx, edx
call fcn.00528eb0
mov ebp, eax
mov eax, dword [ebx + 0x24c]
call fcn.0044697c
cmp ebp, eax
jl 0x5119c6
lea eax, [ebx + 0x1f8]
xor edx, edx
call fcn.00528ec4
mov ebp, eax
mov eax, dword [ebx + 0x24c]
call fcn.004469c0
cmp ebp, eax
jge 0x511a31
mov eax, dword [ebx + 0x50]
call fcn.00537dc8
test al, al
jne 0x511a31
lea eax, [ebx + 0x1f8]
xor edx, edx
call fcn.00528eb0
test eax, eax
je 0x511a31
mov eax, dword [ebx + 0x204]
push eax
lea eax, [esp + 0x28]
push eax
mov edx, dword [ebx + 0x204]
sub edx, edi
mov eax, dword [ebx + 0x200]
sub eax, dword [esp + 0xc]
mov ecx, dword [ebx + 0x200]
call fcn.00406948
mov eax, dword [ebx + 0x50]
call fcn.00537dc8
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_InvalidateRect
lea eax, [ebx + 0x1f8]
xor edx, edx
call fcn.00528eb0
mov ebp, eax
mov eax, dword [ebx + 0x24c]
call fcn.0044697c
cmp ebp, eax
jg 0x511a6d
lea eax, [ebx + 0x1f8]
xor edx, edx
call fcn.00528ec4
mov ebp, eax
mov eax, dword [ebx + 0x24c]
call fcn.004469c0
cmp ebp, eax
jle 0x511ad3
mov eax, dword [ebx + 0x24c]
call fcn.004469c0
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [ebx + 0x24c]
call fcn.0044697c
push eax
mov eax, dword [ebx + 0x24c]
call fcn.004469c0
sub eax, edi
push eax
mov eax, dword [ebx + 0x24c]
call fcn.0044697c
sub eax, dword [esp + 0x14]
pop edx
pop ecx
call fcn.00406948
mov eax, dword [ebx + 0x50]
call fcn.00537dc8
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_InvalidateRect
lea eax, [ebx + 0x1f8]
xor edx, edx
call fcn.00528eb0
mov edi, eax
mov eax, dword [ebx + 0x24c]
call fcn.0044697c
cmp edi, eax
jg 0x511b24
lea eax, [ebx + 0x1f8]
xor edx, edx
call fcn.00528ec4
mov edi, eax
mov eax, dword [ebx + 0x24c]
call fcn.004469c0
cmp edi, eax
jg 0x511b24
lea eax, [ebx + 0x1f8]
xor edx, edx
call fcn.00528eb0
test eax, eax
jne 0x511d28
push 0x5169b0
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov edx, dword [ebx + 0x50]
mov ecx, dword [edx + 4]
mov edx, dword [ebx + 0x50]
mov edx, dword [edx + 0x28]
call fcn.00535298
mov edi, eax
cmp edi, 0xffffffff
jle 0x511c26
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0xc8]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.00528eb0
push eax
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0xc8]
mov edx, edi
shl edx, 3
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 [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0xc8]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.00528ec4
push eax
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0xc8]
mov edx, edi
shl edx, 3
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 [ebx + 0x204]
push eax
lea eax, [esp + 0x28]
push eax
mov edx, dword [ebx + 0x204]
sub edx, edi
mov eax, dword [ebx + 0x200]
sub eax, dword [esp + 0xc]
mov ecx, dword [ebx + 0x200]
call fcn.00406948
mov eax, dword [ebx + 0x50]
call fcn.00537dc8
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_InvalidateRect
push 0x5169c4
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov edx, dword [ebx + 0x50]
mov ecx, dword [edx + 4]
mov edx, dword [ebx + 0x50]
mov edx, dword [edx + 0x28]
call fcn.00535298
mov edi, eax
cmp edi, 0xffffffff
jle 0x511d28
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0xc8]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.00528eb0
push eax
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0xc8]
mov edx, edi
shl edx, 3
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 [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0xc8]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.00528ec4
push eax
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0xc8]
mov edx, edi
shl edx, 3
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 [ebx + 0x204]
push eax
lea eax, [esp + 0x28]
push eax
mov edx, dword [ebx + 0x204]
sub edx, edi
mov eax, dword [ebx + 0x200]
sub eax, dword [esp + 0xc]
mov ecx, dword [ebx + 0x200]
call fcn.00406948
mov eax, dword [ebx + 0x50]
call fcn.00537dc8
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_InvalidateRect
cmp dword [ebx + 0xc0], 0
je 0x511d3c
lea eax, [ebx + 0xc0]
call fcn.0040e1c0
cmp dword [ebx + 0xc4], 0
je 0x511d50
lea eax, [ebx + 0xc4]
call fcn.0040e1c0
mov dword [ebx + 0x250], 0xffffffff
mov eax, dword [ebx + 0x22c]
and eax, 0x80
cmp eax, 0x80
jne 0x511d73
mov eax, ebx
call fcn.0050b330
mov eax, dword [ebx + 0x24c]
cmp dword [eax + 0x30], 0
jne 0x511da6
cmp byte [ebx + 0xa6], 0
je 0x511da6
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x1c], 1
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x1c], 0
jmp 0x511db4
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [0x547600]
cmp byte [eax], 0
jne 0x51222b
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x1a6], 0
je 0x512224
mov eax, ebx
call fcn.0051b808
test al, al
je 0x51218a
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x511e06
cmp byte [ebx + 0x21e], 0
jne 0x51218a
mov byte [ebx + 0x34], 1
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
mov eax, dword [ebx + 0x50]
cmp dword [eax + 0x44], 0
je 0x511e5e
mov eax, dword [ebx + 0x50]
call fcn.00537dc8
test al, al
je 0x511e52
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov edx, dword [ebx + 0x24c]
cmp eax, dword [edx + 0x48]
jg 0x511e56
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x20]
mov edx, dword [ebx + 0x24c]
cmp eax, dword [edx + 0x4c]
jg 0x511e56
xor eax, eax
jmp 0x511e58
mov al, 1
mov byte [esp + 0x10], al
jmp 0x511e63
mov byte [esp + 0x10], 0
cmp byte [ebx + 0x78], 0
je 0x51212e
mov eax, dword [0x547588]
cmp byte [eax], 0
je 0x511e9a
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22b], 2
jne 0x511e9a
cmp dword [ebx + 0x268], 0
je 0x511e9a
lea eax, [ebx + 0x268]
call fcn.0040e1c0
cmp dword [ebx + 0x268], 0
je 0x511f5b
mov eax, dword [ebx + 0x268]
cmp dword [eax + 0x18], 0
jne 0x511ebe
mov eax, dword [ebx + 0x268]
call fcn.005262fc
cmp dword [ebx + 0x224], 0
je 0x511ee8
mov eax, dword [ebx + 0x224]
mov eax, dword [eax + 0x80]
cmp byte [eax + 6], 0
jne 0x511ef5
mov eax, dword [ebx + 0x224]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 6], 0
jne 0x511ef5
cmp byte [ebx + 0x54], 0
jne 0x511ef5
or dword [ebx + 0x22c], 1
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x268]
call fcn.0052512c
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x1c], 1
and dword [ebx + 0x22c], 0xfffffffe
mov eax, dword [ebx + 0x268]
mov byte [eax + 0x28], 1
push 0x61b
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [ebx + 0x268]
mov byte [eax + 0x28], 0
mov dl, 1
mov eax, ebx
call fcn.0050c510
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x1c], 0
jmp 0x511f6b
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, ebx
call fcn.0051ef14
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x1c], 0
jne case.0x51020a.0
mov eax, dword [ebx + 0x50]
mov ax, word [eax + 0x54]
and ax, 2
cmp ax, 2
jne 0x511fa7
lea eax, [ebx + 0x1f8]
xor edx, edx
call fcn.00528ec4
mov esi, eax
mov eax, dword [ebx + 0x24c]
call fcn.004469c0
cmp esi, eax
jne 0x511fd6
mov eax, dword [ebx + 0x50]
mov ax, word [eax + 0x54]
and ax, 1
cmp ax, 1
jne 0x512009
lea eax, [ebx + 0x1f8]
xor edx, edx
call fcn.00528eb0
mov esi, eax
mov eax, dword [ebx + 0x24c]
call fcn.0044697c
cmp esi, eax
je 0x512009
push 0
lea eax, [esp + 0x18]
push eax
mov dx, 0x14
mov ax, 1
call fcn.004076a8
mov edx, eax
mov eax, dword [0x5475fc]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00528d34
lea edx, [esp + 0x14]
mov eax, dword [ebx + 0x24c]
call fcn.004f1650
cmp dword [ebx + 0x268], 0
je 0x512107
cmp dword [ebx + 0x224], 0
je 0x512063
mov eax, dword [ebx + 0x224]
cmp dword [eax + 0x80], 0
je 0x512063
mov eax, dword [ebx + 0x224]
cmp dword [eax + 0x7c], 0
je 0x512063
mov eax, dword [ebx + 0x224]
mov eax, dword [eax + 0x80]
cmp byte [eax + 6], 0
jne 0x512107
mov eax, dword [ebx + 0x224]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 6], 0
jne 0x512107
mov eax, dword [ebx + 0x268]
cmp dword [eax + 0x18], 0
jne 0x51207a
mov eax, dword [ebx + 0x268]
call fcn.005262fc
push 0x101
push 0
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_RedrawWindow
cmp dword [ebx + 0x268], 0
je 0x5120fc
push 0x61b
push 0
push 0
push 0
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowPos
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x268]
call fcn.00526194
push eax
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowRgn
mov eax, dword [ebx + 0x268]
mov byte [eax + 0x28], 0
jmp 0x512121
xor edx, edx
mov eax, ebx
call fcn.0050c510
jmp 0x512121
push 0x921
push 0
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [ebx + 0x24c]
call fcn.004f0d00
jmp 0x51214a
cmp byte [esp + 0x10], 0
je 0x51214a
push 0
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_InvalidateRect
mov eax, dword [ebx + 0x24c]
call fcn.004469c0
push eax
lea eax, [esp + 0x88]
push eax
mov eax, dword [ebx + 0x24c]
call fcn.0044697c
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.00406948
lea esi, [esp + 0x84]
lea edi, [ebx + 0x1f8]
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.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 2
jne 0x5121a5
mov eax, dword [ebx + 0x50]
call fcn.00537dc8
test al, al
jne 0x5121b4
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
jne 0x5121c6
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, ebx
call fcn.0051ef14
jmp 0x51222b
mov eax, dword [esi + 4]
sub eax, 2
jne 0x51222b
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
jne 0x51222b
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22b], 2
jne 0x51222b
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x39], 1
mov eax, dword [0x547998]
mov eax, dword [eax]
mov byte [eax + 0x232], 1
push 0x481
push 0
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_RedrawWindow
jmp 0x51222b
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
mov eax, dword [ebx + 0x24c]
call fcn.004469c0
push eax
lea eax, [esp + 0x88]
push eax
mov eax, dword [ebx + 0x24c]
call fcn.0044697c
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.00406948
lea esi, [esp + 0x84]
lea edi, [ebx + 0x1f8]
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.0x51020a.0
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
mov byte [ebx + 0x34], 1
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov eax, ebx
call fcn.0051e9ec
xor eax, eax
call fcn.004dd02c
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 2
jne 0x5123f2
cmp byte [ebx + 0x21f], 0
jne 0x5123f2
mov eax, dword [ebx + 0x24c]
call fcn.00460e94
test eax, eax
je 0x5123f2
mov eax, dword [ebx + 0x24c]
call fcn.00460e94
cmp byte [eax + 0x22b], 2
jne 0x5123f2
mov byte [ebx + 0x21f], 1
cmp dword [0x5474ac], 0
jne 0x51231e
mov ecx, dword [0x5478fc]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x45cb50]
call fcn.0045f600
mov dword [0x5474ac], eax
mov eax, dword [0x5474ac]
mov dword [eax + 0xc], 0xffffff9e
xor edx, edx
mov eax, dword [0x5474ac]
call fcn.00460444
mov edx, 0x5169d8
mov eax, dword [0x5474ac]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [0x5474ac]
mov dword [eax + 0x2bc], ebx
mov dword [eax + 0x2b8], 0x51d348
xor edx, edx
mov eax, dword [0x5474ac]
call fcn.00460dc4
push 0x58
push 0xf
call sub.user32.dll_GetSystemMetrics
dec eax
add eax, 4
push eax
push 0x3c
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
xor ecx, ecx
mov edx, dword [ebx + 0x268]
call fcn.0050b8ac
mov edi, eax
mov eax, dword [ebx + 0x24c]
call fcn.0050b914
mov edx, dword [ebx + 0x24c]
add eax, dword [edx + 0x44]
add edi, eax
push edi
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
xor ecx, ecx
mov edx, dword [ebx + 0x268]
call fcn.0050b8ac
push eax
lea edx, [esp + 0x98]
mov eax, dword [ebx + 0x24c]
call fcn.00446918
mov eax, dword [esp + 0xa0]
sub eax, 0x3c
pop edx
sub eax, edx
push eax
push 0
mov eax, dword [0x5474ac]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowPos
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov byte [ebx + 0x21f], 0
cmp dword [0x5474ac], 0
je 0x51241f
mov eax, 0x5474ac
call fcn.0040e1c0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
cmp byte [ebx + 0x21c], 0
je 0x512449
mov byte [ebx + 0x21c], 0
mov eax, ebx
call fcn.0051ed14
mov dl, 1
mov eax, ebx
call fcn.0050d480
test eax, eax
je 0x51245c
cmp byte [ebx + 0x78], 0
jne 0x51246f
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov edx, esi
mov eax, ebx
call fcn.0050ee70
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add eax, 0xfffffff8
sub eax, 2
jb 0x51248b
sub eax, 0xa
jne 0x5124a3
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
jne 0x5124a3
mov dl, 1
mov eax, ebx
call fcn.0051e1b8
mov eax, dword [esi + 0xc]
sub eax, 3
jb 0x5124bc
sub eax, 2
je 0x5124bc
add eax, 0xfffffffb
sub eax, 8
jae 0x5125d8
mov eax, ebx
call fcn.0050bc38
test al, al
je 0x5125c5
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov edi, dword [eax + 0x180]
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov edx, edi
call fcn.0052f778
test al, al
je 0x5125c5
lea eax, [esp + 8]
push eax
movsx ecx, word [esi + 0xa]
movsx edx, word [esi + 8]
mov eax, ebx
call fcn.0051b30c
cmp dword [ebx + 0x268], 0
je 0x51258b
lea ecx, [esp + 0x74]
mov edx, edi
mov eax, ebx
call fcn.0051be78
mov ebp, dword [esp + 0x78]
mov eax, dword [ebx + 0x268]
call fcn.0050b9d8
sub ebp, eax
lea edx, [esp + 0x84]
mov eax, ebx
call fcn.0051e9b4
sub ebp, dword [esp + 0x88]
cmp ebp, dword [esp + 0xc]
jge 0x5125c5
lea ecx, [esp + 0x7c]
mov edx, edi
mov eax, ebx
call fcn.0051be78
mov edi, dword [esp + 0x7c]
mov eax, dword [ebx + 0x268]
call fcn.0050ba14
sub edi, eax
lea edx, [esp + 0x94]
mov eax, ebx
call fcn.0051e9b4
sub edi, dword [esp + 0x94]
cmp edi, dword [esp + 8]
jge 0x5125c5
mov dword [esi + 0xc], 0x11
jmp case.0x51020a.0
lea ecx, [esp + 0x74]
mov edx, edi
mov eax, ebx
call fcn.0051be78
mov eax, dword [esp + 0x78]
cmp eax, dword [esp + 0xc]
jge 0x5125c5
lea ecx, [esp + 0x7c]
mov edx, edi
mov eax, ebx
call fcn.0051be78
mov eax, dword [esp + 0x7c]
cmp eax, dword [esp + 8]
jge 0x5125c5
mov dword [esi + 0xc], 0x11
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
cmp byte [ebx + 0x54], 1
jne case.0x51020a.0
cmp dword [0x5491b4], 0
jne case.0x51020a.0
mov eax, dword [ebx + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je case.0x51020a.0
mov eax, dword [esi + 0xc]
sub eax, 2
je 0x512616
add eax, 0xfffffff8
sub eax, 8
jae case.0x51020a.0
mov eax, dword [esi + 0xc]
mov dword [0x5491b4], eax
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
cmp dword [ebx + 0x268], 0
je case.0x51020a.0
mov cl, 0xff
xor edx, edx
mov eax, dword [ebx + 0x268]
call fcn.0052512c
jmp case.0x51020a.0
cmp dword [ebx + 0x38], 0x7d0
jl 0x512664
cmp dword [ebx + 0x268], 0
jne 0x512670
mov cl, 1
or edx, 0xffffffff
mov eax, ebx
call fcn.00517c34
mov byte [0x5474a0], 0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
mov eax, dword [ebx + 0x50]
call fcn.00539994
pop edx
call fcn.00536424
cmp dword [ebx + 0x268], 0
je case.0x51020a.0
mov eax, dword [ebx + 0x268]
cmp byte [eax + 0x38], 0
je case.0x51020a.0
mov eax, dword [ebx + 0x22c]
and eax, 1
cmp eax, 1
je case.0x51020a.0
mov eax, dword [ebx + 0x268]
call fcn.00526380
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
je case.0x51020a.0
mov eax, ebx
call fcn.0051cd98
jmp case.0x51020a.0
cmp byte [ebx + 0x78], 0
je 0x512c5d
cmp dword [ebx + 0x268], 0
je 0x51274a
cmp dword [esi + 4], 0x13
jne 0x51274a
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
cmp dword [ebx + 0x268], 0
je 0x512769
cmp dword [esi + 4], 0xffffffff
jne 0x512769
mov edx, esi
mov eax, dword [ebx + 0x268]
call fcn.0052432c
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
cmp eax, 8
jge 0x512784
sub eax, 3
je 0x512807
sub eax, 2
je 0x5127f4
jmp 0x51293f
add eax, 0xfffffff8
sub eax, 2
jb 0x5127a0
add eax, 0xfffffff6
sub eax, 2
jb 0x5127a0
add eax, 0xffffffb1
sub eax, 3
jae 0x51293f
cmp dword [0x5474a8], 0
je 0x5127e5
cmp dword [esi + 4], 0x67
jne 0x5127c7
mov eax, dword [0x5474a8]
mov eax, dword [eax + 0x254]
mov edx, dword [eax]
call dword [edx + 0x54]
test al, al
je case.0x51020a.0
cmp dword [esi + 4], 0x66
jne 0x5127e5
mov eax, dword [0x5474a8]
mov eax, dword [eax + 0x254]
mov edx, dword [eax]
call dword [edx + 0x58]
test al, al
je case.0x51020a.0
mov edx, dword [esi + 4]
mov eax, ebx
call fcn.00518018
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
xor eax, eax
mov dword [esi + 0xc], eax
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
cmp dword [esi + 0xc], 0
jne case.0x51020a.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00517c34
mov byte [0x5474a0], 0
mov eax, dword [ebx + 0x50]
call fcn.00539994
cmp byte [eax + 0x58], 0
jne 0x51285b
mov eax, 0xc8
call fcn.00529340
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x1c], 0
jne case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
jne 0x5128bd
mov eax, dword [0x547998]
cmp dword [eax], 0
je case.0x51020a.0
lea edx, [esp + 8]
mov eax, ebx
call fcn.0051aec8
mov eax, dword [ebx + 0x24c]
call fcn.0050b914
add eax, dword [esp + 0xc]
add eax, 4
push eax
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsIconic
shl eax, 4
pop ecx
sub ecx, eax
mov edx, dword [esp + 8]
mov eax, ebx
call fcn.0051afd4
jmp case.0x51020a.0
lea edx, [esp + 0x74]
mov eax, ebx
call fcn.0051aec8
mov esi, dword [esp + 0x78]
mov dl, 1
mov eax, ebx
call fcn.0050d2c4
add esi, eax
lea eax, [ebx + 0x96]
xor edx, edx
call fcn.00528ec4
add esi, eax
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
xor ecx, ecx
mov edx, dword [ebx + 0x268]
call fcn.0050b900
add esi, eax
push esi
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
xor ecx, ecx
mov edx, dword [ebx + 0x268]
call fcn.0050b8ac
mov esi, eax
lea edx, [esp + 0x80]
mov eax, ebx
call fcn.0051aec8
add esi, dword [esp + 0x80]
mov edx, esi
mov eax, ebx
pop ecx
call fcn.0051afd4
jmp case.0x51020a.0
mov eax, dword [ebx + 0x48]
call fcn.0041980c
mov ecx, eax
add ecx, 0x3e8
dec ecx
mov eax, dword [esi + 4]
mov edx, 0x3e8
call fcn.00528d88
test al, al
je 0x5129a1
mov edx, dword [esi + 4]
mov eax, ebx
call fcn.00518018
mov al, byte [0x5169e4]
push eax
movsx eax, word [esi + 8]
push eax
movsx eax, word [esi + 0xa]
push eax
mov edx, dword [esi + 4]
sub edx, 0x3e8
mov eax, dword [ebx + 0x48]
call fcn.00521bd8
mov edx, dword [esi + 4]
sub edx, 0x3e8
xor ecx, ecx
call fcn.00521d50
jmp case.0x51020a.0
mov eax, dword [esi + 4]
mov ecx, 0x8cf
mov edx, 0x7d0
call fcn.00528d88
test al, al
je 0x512a01
cmp dword [ebx + 0xac], 0
je case.0x51020a.0
mov edx, dword [esi + 4]
mov eax, ebx
call fcn.00518018
movsx eax, word [esi + 8]
push eax
movsx eax, word [esi + 0xa]
push eax
mov edx, dword [esi + 4]
sub edx, 0x7d0
mov eax, dword [ebx + 0xac]
mov eax, dword [eax + 0x38]
call fcn.0049e73c
mov cl, byte [0x5169e4]
xor edx, edx
call fcn.0049df5c
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x512a32
push 0
mov ecx, 0xf012
mov edx, 0x112
mov eax, dword [ebx + 0x24c]
call fcn.00448144
jmp case.0x51020a.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00517c34
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22b], 2
jne 0x512a8f
lea eax, [esp + 0x74]
push eax
movsx ecx, word [esi + 0xa]
xor edx, edx
mov eax, ebx
call fcn.0051b30c
mov edi, dword [esp + 0x78]
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
mov cl, 1
mov edx, dword [ebx + 0x268]
call fcn.0050b900
mov ebp, eax
mov dl, 1
mov eax, ebx
call fcn.0050d480
add ebp, eax
cmp edi, ebp
jle 0x512c24
push 0
lea eax, [esp + 0x15]
push eax
push 0
push 0x26
call sub.user32.dll_SystemParametersInfoA
cmp byte [esp + 0x11], 0
je 0x512c11
cmp byte [ebx + 0x54], 1
jne 0x512b6b
mov eax, dword [ebx + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x512b6b
mov eax, dword [esi + 4]
sub eax, 5
je 0x512b6b
mov eax, dword [esi + 4]
sub eax, 2
je 0x512ae0
sub eax, 3
jne 0x512aee
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [esi + 4]
add eax, 0xfffffff6
sub eax, 8
setb al
xor al, 1
mov byte [0x549190], al
lea ecx, [esp + 8]
movsx edx, word [esi + 0xa]
movsx eax, word [esi + 8]
call fcn.00406964
cmp byte [0x549190], 0
je 0x512b3a
push 0
push 0xf010
push 0x112
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
jmp 0x512b57
push 0
push 0xf000
push 0x112
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov eax, ebx
call fcn.0051c1a4
jmp case.0x51020a.0
cmp dword [esi + 4], 2
jne 0x512bfe
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
je 0x512bfe
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x24]
cmp byte [eax + 6], 0
je 0x512bfe
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne 0x512bfe
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x24]
cmp byte [eax + 8], 0xff
je 0x512bfe
cmp byte [ebx + 0x94], 0
je 0x512bfe
cmp byte [ebx + 0x244], 0
jne 0x512be1
mov byte [ebx + 0x244], 1
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SetFocus
mov eax, ebx
call fcn.0050af78
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22e], 0
jne case.0x51020a.0
mov eax, dword [ebx + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je case.0x51020a.0
mov eax, dword [ebx + 0x24c]
mov edx, dword [eax]
call dword [edx + 0xc4]
jmp case.0x51020a.0
mov eax, dword [esi + 4]
sub eax, 3
jne 0x512d47
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00517c34
mov byte [0x5474a0], 0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
jne 0x512cc5
mov eax, dword [0x547998]
cmp dword [eax], 0
je case.0x51020a.0
lea edx, [esp + 8]
mov eax, ebx
call fcn.0051aec8
mov dl, 1
mov eax, ebx
call fcn.0050d480
mov ecx, eax
add ecx, dword [esp + 0xc]
add ecx, 4
mov edx, dword [esp + 8]
mov eax, ebx
call fcn.0051afd4
jmp case.0x51020a.0
lea edx, [esp + 0x74]
mov eax, ebx
call fcn.0051aec8
mov esi, dword [esp + 0x78]
mov dl, 1
mov eax, ebx
call fcn.0050d2c4
add esi, eax
lea eax, [ebx + 0x96]
xor edx, edx
call fcn.00528ec4
add esi, eax
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
xor ecx, ecx
mov edx, dword [ebx + 0x268]
call fcn.0050b900
add esi, eax
push esi
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
mov cl, 1
mov edx, dword [ebx + 0x268]
call fcn.0050b8ac
mov esi, eax
lea edx, [esp + 0x80]
mov eax, ebx
call fcn.0051aec8
add esi, dword [esp + 0x80]
mov edx, esi
mov eax, ebx
pop ecx
call fcn.0051afd4
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
cmp dword [esi + 4], 0x2f
jne 0x512dbb
cmp dword [ebx + 0x218], 0
je 0x512dbb
mov eax, dword [ebx + 0x218]
mov edx, dword [0x50a28c]
call fcn.0040398c
test al, al
je 0x512dbb
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
mov edi, dword [ebx + 0x218]
mov eax, edi
call fcn.0052838c
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, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [0x54782c]
cmp dword [eax], 0
je 0x512e01
mov eax, dword [0x54782c]
mov eax, dword [eax]
test byte [eax + 0x1c], 0x10
jne 0x512e01
mov eax, dword [0x54782c]
mov eax, dword [eax]
xor edx, edx
call fcn.00536424
cmp byte [ebx + 0x54], 1
jne case.0x51020a.0
mov eax, dword [ebx + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je case.0x51020a.0
lea ecx, [esp + 0x74]
movsx edx, word [esi + 0xa]
movsx eax, word [esi + 8]
call fcn.00406964
lea edx, [esp + 0x74]
lea ecx, [esp + 8]
mov eax, dword [ebx + 0x24c]
call fcn.00446a90
mov eax, dword [esp + 8]
mov dword [esp + 4], eax
mov edi, dword [esp + 0xc]
cmp byte [0x549190], 0
je 0x512ecc
cmp byte [0x547490], 0
je 0x512e67
mov byte [0x547490], 0
cmp byte [0x547488], 0
je case.0x51020a.0
mov ecx, dword [0x54919c]
mov edx, dword [0x5491a0]
mov eax, ebx
call fcn.0051c3a4
mov eax, dword [esp + 4]
sub eax, dword [0x5491ac]
add dword [0x5491a0], eax
mov eax, edi
sub eax, dword [0x5491b0]
add dword [0x54919c], eax
mov dword [0x5491b0], edi
mov eax, dword [esp + 4]
mov dword [0x5491ac], eax
mov ecx, dword [0x54919c]
mov edx, dword [0x5491a0]
mov eax, ebx
call fcn.0051c3a4
jmp case.0x51020a.0
cmp byte [0x547490], 0
je 0x512eeb
mov eax, dword [esp + 4]
mov dword [0x5491ac], eax
mov dword [0x5491b0], edi
mov byte [0x547490], 0
cmp byte [0x547488], 0
je case.0x51020a.0
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.0051c3a4
mov eax, dword [0x5491b4]
add eax, 0xfffffff6
cmp eax, 6
ja case.default.0x512f14
jmp dword [eax*4 + 0x512f1b]
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x40]
add eax, dword [esp + 4]
sub eax, dword [0x5491ac]
mov dword [0x5491a0], eax
mov eax, dword [0x5491a8]
sub eax, dword [0x5491a0]
cmp eax, dword [0x5491bc]
jge 0x51327c
mov eax, dword [0x5491a8]
sub eax, dword [0x5491bc]
mov dword [0x5491a0], eax
jmp 0x51327c
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x40]
mov edx, dword [ebx + 0x24c]
add eax, dword [edx + 0x48]
add eax, dword [esp + 4]
sub eax, dword [0x5491ac]
mov dword [0x5491a8], eax
mov eax, dword [0x5491a8]
sub eax, dword [0x5491a0]
cmp eax, dword [0x5491bc]
jge 0x51327c
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x40]
add eax, dword [0x5491bc]
mov dword [0x5491a8], eax
jmp 0x51327c
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x44]
mov edx, dword [ebx + 0x24c]
add eax, dword [edx + 0x4c]
add edi, eax
sub edi, dword [0x5491b0]
mov dword [0x5491a4], edi
mov eax, dword [0x5491a4]
sub eax, dword [0x54919c]
cmp eax, dword [0x5491b8]
jge 0x51327c
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x44]
add eax, dword [0x5491b8]
mov dword [0x5491a4], eax
jmp 0x51327c
mov eax, dword [ebx + 0x24c]
add edi, dword [eax + 0x44]
sub edi, dword [0x5491b0]
mov dword [0x54919c], edi
mov eax, dword [0x5491a4]
sub eax, dword [0x54919c]
cmp eax, dword [0x5491b8]
jge 0x51327c
mov eax, dword [0x5491a4]
sub eax, dword [0x5491b8]
mov dword [0x54919c], eax
jmp 0x51327c
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x44]
mov edx, dword [ebx + 0x24c]
add eax, dword [edx + 0x4c]
add edi, eax
sub edi, dword [0x5491b0]
mov dword [0x5491a4], edi
mov eax, dword [0x5491a4]
sub eax, dword [0x54919c]
cmp eax, dword [0x5491b8]
jge 0x5130a4
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x44]
add eax, dword [0x5491b8]
mov dword [0x5491a4], eax
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x40]
add eax, dword [esp + 4]
sub eax, dword [0x5491ac]
mov dword [0x5491a0], eax
mov eax, dword [0x5491a8]
sub eax, dword [0x5491a0]
cmp eax, dword [0x5491bc]
jge 0x51327c
mov eax, dword [0x5491a8]
sub eax, dword [0x5491bc]
mov dword [0x5491a0], eax
jmp 0x51327c
mov eax, dword [ebx + 0x24c]
add edi, dword [eax + 0x44]
sub edi, dword [0x5491b0]
mov dword [0x54919c], edi
mov eax, dword [0x5491a4]
sub eax, dword [0x54919c]
cmp eax, dword [0x5491b8]
jge 0x513120
mov eax, dword [0x5491a4]
sub eax, dword [0x5491b8]
mov dword [0x54919c], eax
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x40]
mov edx, dword [ebx + 0x24c]
add eax, dword [edx + 0x48]
add eax, dword [esp + 4]
sub eax, dword [0x5491ac]
mov dword [0x5491a8], eax
mov eax, dword [0x5491a8]
sub eax, dword [0x5491a0]
cmp eax, dword [0x5491bc]
jge 0x51327c
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x40]
add eax, dword [0x5491bc]
mov dword [0x5491a8], eax
jmp 0x51327c
mov eax, dword [ebx + 0x24c]
add edi, dword [eax + 0x44]
sub edi, dword [0x5491b0]
mov dword [0x54919c], edi
mov eax, dword [0x5491a4]
sub eax, dword [0x54919c]
cmp eax, dword [0x5491b8]
jge 0x5131a9
mov eax, dword [0x5491a4]
sub eax, dword [0x5491b8]
mov dword [0x54919c], eax
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x40]
add eax, dword [esp + 4]
sub eax, dword [0x5491ac]
mov dword [0x5491a0], eax
mov eax, dword [0x5491a8]
sub eax, dword [0x5491a0]
cmp eax, dword [0x5491bc]
jge 0x51327c
mov eax, dword [0x5491a8]
sub eax, dword [0x5491bc]
mov dword [0x5491a0], eax
jmp 0x51327c
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x44]
mov edx, dword [ebx + 0x24c]
add eax, dword [edx + 0x4c]
add edi, eax
sub edi, dword [0x5491b0]
mov dword [0x5491a4], edi
mov eax, dword [0x5491a4]
sub eax, dword [0x54919c]
cmp eax, dword [0x5491b8]
jge 0x513234
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x44]
add eax, dword [0x5491b8]
mov dword [0x5491a4], eax
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x40]
mov edx, dword [ebx + 0x24c]
add eax, dword [edx + 0x48]
add eax, dword [esp + 4]
sub eax, dword [0x5491ac]
mov dword [0x5491a8], eax
mov eax, dword [0x5491a8]
sub eax, dword [0x5491a0]
cmp eax, dword [0x5491bc]
jge 0x51327c
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x40]
add eax, dword [0x5491bc]
mov dword [0x5491a8], eax
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.0051c3a4
jmp case.0x51020a.0
mov eax, dword [esi + 4]
add eax, 0xfffffffe
sub eax, 2
jb case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov eax, ebx
call fcn.0050c950
test al, al
je 0x51331b
cmp dword [ebx + 0x268], 0
je 0x5132da
cmp dword [esi + 4], 0xffffffff
jne 0x5132da
mov edx, esi
mov eax, dword [ebx + 0x268]
call fcn.0052432c
mov dword [esi + 4], eax
jmp 0x5132e6
mov edx, esi
mov eax, ebx
call fcn.0050ee70
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add eax, 0xfffffffe
sub eax, 2
jae case.0x51020a.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00517c34
mov byte [0x5474a0], 0
movsx ecx, word [esi + 0xa]
movsx edx, word [esi + 8]
mov eax, ebx
call fcn.0051afd4
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
cmp byte [ebx + 0x78], 0
je 0x51397a
mov eax, dword [ebx + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x51397a
cmp dword [ebx + 0x268], 0
je 0x51336a
cmp dword [esi + 4], 0xffffffff
jne 0x51336a
mov edx, esi
mov eax, dword [ebx + 0x268]
call fcn.0052432c
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
cmp eax, 0x15
jg 0x513392
je 0x513665
sub eax, 8
je 0x51351a
dec eax
je 0x513435
sub eax, 0xb
je 0x5133ae
jmp 0x5137ac
sub eax, 0x65
je 0x5136d3
dec eax
je 0x513719
dec eax
je 0x51375b
jmp 0x5137ac
cmp byte [0x5474a0], 0
je case.0x51020a.0
xor eax, eax
mov dword [ebx + 0x130], eax
push 0
push 0xf060
push 0x112
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x1c], 8
jne case.0x51020a.0
mov eax, ebx
call fcn.0051e9ec
cmp dword [ebx + 0x24c], 0
je case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x57], 0
je case.0x51020a.0
cmp dword [ebx + 0x50], 0
je case.0x51020a.0
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00517c34
jmp case.0x51020a.0
mov eax, dword [ebx + 0x254]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
jne 0x51346a
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22b], 2
jne case.0x51020a.0
mov eax, dword [ebx + 0x254]
mov edx, dword [eax]
call dword [edx + 0x58]
test al, al
je case.0x51020a.0
cmp byte [0x5474a0], 0
je 0x5134fc
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00517c34
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
jne 0x513498
xor eax, eax
mov dword [0x5474a8], eax
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22b], 2
jne 0x5134c6
push 0
push 0xf120
push 0x112
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
jmp 0x5134e3
push 0
push 0xf030
push 0x112
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
xor edx, edx
mov eax, dword [ebx + 0x254]
call fcn.0052170c
mov byte [0x5474a0], 0
jmp case.0x51020a.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00517c34
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
cmp byte [0x5474a0], 0
je 0x513647
cmp dword [ebx + 0x268], 0
je 0x51355b
movsx edx, word [esi + 0xa]
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
sub edx, dword [eax + 0x44]
movsx eax, word [esi + 8]
mov ecx, dword [ebx + 0x268]
mov ecx, dword [ecx + 0x18]
sub eax, dword [ecx + 0x40]
lea ecx, [esp + 8]
call fcn.00406964
jmp 0x51356f
lea eax, [esp + 8]
push eax
movsx ecx, word [esi + 0xa]
movsx edx, word [esi + 8]
mov eax, ebx
call fcn.0051b30c
lea edx, [esp + 8]
lea eax, [ebx + 0xe8]
call fcn.0040696c
test al, al
je 0x513634
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00517c34
mov eax, dword [0x5478fc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x24c]
jne 0x5135d0
mov byte [ebx + 0x222], 1
push 0
push 0xf020
push 0x112
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
mov byte [ebx + 0x222], 0
jmp 0x513621
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x513604
push 0
push 0xf120
push 0x112
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
jmp 0x513621
push 0
push 0xf020
push 0x112
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
mov byte [ebx + 0xba], 1
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00517c34
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
cmp byte [0x5474a0], 0
je 0x5136c3
push 0
push 0xf180
push 0x112
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00517c34
xor edx, edx
mov eax, dword [ebx + 0x254]
call fcn.0052170c
mov byte [0x5474a0], 0
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, dword [ebx + 0x24c]
call fcn.00448144
jmp case.0x51020a.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00517c34
jmp case.0x51020a.0
cmp byte [0x5474a0], 0
je case.0x51020a.0
mov byte [0x5474a0], 0
push 0
push 0xf060
push 0x112
mov eax, dword [ebx + 0x24c]
call fcn.00460e94
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.00517c34
jmp case.0x51020a.0
cmp byte [0x5474a0], 0
je 0x513744
push 0
push 0xf120
push 0x112
mov eax, dword [ebx + 0x24c]
call fcn.00460e94
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
mov byte [0x5474a0], 0
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.00517c34
jmp case.0x51020a.0
cmp byte [0x5474a0], 0
je 0x51379c
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
call fcn.00539734
mov byte [0x5474a0], 0
push 0
push 0xf020
push 0x112
mov eax, dword [ebx + 0x24c]
call fcn.00460e94
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00517c34
jmp case.0x51020a.0
mov eax, dword [ebx + 0x48]
call fcn.0041980c
mov ecx, eax
add ecx, 0x3e8
dec ecx
mov eax, dword [esi + 4]
mov edx, 0x3e8
call fcn.00528d88
test al, al
je 0x51381f
cmp byte [0x5474a0], 0
je 0x513808
mov al, byte [0x5169e4]
push eax
movsx eax, word [esi + 8]
push eax
movsx eax, word [esi + 0xa]
push eax
mov edx, dword [esi + 4]
sub edx, 0x3e8
mov eax, dword [ebx + 0x48]
call fcn.00521bd8
mov edx, dword [esi + 4]
sub edx, 0x3e8
xor ecx, ecx
call fcn.00521d78
mov byte [0x5474a0], 0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00517c34
jmp 0x51396e
mov eax, dword [esi + 4]
mov ecx, 0x8cf
mov edx, 0x7d0
call fcn.00528d88
test al, al
je 0x51388d
cmp byte [0x5474a0], 0
je 0x513875
cmp dword [ebx + 0xac], 0
je 0x513875
movsx eax, word [esi + 8]
push eax
movsx eax, word [esi + 0xa]
push eax
mov edx, dword [esi + 4]
sub edx, 0x7d0
mov eax, dword [ebx + 0xac]
mov eax, dword [eax + 0x38]
call fcn.0049e73c
mov cl, byte [0x5169e4]
xor edx, edx
call fcn.0049e0e0
mov byte [0x5474a0], 0
mov edx, dword [esi + 4]
mov cl, 1
mov eax, ebx
call fcn.00517c34
jmp 0x51396e
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x5138f9
mov eax, dword [0x547998]
cmp dword [eax], 0
je 0x5138e9
lea edx, [esp + 0x74]
mov eax, ebx
call fcn.0051aec8
mov esi, dword [esp + 0x74]
lea eax, [esp + 0x7c]
call fcn.004eda34
add esi, dword [esp + 0x7c]
push esi
lea eax, [esp + 0xa8]
call fcn.004eda34
mov ecx, dword [esp + 0xac]
mov eax, ebx
pop edx
call fcn.0051afd4
jmp 0x51396e
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp 0x51396e
cmp byte [ebx + 0x54], 1
jne 0x513960
mov eax, dword [ebx + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x513960
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22b], 2
je 0x513960
cmp byte [0x547488], 0
je 0x513960
lea ecx, [esp + 0x74]
movsx edx, word [esi + 0xa]
movsx eax, word [esi + 8]
call fcn.00406964
lea edx, [esp + 0x74]
lea ecx, [esp + 8]
mov eax, dword [ebx + 0x24c]
call fcn.00446a90
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov eax, ebx
call fcn.0051c2a4
call sub.user32.dll_ReleaseCapture
jmp 0x51396e
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov byte [0x5474a0], 0
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
xor eax, eax
mov dword [esi + 0xc], eax
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
cmp dword [ebx + 0x224], 0
je 0x5139b9
lea eax, [ebx + 0x224]
call fcn.0040e1c0
mov eax, dword [ebx + 0x50]
call fcn.00539994
push eax
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
mov edx, 3
pop ecx
call fcn.004f1494
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x2f4], 1
jne 0x513a3f
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x57], 0
je 0x513a3f
mov eax, ebx
call fcn.0050bc80
test al, al
jne 0x513a3f
mov eax, dword [ebx + 0x50]
mov ax, word [eax + 0x52]
and ax, 0x800
cmp ax, 0x800
je 0x513a2c
mov dword [ebx + 0x250], 0xffffffff
mov byte [ebx + 0x232], 1
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
test byte [ebx + 0x1c], 1
jne case.0x51020a.0
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x2f4], 1
jne case.0x51020a.0
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x1c], 8
jne case.0x51020a.0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
xor ecx, ecx
mov dl, 1
call fcn.0050bbcc
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
jne 0x513afb
mov eax, dword [0x547998]
cmp dword [eax], 0
je 0x513afb
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00460e94
test eax, eax
je 0x513afb
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00460e94
cmp byte [eax + 0x22b], 2
jne 0x513afb
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00460e94
cmp eax, dword [ebx + 0x24c]
jne case.0x51020a.0
cmp byte [ebx + 0xb9], 0
jne 0x513b16
mov eax, ebx
call fcn.0051bd04
test al, al
je 0x513b16
mov byte [ebx + 0xb9], 1
mov eax, dword [esi + 8]
and eax, 8
cmp eax, 8
jne 0x513b39
mov eax, dword [esi + 8]
push eax
mov ecx, dword [esi + 4]
mov edx, 0x14
mov eax, ebx
call fcn.0051ef14
jmp case.0x51020a.0
mov ebp, dword [esi + 4]
mov eax, dword [ebx + 0x50]
mov dword [eax + 0x58], ebp
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x1c], 0
cmp dword [ebx + 0x268], 0
je 0x513c44
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x39], 0
je 0x513b66
mov eax, ebx
call fcn.005193f8
push 0xcc0020
push 0
push 0
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x44]
call fcn.004284c4
call fcn.00423b38
push eax
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
mov eax, dword [ebx + 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, ebx
call fcn.0051b4d8
push eax
mov eax, ebx
call fcn.0051b440
mov edx, eax
mov eax, ebp
pop ecx
call fcn.004458b4
lea eax, [esp + 0x24]
push eax
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_GetClientRect
lea eax, [esp + 0x24]
xor edx, edx
call fcn.00528ec4
push eax
lea eax, [esp + 0x28]
xor edx, edx
call fcn.00528eb0
push eax
push 0
push 0
push ebp
call sub.gdi32.dll_IntersectClipRect
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 2
je 0x513e6f
lea ecx, [esp + 0x74]
xor edx, edx
xor eax, eax
call fcn.00406964
lea eax, [esp + 0x74]
push eax
push 0
mov eax, dword [ebx + 0x22c]
and eax, 0x200
cmp eax, 0x200
sete al
xor al, 1
push eax
mov cl, 1
mov edx, dword [ebx + 0x24c]
mov eax, ebp
call fcn.004f0f1c
jmp 0x513e6f
cmp byte [ebx + 0x78], 0
je 0x513d87
mov eax, ebx
call fcn.0050c950
test al, al
jne 0x513d7e
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
call fcn.0050c4f8
test al, al
je 0x513d7e
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x39], 0
je 0x513c85
mov eax, ebx
call fcn.005193f8
mov eax, dword [ebx + 0x24c]
mov edi, dword [eax + 0x16c]
add edi, 3
push 0xcc0020
push 0
push 0
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x44]
call fcn.004284c4
call fcn.00423b38
push eax
push edi
mov eax, dword [ebx + 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 [ebx + 0x50]
mov eax, dword [eax + 0x44]
call fcn.004284c4
call fcn.00423b38
push eax
mov eax, dword [ebx + 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 [ebx + 0x24c]
mov eax, dword [eax + 0x4c]
sub eax, edi
push eax
push edi
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x44]
call fcn.004284c4
call fcn.00423b38
push eax
push edi
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x48]
sub eax, edi
push eax
mov eax, dword [ebx + 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 [ebx + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x2c]
sub eax, edi
push eax
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x44]
call fcn.004284c4
call fcn.00423b38
push eax
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
push edi
push edi
mov eax, dword [ebx + 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 0x513d87
mov edx, ebp
mov eax, ebx
call fcn.005173dc
mov eax, ebx
call fcn.0051b4d8
push eax
mov eax, ebx
call fcn.0051b440
mov edx, eax
mov eax, ebp
pop ecx
call fcn.004458b4
lea eax, [esp + 0x24]
push eax
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_GetClientRect
lea eax, [esp + 0x24]
xor edx, edx
call fcn.00528ec4
push eax
lea eax, [esp + 0x28]
xor edx, edx
call fcn.00528eb0
push eax
push 0
push 0
push ebp
call sub.gdi32.dll_IntersectClipRect
mov eax, dword [ebx + 0x50]
mov ax, word [eax + 0x52]
and ax, 1
cmp ax, 1
je 0x513df6
mov cl, 1
mov edx, ebp
mov eax, ebx
call fcn.005176b4
jmp 0x513e6f
push ebp
call sub.gdi32.dll_SaveDC
mov dword [esp], eax
push 0
push 0
xor ecx, ecx
mov edx, dword [ebx + 0x24c]
mov eax, ebp
call fcn.004f7674
mov cl, 1
mov edx, ebp
mov eax, ebx
call fcn.005176b4
mov eax, dword [esp]
push eax
push ebp
call sub.gdi32.dll_RestoreDC
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 2
je 0x513e6f
lea ecx, [esp + 0x74]
xor edx, edx
xor eax, eax
call fcn.00406964
lea eax, [esp + 0x74]
push eax
push 0
mov eax, dword [ebx + 0x22c]
and eax, 0x200
cmp eax, 0x200
sete al
xor al, 1
push eax
mov cl, 1
mov edx, dword [ebx + 0x24c]
mov eax, ebp
call fcn.004f0f1c
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 2
jne 0x513e98
push 0
push ebp
push 0x317
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x254]
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebx + 0x50]
xor edx, edx
mov dword [eax + 0x58], edx
mov eax, dword [ebx + 0x24c]
cmp word [eax + 0x2ba], 0
je case.0x51020a.0
mov eax, dword [ebx + 0x24c]
call fcn.0046107c
mov edx, ebp
call fcn.00423bb8
mov esi, dword [ebx + 0x24c]
mov edx, dword [ebx + 0x24c]
mov eax, dword [esi + 0x2bc]
call dword [esi + 0x2b8]
mov eax, dword [ebx + 0x24c]
call fcn.0046107c
xor edx, edx
call fcn.00423bb8
jmp case.0x51020a.0
xor eax, eax
mov dword [esi + 0xc], eax
jmp case.0x51020a.0
cmp dword [ebx + 0x254], 0
jne 0x513f0f
mov eax, ebx
call fcn.0051cd98
cmp byte [ebx + 0x78], 0
je 0x513f76
mov eax, dword [ebx + 0x50]
mov ax, word [eax + 0x52]
and ax, 0x800
cmp ax, 0x800
je case.0x51020a.0
mov eax, dword [ebx + 0x50]
mov ax, word [eax + 0x52]
and ax, 0x400
cmp ax, 0x400
je case.0x51020a.0
mov eax, ebx
call fcn.0050b850
test al, al
je 0x513f60
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x248]
cmp dword [eax + 0x38], 0
je case.0x51020a.0
mov eax, dword [ebx + 0x22c]
and eax, 0x200
cmp eax, 0x200
je case.0x51020a.0
cmp byte [ebx + 0x21c], 0
je 0x513f8d
mov byte [ebx + 0x21c], 0
mov eax, ebx
call fcn.0051ed14
mov eax, dword [ebx + 0x24c]
cmp dword [eax + 0x30], 0
je 0x513fb4
mov eax, dword [ebx + 0x50]
call fcn.005399a8
mov edx, dword [ebx + 0x50]
mov byte [edx + 0x1c], al
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x1c], 0
jne case.0x51020a.0
cmp byte [ebx + 0x78], 0
je 0x51407e
mov eax, dword [0x547600]
cmp byte [eax], 0
je 0x513fdb
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
je 0x51407e
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x513ff7
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
cmp byte [ebx + 0x223], 0
jne case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x1a6], 0
je case.0x51020a.0
test byte [ebx + 0x1c], 1
jne case.0x51020a.0
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x55], 2
jne case.0x51020a.0
cmp dword [ebx + 0x254], 0
je case.0x51020a.0
cmp dword [ebx + 0x228], 0
jne 0x51404e
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x30]
mov eax, dword [ebx + 0x50]
cmp dword [eax + 0x44], 0
jne 0x51406d
mov eax, dword [ebx + 0x50]
call fcn.00539994
call fcn.00536ef8
mov edx, eax
mov eax, ebx
call fcn.0051e7c4
mov eax, ebx
call fcn.0051d80c
xor eax, eax
mov dword [esi + 0xc], eax
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x1a6], 0
je 0x5143fe
cmp byte [ebx + 0xa6], 0
je 0x5143fe
mov eax, dword [ebx + 0x50]
mov ax, word [eax + 0x52]
and ax, 0x800
cmp ax, 0x800
je case.0x51020a.0
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x1c], 0
jne case.0x51020a.0
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x54], 0x80
jne 0x514345
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x514345
mov eax, dword [ebx + 0x50]
call fcn.00537dc8
test al, al
je 0x514139
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 2
jne 0x514271
mov eax, dword [ebx + 0x24c]
call fcn.00460e94
test eax, eax
je 0x514271
mov eax, dword [ebx + 0x24c]
call fcn.00460e94
cmp byte [eax + 0x22b], 2
jne 0x514271
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
jne 0x514235
mov eax, dword [ebx + 0x50]
cmp dword [eax + 0x44], 0
je 0x514235
mov eax, dword [0x547998]
cmp dword [eax], 0
je 0x514235
lea eax, [esp + 0x24]
push eax
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_GetClientRect
lea edx, [esp + 0x84]
mov eax, dword [ebx + 0x24c]
call fcn.00446918
lea edx, [esp + 0x84]
lea eax, [esp + 0x24]
call fcn.0040696c
test al, al
je 0x514235
lea edx, [esp + 0x84]
mov eax, dword [ebx + 0x24c]
call fcn.00446918
lea edx, [esp + 0x8c]
lea eax, [esp + 0x24]
call fcn.0040696c
test al, al
je 0x514235
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
mov cl, 1
mov edx, dword [ebx + 0x268]
call fcn.0050b900
mov edi, eax
mov dl, 1
mov eax, ebx
call fcn.0050d480
add edi, eax
mov eax, ebx
call fcn.0051b5cc
mov ebp, eax
mov eax, ebx
call fcn.0051bce8
imul ebp, eax
add edi, ebp
inc edi
push edi
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x20]
pop edx
call fcn.0042a6d8
mov edx, eax
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
mov edx, dword [esi + 4]
mov eax, ebx
call fcn.0051d608
cmp byte [0x5474a4], 0
je 0x5143f2
mov byte [0x5474a4], 0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
jne 0x5143f2
mov dword [0x5474a8], ebx
jmp 0x5143f2
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x1c], 0
jne 0x5143f2
mov eax, dword [ebx + 0x50]
cmp dword [eax + 0x44], 0
je 0x514335
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x39], 0
jne 0x514335
mov eax, dword [ebx + 0x24c]
call fcn.004469c0
push eax
lea eax, [esp + 0x88]
push eax
mov eax, dword [ebx + 0x24c]
call fcn.0044697c
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.00406948
lea eax, [esp + 0x84]
push eax
mov eax, dword [esi + 4]
push eax
push 0
push 0
push 0
mov eax, ebx
call fcn.0051b4d8
mov edi, eax
mov eax, dword [ebx + 0x24c]
call fcn.004469c0
add edi, eax
push edi
lea eax, [esp + 0xac]
push eax
mov eax, ebx
call fcn.0051b440
mov edi, eax
mov eax, dword [ebx + 0x24c]
call fcn.0044697c
add edi, eax
push edi
mov eax, ebx
call fcn.0051b4d8
push eax
mov eax, ebx
call fcn.0051b440
pop edx
pop ecx
call fcn.00406948
lea ecx, [esp + 0xa8]
mov edx, dword [ebx + 0x50]
mov eax, dword [ebx + 0x24c]
call fcn.0053b110
mov eax, dword [ebx + 0x24c]
call fcn.004f0d00
jmp 0x5143f2
cmp dword [esi + 4], 0
je 0x5143f2
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x39], 0
jne 0x5143f2
mov eax, dword [ebx + 0x50]
call fcn.00537dc8
test al, al
je 0x5143b1
push 0xcc0020
mov eax, ebx
call fcn.0051b4d8
push eax
mov eax, ebx
call fcn.0051b440
push eax
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x44]
call fcn.004284c4
call fcn.00423b38
push eax
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x4c]
push eax
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x48]
push eax
push 0
push 0
mov eax, dword [esi + 4]
push eax
call sub.gdi32.dll_BitBlt
jmp 0x5143f2
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x50]
call fcn.005386c0
push eax
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x4c]
push eax
lea eax, [esp + 0x8c]
push eax
mov eax, dword [ebx + 0x24c]
mov ecx, dword [eax + 0x48]
xor edx, edx
xor eax, eax
call fcn.00406948
lea edx, [esp + 0x88]
mov eax, dword [esi + 4]
pop ecx
call fcn.004f73d8
mov dword [esi + 0xc], 1
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
cmp byte [ebx + 0xa6], 0
je 0x5145d4
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x54], 0x80
jne case.0x51020a.0
cmp dword [ebx + 0x268], 0
je 0x514475
mov eax, ebx
call fcn.0050bc80
test al, al
jne 0x514475
mov eax, dword [ebx + 0x268]
cmp dword [eax + 0x18], 0
je 0x514466
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044d778
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x514475
mov cl, 0xff
xor edx, edx
mov eax, dword [ebx + 0x268]
call fcn.0052512c
mov eax, dword [ebx + 0x50]
call fcn.00537dc8
test al, al
je 0x51452d
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x1a6], 0
je 0x51451d
mov edx, esi
mov eax, ebx
call fcn.0051dfac
cmp byte [0x5474a4], 0
je 0x5144b1
mov byte [0x5474a4], 0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 2
jne 0x514516
cmp dword [esi + 4], 0
jne 0x5144d9
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_GetDC
mov ebp, eax
lea ecx, [esp + 0x74]
xor edx, edx
xor eax, eax
call fcn.00406964
lea eax, [esp + 0x74]
push eax
push 0
push 1
mov cl, 1
mov edx, dword [ebx + 0x24c]
mov eax, ebp
call fcn.004f0f1c
cmp dword [esi + 4], 0
jne 0x514516
push ebp
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_ReleaseDC
xor eax, eax
mov dword [esi + 0xc], eax
jmp 0x514598
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp 0x514598
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x1a6], 0
je 0x51458a
test byte [ebx + 0x1c], 8
jne 0x514557
push 0xffffffffffffffff
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_InvalidateRect
lea eax, [esp + 0x34]
push eax
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_BeginPaint
lea eax, [esp + 0x34]
push eax
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_EndPaint
xor eax, eax
mov dword [esi + 0xc], eax
jmp 0x514598
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
cmp byte [ebx + 0x78], 0
jne case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp dword [eax + 0x248], 0
je case.0x51020a.0
push 0
push 0
push 0x85
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [0x547928]
cmp dword [eax], 0
je case.0x51020a.0
mov eax, dword [ebx + 0x24c]
call fcn.0044da7c
test al, al
je case.0x51020a.0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
call fcn.0050d580
jmp case.0x51020a.0
test byte [ebx + 0x1c], 8
jne 0x514c87
cmp byte [ebx + 0x78], 0
je 0x514c87
mov eax, dword [ebx + 0x24c]
call fcn.0044da7c
test al, al
je 0x514c87
cmp dword [ebx + 0x254], 0
jne 0x514662
mov eax, ebx
call fcn.0051cd98
or dword [ebx + 0x22c], 0x8000
mov eax, dword [ebx + 0x22c]
and eax, 0x80
cmp eax, 0x80
je 0x51468b
cmp dword [esi + 4], 1
sbb eax, eax
inc eax
mov byte [ebx + 0x244], al
cmp byte [ebx + 0x244], 0
jne 0x5146a9
cmp byte [ebx + 0x221], 3
jne 0x5146a9
mov byte [ebx + 0x221], 0
jmp 0x51475a
cmp byte [ebx + 0x221], 3
je 0x514748
mov eax, dword [ebx + 0x50]
cmp dword [eax + 0x28], 0
jl 0x514735
mov eax, dword [ebx + 0x50]
cmp dword [eax + 0x24], 0
jl 0x514710
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0xc8]
mov edx, dword [ebx + 0x50]
mov edx, dword [edx + 0x24]
mov ecx, edx
shl edx, 3
sub edx, ecx
cmp word [eax + edx*8 + 0x1c], 1
jg 0x514707
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0xd0]
mov edx, dword [ebx + 0x50]
imul edx, dword [edx + 0x28], 0x43
cmp dword [eax + edx*4 + 8], 1
jle 0x51473c
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
jmp 0x51473c
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0xd0]
mov edx, dword [ebx + 0x50]
imul edx, dword [edx + 0x28], 0x43
cmp dword [eax + edx*4 + 8], 1
jle 0x51473c
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
jmp 0x51473c
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
xor edx, edx
mov eax, dword [ebx + 0x50]
call fcn.00539f24
jmp 0x51475a
cmp dword [ebx + 0x268], 0
sete dl
mov eax, dword [ebx + 0x50]
call fcn.00539f24
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x1a6], 0
je 0x5149e5
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5149e5
cmp word [esi + 4], 0
setne al
cmp al, byte [ebx + 0x244]
je 0x51479d
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
call fcn.0050bb38
test al, al
je 0x5148a7
cmp dword [ebx + 0x268], 0
jne 0x5147cf
push 0
push 0
push 0xb
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
jmp 0x5148ff
mov eax, dword [ebx + 0x50]
cmp dword [eax + 0x44], 0
je 0x5148ff
mov eax, ebx
call fcn.0051b5cc
test eax, eax
jle 0x5148ff
mov eax, dword [ebx + 0x268]
cmp dword [eax + 0x18], 0
jne 0x514802
mov eax, dword [ebx + 0x268]
call fcn.005262fc
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x268]
call fcn.00526194
push eax
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowRgn
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x2e0], 0
je 0x514862
push 0
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044d778
mov edx, dword [ebx + 0x24c]
xor ecx, ecx
mov cl, byte [edx + 0x2e1]
mov edx, dword [ebx + 0x50]
mov edx, dword [edx + 0x44]
call fcn.0050a82c
jmp 0x514882
push 0
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044d778
mov edx, dword [ebx + 0x50]
mov edx, dword [edx + 0x44]
mov ecx, 0xff
call fcn.0050a82c
push 0x613
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5148ff
cmp byte [ebx + 0x223], 0
jne 0x5148b9
cmp byte [ebx + 0x21c], 0
je 0x5148d2
push 0
push 0
push 0xb
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
jmp 0x5148ff
cmp dword [ebx + 0x268], 0
je 0x5148e6
mov eax, ebx
call fcn.0050b850
test al, al
je 0x5148ff
mov eax, dword [ebx + 0x24c]
cmp word [eax + 0x2ba], 0
jne 0x5148ff
xor edx, edx
mov eax, ebx
call fcn.0050c020
cmp dword [ebx + 0x268], 0
je 0x514923
cmp byte [ebx + 0x223], 0
jne 0x514923
call fcn.0050bb38
test al, al
jne 0x514923
xor edx, edx
mov eax, ebx
call fcn.0050c510
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
call fcn.0050bb38
test al, al
je 0x51497a
cmp dword [ebx + 0x268], 0
jne 0x5149f3
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
push 0x181
push 0
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_RedrawWindow
jmp 0x5149f3
cmp byte [ebx + 0x223], 0
jne 0x51498c
cmp byte [ebx + 0x21c], 0
je 0x5149a5
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
jmp 0x5149c0
cmp dword [ebx + 0x268], 0
je 0x5149b9
mov eax, ebx
call fcn.0050b850
test al, al
je 0x5149c0
mov eax, ebx
call fcn.0050c334
cmp byte [ebx + 0x21c], 0
je 0x5149f3
push 0x85
push 0
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_RedrawWindow
jmp 0x5149f3
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
cmp dword [ebx + 0x24c], 0
je 0x514adb
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x57], 0
je 0x514adb
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
jne 0x514adb
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x2f4], 0x10
je 0x514adb
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x2f4], 4
je 0x514adb
mov eax, dword [0x547998]
cmp dword [eax], 0
je 0x514adb
mov eax, dword [0x547998]
mov eax, dword [eax]
cmp dword [eax + 0x240], 0
je 0x514adb
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x39], 1
mov eax, dword [0x547998]
mov eax, dword [eax]
mov dword [eax + 0x250], 0xffffffff
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x240]
call fcn.004afdf8
push 0
push 0
push 0x85
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
push 0
push 0
push 0x85
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
mov eax, dword [eax + 0x254]
push eax
call sub.user32.dll_SendMessageA
push 0xffffffffffffffec
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0x80000
cmp eax, 0x80000
jne 0x514b13
cmp dword [ebx + 0x218], 0
jne 0x514b13
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, ebx
call fcn.0051ef14
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x54], 0x40
jne case.0x51020a.0
mov eax, ebx
call fcn.0050c950
test al, al
je 0x514bc9
mov eax, dword [ebx + 0x22c]
and eax, 0x80
cmp eax, 0x80
je 0x514bc9
mov eax, ebx
call fcn.0051bc7c
test al, al
je 0x514ba1
cmp word [esi + 4], 0
jne 0x514b6e
mov eax, dword [ebx + 0x24c]
call fcn.00460e94
cmp byte [eax + 0x22e], 0
je 0x514bc9
cmp word [esi + 4], 0
jne 0x514b8d
mov eax, dword [ebx + 0x24c]
call fcn.00460e94
cmp byte [eax + 0x22e], 0
jne 0x514b8d
xor eax, eax
jmp 0x514b8f
mov al, 1
mov byte [ebx + 0x244], al
mov dword [ebx + 0x250], 0xffffffff
jmp 0x514bc9
cmp word [esi + 4], 0
setne al
cmp al, byte [ebx + 0x244]
je 0x514bc9
cmp word [esi + 4], 0
setne al
mov byte [ebx + 0x244], al
mov dword [ebx + 0x250], 0xffffffff
and dword [ebx + 0x22c], 0xffff7fff
cmp dword [ebx + 0x218], 0
je 0x514be8
mov eax, dword [ebx + 0x218]
cmp byte [eax + 0x30], 0
jne 0x514c55
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, ebx
call fcn.0051ef14
cmp dword [ebx + 0x268], 0
je 0x514c55
mov eax, dword [ebx + 0x24c]
mov al, byte [eax + 0x22b]
sub al, 1
jb 0x514c46
dec al
jne 0x514c55
mov eax, dword [0x547588]
cmp byte [eax], 0
je 0x514c35
lea eax, [ebx + 0x268]
call fcn.0040e1c0
xor edx, edx
mov eax, ebx
call fcn.0050c510
jmp 0x514c55
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x268]
call fcn.0052512c
jmp 0x514c55
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x268]
call fcn.0052512c
mov eax, ebx
call fcn.0051cd1c
xor edx, edx
mov eax, dword [ebx + 0x50]
call fcn.00539f28
test al, al
je case.0x51020a.0
cmp dword [ebx + 0x228], 0
jne case.0x51020a.0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x30]
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [0x5478c4]
cmp dword [eax], 0
je 0x514ccb
mov eax, dword [0x5478c4]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
je 0x514ccb
mov eax, dword [0x5478c4]
mov eax, dword [eax]
call fcn.004637b0
cmp dword [esi + 4], 1
jne case.0x51020a.0
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je case.0x51020a.0
mov eax, dword [ebx + 0x22c]
and eax, 0x100
cmp eax, 0x100
je case.0x51020a.0
cmp dword [ebx + 0x268], 0
je 0x514d20
mov cl, 0xff
xor edx, edx
mov eax, dword [ebx + 0x268]
call fcn.0052512c
jmp case.0x51020a.0
mov eax, dword [0x5478fc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x24c]
jne case.0x51020a.0
cmp dword [esi + 4], 1
jne case.0x51020a.0
mov eax, dword [0x5478fc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp byte [eax + 0x22b], 1
jne case.0x51020a.0
cmp dword [ebx + 0x218], 0
je 0x514d73
mov eax, dword [ebx + 0x218]
cmp byte [eax + 0xec], 0
jne case.0x51020a.0
mov eax, dword [0x5478fc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
xor edx, edx
call fcn.0046153c
push 0xffffffffffffffff
push 0
mov eax, dword [0x5478fc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
call fcn.0044d778
push eax
call sub.user32.dll_InvalidateRect
push 0x585
push 0
push 0
mov eax, dword [0x5478fc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
call fcn.0044d778
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
jne 0x514e9c
mov eax, dword [0x547998]
cmp dword [eax], 0
je 0x514e9c
mov eax, dword [0x547998]
mov eax, dword [eax]
test byte [eax + 0x1c], 8
jne 0x514e9c
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22b], 2
je 0x514e66
mov byte [ebx + 0xb9], 0
mov eax, dword [0x547998]
mov eax, dword [eax]
mov byte [eax + 0x232], 1
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x39], 1
mov eax, dword [0x547998]
mov eax, dword [eax]
mov dword [eax + 0x250], 0xffffffff
push 0
push 0
push 0x85
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
jmp 0x514e9c
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x39], 1
push 0
push 0
push 0x85
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
mov al, 1
call fcn.0050f674
mov dword [0x5474a8], ebx
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x1a6], 0
je 0x514f65
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
cmp dword [ebx + 0x224], 0
jne 0x514ee6
cmp byte [ebx + 0x78], 0
je 0x514ee6
lea edx, [ebx + 0x224]
xor ecx, ecx
mov eax, ebx
call fcn.0050c84c
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x54], 0x40
jne case.0x51020a.0
mov dword [ebx + 0x250], 0xffffffff
cmp word [esi + 4], 1
jne case.0x51020a.0
mov eax, dword [ebx + 0x50]
call fcn.00539994
test byte [eax + 0x1c], 0x10
jne 0x514f2c
xor edx, edx
mov eax, dword [ebx + 0x50]
call fcn.00539f28
mov edx, eax
mov eax, ebx
call fcn.0051c128
cmp dword [ebx + 0x254], 0
je 0x514f42
xor edx, edx
mov eax, dword [ebx + 0x254]
call fcn.0052170c
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x229], 0
jne case.0x51020a.0
mov eax, dword [ebx + 0x24c]
call fcn.004f0d00
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
cmp byte [ebx + 0x21c], 0
je 0x514fab
cmp dword [esi + 4], 1
jne 0x514fab
mov byte [ebx + 0x21c], 0
mov eax, ebx
call fcn.0051ed14
mov eax, dword [ebx + 0x50]
call fcn.00539994
call fcn.00536ef8
mov edx, eax
mov eax, ebx
call fcn.0051e7c4
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
cmp dword [esi + 4], 0
jne 0x515000
cmp dword [ebx + 0x50], 0
je 0x514ff4
mov eax, dword [ebx + 0x50]
cmp dword [eax + 0x44], 0
je 0x514ff4
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x1c], 8
jne 0x514ff4
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x44]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x44]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, ebx
call fcn.0051e9ec
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp dword [eax + 0x30], 0
je case.0x51020a.0
mov eax, dword [ebx + 0x24c]
call fcn.004f0d00
jmp case.0x51020a.0
cmp byte [ebx + 0x54], 1
jne 0x51506e
cmp byte [0x547488], 0
je 0x51506e
lea ecx, [esp + 0x74]
movsx edx, word [esi + 0xa]
movsx eax, word [esi + 8]
call fcn.00406964
lea edx, [esp + 0x74]
lea ecx, [esp + 8]
mov eax, dword [ebx + 0x24c]
call fcn.00446a90
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov eax, ebx
call fcn.0051c2a4
call sub.user32.dll_ReleaseCapture
mov byte [0x547488], 0
mov byte [0x54748c], 0
mov eax, dword [esi + 4]
sub eax, 2
je 0x5150a9
dec eax
jne 0x5151ae
mov eax, dword [ebx + 0x50]
call fcn.00539994
cmp byte [eax + 0x58], 0
jne 0x515099
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x1c], 1
mov eax, dword [ebx + 0x24c]
call fcn.004637b0
jmp case.0x51020a.0
mov eax, ebx
call fcn.0051bb10
test al, al
je 0x5150d2
mov eax, dword [ebx + 0x254]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
jne 0x5150f6
mov eax, dword [ebx + 0x254]
mov edx, dword [eax]
call dword [edx + 0x58]
test al, al
jne 0x5150f6
mov eax, ebx
call fcn.0050c950
test al, al
jne 0x515165
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x515165
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22b], 2
je 0x51511a
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x515139
push 0
push 0xf120
push 0x112
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
jmp 0x515156
push 0
push 0xf030
push 0x112
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
xor edx, edx
mov eax, dword [ebx + 0x254]
call fcn.0052170c
jmp 0x5151a4
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x5151a4
push 0
push 0xf120
push 0x112
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
xor edx, edx
mov eax, dword [ebx + 0x254]
call fcn.0052170c
xor eax, eax
mov dword [esi + 4], eax
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 2
jne 0x5151e0
mov eax, dword [0x547998]
cmp ebx, dword [eax]
jne 0x5151e0
mov eax, dword [0x547998]
mov dword [eax], ebx
mov eax, ebx
call fcn.0050b850
test al, al
je 0x515232
mov eax, dword [ebx + 0x50]
call fcn.00539994
test eax, eax
je 0x515232
mov eax, dword [esi + 8]
cmp dword [eax], 1
jne 0x515232
mov eax, dword [esi + 8]
mov edx, dword [eax + 8]
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x248]
xor ecx, ecx
call fcn.0045a5d0
mov edi, eax
test edi, edi
je 0x515232
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0x44]
mov cl, 1
mov edx, edi
call fcn.00507bf4
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
je 0x515460
mov ax, word [esi + 4]
sub ax, 0xf012
je 0x515281
sub ax, 0xe
je 0x5152f7
sub ax, 0x10
je 0x515294
sub ax, 0xf0
je 0x515358
jmp 0x515460
mov eax, dword [ebx + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x80]
jmp 0x515460
mov eax, dword [ebx + 0x24c]
cmp dword [eax + 0x30], 0
jne 0x515460
cmp dword [ebx + 0x218], 0
je 0x515460
mov eax, dword [ebx + 0x218]
cmp byte [eax + 0xec], 0
je 0x515460
call fcn.00528dc8
mov byte [esp + 0x12], al
xor eax, eax
call fcn.00528df8
mov eax, ebx
call fcn.0050ad64
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov al, byte [esp + 0x12]
call fcn.00528df8
jmp case.0x51020a.0
mov eax, dword [0x5478fc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x24c]
je 0x515460
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x515460
call fcn.00528dc8
mov byte [esp + 0x12], al
xor eax, eax
call fcn.00528df8
mov eax, ebx
call fcn.0050ab50
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov al, byte [esp + 0x12]
call fcn.00528df8
jmp case.0x51020a.0
mov eax, dword [ebx + 0x22c]
and eax, 0x200
cmp eax, 0x200
jne 0x5153b3
and dword [ebx + 0x22c], 0xfffffdff
cmp dword [ebx + 0x268], 0
je 0x515387
mov eax, dword [ebx + 0x268]
mov byte [eax + 0x28], 0
call fcn.00528dc8
mov byte [esp + 0x12], al
xor eax, eax
call fcn.00528df8
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov al, byte [esp + 0x12]
call fcn.00528df8
jmp case.0x51020a.0
mov eax, dword [0x5478fc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x24c]
je 0x515460
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x515411
call fcn.00528dc8
mov byte [esp + 0x12], al
xor eax, eax
call fcn.00528df8
mov eax, ebx
call fcn.0050ad64
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov al, byte [esp + 0x12]
call fcn.00528df8
jmp case.0x51020a.0
cmp dword [ebx + 0x268], 0
je 0x515426
mov eax, dword [ebx + 0x268]
cmp dword [eax + 0x18], 0
je 0x51543a
cmp dword [ebx + 0x268], 0
jne 0x515460
mov eax, ebx
call fcn.0050f8f4
test al, al
je 0x515460
cmp dword [ebx + 0x268], 0
je 0x51544e
lea eax, [ebx + 0x268]
call fcn.0040e1c0
mov dl, 1
mov eax, ebx
call fcn.0051e7c4
xor edx, edx
mov eax, ebx
call fcn.0050c510
cmp byte [ebx + 0x54], 1
jne 0x5154e3
mov eax, dword [ebx + 0x24c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x5154e3
cmp byte [0x547488], 0
jne 0x5154e3
mov eax, dword [esi + 4]
and eax, 0xfff0
cmp eax, 0xf010
jne 0x5154ae
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SetCapture
mov byte [0x547490], 1
mov byte [0x549190], 1
jmp 0x5154e3
mov eax, dword [esi + 4]
and eax, 0xfff0
cmp eax, 0xf000
jne 0x5154e3
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SetCapture
xor eax, eax
mov dword [0x5491b4], eax
mov byte [0x547490], 1
mov byte [0x549190], 0
mov eax, dword [ebx + 0x24c]
mov al, byte [eax + 0x22f]
dec al
je 0x515500
dec al
je 0x5158c1
jmp 0x515950
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22b], 2
jne 0x515527
cmp dword [esi + 4], 0xf030
je 0x515527
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22b], 0
jne 0x51552b
xor eax, eax
jmp 0x51552d
mov al, 1
mov byte [esp + 0x10], al
cmp byte [esp + 0x10], 0
je 0x515551
mov eax, dword [0x547998]
cmp dword [eax], 0
je 0x515551
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
call fcn.00539734
mov eax, dword [esi + 4]
and eax, 0xfff0
cmp eax, 0xf060
jg 0x51557b
je 0x515594
sub eax, 0xf020
je 0x51579a
sub eax, 0x10
je 0x5157d6
jmp 0x51588f
sub eax, 0xf100
je 0x51589d
sub eax, 0x20
je 0x51564a
jmp 0x51588f
mov eax, dword [0x547998]
cmp dword [eax], 0
je 0x51589d
mov eax, dword [0x547998]
cmp dword [eax], 0
je 0x5155ca
mov eax, dword [0x547998]
mov eax, dword [eax]
cmp dword [eax + 0x240], 0
je 0x5155ca
cmp byte [esp + 0x10], 0
je 0x5155ca
mov al, 1
call fcn.0050f674
mov eax, dword [0x547998]
mov eax, dword [eax]
mov byte [eax + 0x21f], 1
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x1c], 8
jne 0x515603
test byte [ebx + 0x1c], 8
jne 0x515603
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.00517c34
mov eax, dword [0x547998]
mov eax, dword [eax]
mov byte [eax + 0x21f], 0
mov eax, dword [0x547998]
cmp dword [eax], 0
je case.0x51020a.0
mov eax, dword [0x547998]
mov eax, dword [eax]
cmp dword [eax + 0x240], 0
je case.0x51020a.0
cmp byte [esp + 0x10], 0
je case.0x51020a.0
mov al, 1
call fcn.0050f674
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22b], 1
jne 0x51565e
mov byte [esp + 0x10], 1
cmp byte [0x5474a4], 0
jne case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
cmp byte [ebx + 0x78], 0
je 0x5156b2
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xfff7ffff
push eax
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowLongA
push 0x505
push 0
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [0x547998]
cmp dword [eax], 0
je 0x51577a
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00460ec8
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x51577a
inc ebp
xor edi, edi
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
mov edx, edi
call fcn.00460f14
cmp eax, dword [ebx + 0x24c]
je 0x515776
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
mov edx, edi
call fcn.00460f14
cmp byte [eax + 0x22b], 2
jne 0x51574e
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
mov edx, edi
call fcn.00460f14
xor edx, edx
call fcn.0046153c
push 0x506
push 0
push 0
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
mov edx, edi
call fcn.00460f14
call fcn.0044d778
push eax
call sub.user32.dll_RedrawWindow
inc edi
dec ebp
jne 0x5156fa
cmp byte [esp + 0x10], 0
je 0x515788
mov al, 1
call fcn.0050f674
mov dl, 1
mov eax, dword [ebx + 0x254]
call fcn.0052170c
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
cmp byte [esp + 0x10], 0
je 0x5157b6
mov al, 1
call fcn.0050f674
mov dl, 1
mov eax, dword [ebx + 0x254]
call fcn.0052170c
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
mov al, 1
call fcn.0050f674
jmp case.0x51020a.0
mov dword [0x5474a8], ebx
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xefffffff
push eax
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowLongA
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_GetWindowLongA
or eax, 0x10000000
push eax
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowLongA
push 0x506
push 0
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [0x547998]
cmp dword [eax], 0
je 0x51587d
mov eax, dword [0x547998]
mov eax, dword [eax]
cmp dword [eax + 0x240], 0
je 0x51587d
mov al, 1
call fcn.0050f674
mov dl, 1
mov eax, dword [ebx + 0x254]
call fcn.0052170c
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [0x547998]
cmp dword [eax], 0
je 0x515ba7
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
xor edx, edx
call fcn.00539900
jmp 0x515ba7
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [esi + 4]
sub eax, 0xf020
je 0x5158e9
sub eax, 0x10
je 0x5158e9
sub eax, 0xf0
jne 0x515ba7
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x39], 1
mov eax, dword [0x547998]
mov eax, dword [eax]
mov dword [eax + 0x250], 0xffffffff
push 0
push 0
push 0x85
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SendMessageA
cmp dword [esi + 4], 0xf030
jne 0x515ba7
cmp dword [ebx + 0x268], 0
je 0x515ba7
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x268]
call fcn.0052512c
jmp 0x515ba7
mov eax, dword [esi + 4]
sub eax, 0xf030
je 0x515961
sub eax, 0xf0
jne 0x515988
cmp dword [ebx + 0x268], 0
je 0x515988
mov eax, dword [0x547588]
cmp byte [eax], 0
jne 0x51597d
cmp dword [esi + 4], 0xf120
jne 0x515988
lea eax, [ebx + 0x268]
call fcn.0040e1c0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [esi + 4]
sub eax, 0xf030
je 0x515aca
sub eax, 0xd0
je 0x5159b9
sub eax, 0x20
je 0x515aca
jmp 0x515ba7
cmp word [esi + 8], 0x20
jne 0x515ba7
mov eax, ebx
call fcn.0051bb10
test al, al
je 0x515ba7
mov eax, ebx
call fcn.0050c950
test al, al
je 0x515ba7
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x515a62
lea edx, [esp + 0x74]
mov eax, ebx
call fcn.0051aec8
mov edi, dword [esp + 0x78]
mov dl, 1
mov eax, ebx
call fcn.0050d2c4
add edi, eax
lea eax, [ebx + 0x96]
xor edx, edx
call fcn.00528ec4
add edi, eax
sub edi, 0x10
push edi
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
mov cl, 1
mov edx, dword [ebx + 0x268]
call fcn.0050b8ac
mov edi, eax
lea edx, [esp + 0x80]
mov eax, ebx
call fcn.0051aec8
add edi, dword [esp + 0x80]
mov edx, edi
mov eax, ebx
pop ecx
call fcn.0051afd4
jmp 0x515ba7
lea edx, [esp + 0x74]
mov eax, ebx
call fcn.0051aec8
mov edi, dword [esp + 0x78]
mov dl, 1
mov eax, ebx
call fcn.0050d2c4
add edi, eax
lea eax, [ebx + 0x96]
xor edx, edx
call fcn.00528ec4
add edi, eax
push edi
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
mov cl, 1
mov edx, dword [ebx + 0x268]
call fcn.0050b8ac
mov edi, eax
lea edx, [esp + 0x80]
mov eax, ebx
call fcn.0051aec8
add edi, dword [esp + 0x80]
mov edx, edi
mov eax, ebx
pop ecx
call fcn.0051afd4
jmp 0x515ba7
mov eax, dword [ebx + 0x254]
mov edx, dword [eax]
call dword [edx + 0x48]
test al, al
je 0x515ae0
mov dword [ebx + 0x38], 9
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00517c34
cmp dword [esi + 4], 0xf120
jne 0x515ba7
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 1
mov byte [ebx + 0xba], 1
mov eax, ebx
call fcn.0050c950
test al, al
jne 0x515b28
push 0xffffffffffffffff
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowRgn
jmp 0x515ba7
mov eax, dword [ebx + 0x50]
call fcn.00539994
test eax, eax
je 0x515b8d
mov eax, dword [ebx + 0x50]
call fcn.00539994
call fcn.00536ef8
test al, al
je 0x515b8d
cmp byte [ebx + 0x79], 0
je 0x515b8d
cmp byte [ebx + 0x78], 0
je 0x515b8d
mov eax, dword [ebx + 0x24c]
cmp dword [eax + 0x30], 0
jne 0x515b8d
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
je 0x515b8d
mov dl, 1
mov eax, ebx
call fcn.0051e7c4
cmp dword [ebx + 0x268], 0
je 0x515b8d
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x268]
call fcn.0052512c
push 0x481
push 0
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_RedrawWindow
mov ax, word [esi + 4]
sub ax, 0xf020
jne case.0x51020a.0
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x515bd0
mov byte [ebx + 0x223], 0
cmp dword [ebx + 0x268], 0
je case.0x51020a.0
mov eax, dword [ebx + 0x268]
cmp dword [eax + 0x18], 0
je case.0x51020a.0
mov eax, dword [ebx + 0x22c]
and eax, 0x100
cmp eax, 0x100
je case.0x51020a.0
mov eax, dword [ebx + 0x268]
mov byte [eax + 0x28], 1
mov eax, dword [ebx + 0x268]
add eax, 0x18
call fcn.0040e1c0
mov eax, dword [ebx + 0x268]
mov byte [eax + 0x28], 0
jmp case.0x51020a.0
cmp byte [ebx + 0x230], 0
jne 0x5161d9
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x1c], 1
jne 0x5161d9
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsZoomed
test eax, eax
jne 0x515e78
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 2
cmp eax, 2
je 0x515e78
mov eax, dword [esi + 8]
cmp dword [eax + 8], 0
jne 0x515c88
mov eax, dword [esi + 8]
cmp dword [eax + 0xc], 0
je 0x515e78
mov ebp, dword [esi + 8]
mov eax, dword [0x547588]
cmp byte [eax], 0
je 0x515cd6
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22b], 0
jne 0x515cd6
cmp dword [ebx + 0x268], 0
jne 0x515cd6
mov eax, ebx
call fcn.0050f8f4
test al, al
je 0x515cd6
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x515cd6
mov dl, 1
mov eax, ebx
call fcn.0051e7c4
cmp byte [ebx + 0x56], 0
je 0x515dd3
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x1a6], 0
je 0x515dd3
lea edx, [esp + 0x24]
mov eax, dword [ebx + 0x24c]
call fcn.0050f894
cmp dword [ebx + 0x268], 0
je 0x515d34
mov eax, dword [ebx + 0x268]
call fcn.0050ba14
mov edi, eax
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x34]
call fcn.00539994
mov eax, dword [eax + 0xc4]
movsx eax, word [eax + 0x32]
add edi, eax
jmp 0x515d36
xor edi, edi
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x48]
add eax, edi
push eax
lea eax, [ebp + 8]
mov ecx, dword [ebx + 0x58]
mov edx, dword [esp + 0x30]
call fcn.0050f7d8
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x4c]
add eax, edi
push eax
lea eax, [ebp + 0xc]
mov ecx, dword [ebx + 0x58]
mov edx, dword [esp + 0x34]
call fcn.0050f7d8
neg edi
push edi
lea eax, [ebp + 8]
mov ecx, dword [ebx + 0x58]
mov edx, dword [esp + 0x28]
call fcn.0050f7d8
cmp dword [ebx + 0x268], 0
je 0x515dc2
mov eax, dword [ebx + 0x268]
call fcn.0050b9d8
mov edi, eax
neg edi
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x34]
call fcn.00539994
mov eax, dword [eax + 0xc4]
movsx eax, word [eax + 0x32]
sub edi, eax
push edi
lea eax, [ebp + 0xc]
mov ecx, dword [ebx + 0x58]
mov edx, dword [esp + 0x2c]
call fcn.0050f7d8
jmp 0x515dd3
push 0
lea eax, [ebp + 0xc]
mov ecx, dword [ebx + 0x58]
mov edx, dword [esp + 0x2c]
call fcn.0050f7d8
test byte [ebx + 0x22d], 0x60
je 0x515e78
push esi
lea esi, [ebx + 0xd0]
lea edi, [esp + 0x28]
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 [ebx + 0x22c]
and eax, 0x2000
cmp eax, 0x2000
jne 0x515e52
mov eax, dword [ebx + 0x24c]
mov eax, dword [eax + 0x44]
mov edx, dword [esi + 8]
cmp eax, dword [edx + 0xc]
jne 0x515e36
mov eax, dword [esi + 8]
mov edx, dword [ebx + 0xd4]
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 0x24c]
mov edx, dword [ebx + 0xd4]
sub edx, dword [eax + 0x44]
mov eax, dword [esi + 8]
sub dword [eax + 0x14], edx
jmp 0x515e48
mov eax, dword [ebx + 0xd4]
add eax, dword [ebx + 0xdc]
mov edx, dword [esi + 8]
mov dword [edx + 0x14], eax
and dword [ebx + 0x22c], 0xffffdfff
mov eax, dword [ebx + 0x22c]
and eax, 0x4000
cmp eax, 0x4000
jne 0x515e6e
and dword [ebx + 0x22c], 0xffffbfff
xor eax, eax
mov dword [esi + 0xc], eax
jmp case.0x51020a.0
mov eax, dword [ebx + 0x50]
call fcn.00539994
test eax, eax
je 0x5161d9
call fcn.004f3704
test al, al
je 0x5161d9
cmp byte [ebx + 0x78], 0
je 0x5161d9
cmp byte [ebx + 0x222], 0
jne 0x5161d9
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 0x80
cmp eax, 0x80
je 0x515ece
mov eax, dword [esi + 8]
cmp dword [eax + 8], 0xffff8300
jne 0x51608d
mov eax, dword [ebx + 0x50]
cmp dword [eax + 0x44], 0
je 0x51608d
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne 0x516043
mov eax, dword [ebx + 0x50]
call fcn.00539994
cmp byte [eax + 0xc0], 2
je 0x5161d9
cmp byte [ebx + 0x95], 0
je 0x5161d9
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x5161d9
mov eax, dword [ebx + 0x22c]
and eax, 0x200
cmp eax, 0x200
je 0x5161d9
mov eax, dword [ebx + 0x24c]
cmp dword [eax + 0x30], 0
jne 0x5161d9
or dword [ebx + 0x22c], 0x200
mov dl, 1
mov eax, ebx
call fcn.0050b63c
mov edx, dword [ebx + 0x50]
mov dword [edx + 0x44], eax
cmp dword [ebx + 0x268], 0
je 0x516028
mov eax, dword [ebx + 0x268]
mov byte [eax + 0x28], 1
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x2e0], 0
je 0x515fa2
mov eax, dword [ebx + 0x24c]
movzx edi, byte [eax + 0x2e1]
jmp 0x515fa7
mov edi, 0xff
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x268]
call fcn.00526194
push eax
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowRgn
push 0
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044d778
mov edx, dword [ebx + 0x50]
mov edx, dword [edx + 0x44]
mov ecx, edi
call fcn.0050a82c
push 0x65b
push 0
push 0
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x40]
push eax
push 0
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5161d9
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
call fcn.0050a950
mov dword [ebx + 0xc8], eax
jmp 0x5161d9
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22b], 1
je 0x5161d9
mov eax, dword [esi + 8]
cmp dword [eax + 8], 0xffff8300
jne 0x5161d9
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov dl, 1
mov eax, dword [ebx + 0x24c]
call fcn.0046153c
mov eax, ebx
call fcn.0050ab50
jmp case.0x51020a.0
cmp dword [ebx + 0x268], 0
je 0x5161d9
mov eax, dword [ebx + 0x268]
cmp dword [eax + 0x18], 0
je 0x5161d9
mov eax, dword [esi + 8]
cmp dword [eax + 0x10], 0
je 0x5161d9
mov eax, dword [esi + 8]
cmp dword [eax + 0x14], 0
je 0x5161d9
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 0x10
cmp eax, 0x10
jne 0x5161d9
mov eax, dword [ebx + 0x22c]
and eax, 0x100
cmp eax, 0x100
je 0x5161d9
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 2
cmp eax, 2
je 0x5161d9
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 1
cmp eax, 1
je 0x5161d9
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x10]
cmp eax, dword [ebx + 0x200]
jl 0x516130
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x14]
cmp eax, dword [ebx + 0x204]
jge 0x5161d9
cmp dword [ebx + 0x224], 0
je 0x51615e
mov eax, dword [ebx + 0x224]
mov eax, dword [eax + 0x80]
cmp byte [eax + 6], 0
jne 0x5161d9
mov eax, dword [ebx + 0x224]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 6], 0
jne 0x5161d9
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044da7c
test al, al
je 0x5161d9
or dword [ebx + 0x22c], 1
push 0
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x14]
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x10]
mov eax, dword [ebx + 0x268]
call fcn.00526194
push eax
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowRgn
push 0x61b
push 0
push 0
push 0
push 0
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044d778
push eax
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowPos
and dword [ebx + 0x22c], 0xfffffffe
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov eax, dword [0x547ad4]
mov byte [eax], 1
mov eax, dword [0x5478fc]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
jne 0x51621c
jmp 0x516212
mov eax, dword [0x5478fc]
mov eax, dword [eax]
call fcn.00466d44
mov eax, dword [0x547870]
cmp dword [eax], 0
jg 0x516206
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov eax, dword [ebx + 0x50]
call fcn.00539994
test eax, eax
je 0x5165a0
call fcn.004f3704
test al, al
je 0x5165a0
cmp byte [ebx + 0x78], 0
je 0x5165a0
cmp dword [ebx + 0x268], 0
je 0x516298
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x516298
mov eax, ebx
call fcn.00520904
mov edi, eax
mov eax, dword [ebx + 0x24c]
call fcn.0050b914
add eax, 4
cmp edi, eax
setg al
mov byte [ebx + 0x208], al
jmp 0x51629f
mov byte [ebx + 0x208], 0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 0x80
cmp eax, 0x80
jne 0x516454
cmp byte [ebx + 0x222], 0
jne 0x516454
mov eax, dword [ebx + 0x50]
cmp dword [eax + 0x44], 0
je 0x516454
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne 0x516454
mov eax, dword [ebx + 0x50]
call fcn.00539994
cmp byte [eax + 0xc0], 2
jne 0x51633d
mov eax, dword [0x5478fc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x24c]
jne 0x51633d
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x516454
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov byte [ebx + 0x223], 0
jmp case.0x51020a.0
mov eax, dword [ebx + 0x50]
call fcn.00539994
cmp byte [eax + 0xc0], 2
je 0x516431
cmp byte [ebx + 0x95], 0
je 0x51640c
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x51640c
mov eax, dword [ebx + 0x24c]
cmp dword [eax + 0x30], 0
jne 0x51640c
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
je 0x51640c
call fcn.0050bb38
test al, al
je 0x5163b3
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
mov cl, 1
mov dl, 1
call fcn.0050f800
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov byte [ebx + 0x222], 1
mov eax, ebx
call fcn.004eeb98
mov eax, dword [0x5478fc]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
jne case.0x51020a.0
call fcn.0050bb38
test al, al
je 0x516400
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
mov cl, 1
xor edx, edx
call fcn.0050f800
mov byte [ebx + 0x222], 0
jmp case.0x51020a.0
cmp dword [ebx + 0x268], 0
je 0x516454
mov eax, dword [ebx + 0x268]
cmp dword [eax + 0x18], 0
je 0x516454
mov eax, dword [ebx + 0x268]
add eax, 0x18
call fcn.0040e1c0
jmp 0x516454
cmp dword [ebx + 0x268], 0
je 0x516454
mov eax, dword [ebx + 0x268]
cmp dword [eax + 0x18], 0
je 0x516454
mov eax, dword [ebx + 0x268]
add eax, 0x18
call fcn.0040e1c0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
cmp byte [ebx + 0x220], 0
jne case.0x51020a.0
cmp dword [ebx + 0x268], 0
je case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x57], 0
je case.0x51020a.0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne case.0x51020a.0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 8
cmp eax, 8
je case.0x51020a.0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 0x20
cmp eax, 0x20
je case.0x51020a.0
mov eax, dword [ebx + 0x22c]
and eax, 0x80
cmp eax, 0x80
je case.0x51020a.0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 3
cmp eax, 3
jne 0x51658c
mov eax, dword [ebx + 0x268]
cmp dword [eax + 0x18], 0
je 0x51658c
call fcn.0050bb38
test al, al
je 0x51655a
mov eax, dword [0x5478fc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x24c]
jne 0x51655a
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
mov esi, eax
call sub.user32.dll_GetActiveWindow
cmp esi, eax
jne 0x51655a
push 0x65b
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowPos
jmp case.0x51020a.0
push 0x65b
push 0
push 0
push 0
push 0
mov eax, dword [ebx + 0x24c]
call fcn.0044d778
push eax
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowPos
jmp case.0x51020a.0
mov cl, 0xff
xor edx, edx
mov eax, dword [ebx + 0x268]
call fcn.0052512c
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
cmp byte [ebx + 0x95], 0
je 0x516727
mov eax, dword [ebx + 0x50]
call fcn.00539994
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x516727
cmp byte [ebx + 0x78], 0
je 0x516727
mov eax, dword [ebx + 0x22c]
and eax, 0x200
cmp eax, 0x200
je 0x516727
mov eax, dword [ebx + 0x24c]
cmp dword [eax + 0x30], 0
jne 0x516727
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x1c], 8
jne case.0x51020a.0
or dword [ebx + 0x22c], 0x200
mov dl, 1
mov eax, ebx
call fcn.0050b63c
mov edx, dword [ebx + 0x50]
mov dword [edx + 0x44], eax
and dword [ebx + 0x22c], 0xfffffdff
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x39], 0
cmp dword [ebx + 0x268], 0
je case.0x51020a.0
mov eax, dword [ebx + 0x268]
cmp dword [eax + 0x18], 0
je case.0x51020a.0
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044da7c
test al, al
je case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x2e0], 0
je 0x5166a1
mov eax, dword [ebx + 0x24c]
movzx edi, byte [eax + 0x2e1]
jmp 0x5166a6
mov edi, 0xff
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x268]
call fcn.00526194
push eax
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowRgn
push 0
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044d778
mov edx, dword [ebx + 0x50]
mov edx, dword [edx + 0x44]
mov ecx, edi
call fcn.0050a82c
push 0x65b
push 0
push 0
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x40]
push eax
push 0
mov eax, dword [ebx + 0x268]
mov eax, dword [eax + 0x18]
call fcn.0044d778
push eax
call sub.user32.dll_SetWindowPos
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
jne 0x5167aa
mov eax, dword [0x547998]
cmp dword [eax], 0
jne 0x516769
mov eax, dword [0x5478fc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
call fcn.0044d778
xor edx, edx
call fcn.004d57ec
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00460e94
test eax, eax
je 0x5167a3
mov eax, dword [0x547998]
mov eax, dword [eax]
mov eax, dword [eax + 0x24c]
call fcn.00460e94
cmp byte [eax + 0x22b], 2
jne 0x5167a3
mov byte [0x5474a4], 1
jmp 0x5167aa
mov byte [0x5474a4], 0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [ebx + 0x24c]
cmp byte [eax + 0x22f], 1
je case.0x51020a.0
mov eax, ebx
call fcn.0051cd98
jmp case.0x51020a.0
test byte [ebx + 0x1c], 1
jne 0x516884
mov eax, dword [ebx + 0x24c]
test byte [eax + 0x1c], 1
jne 0x516884
mov eax, dword [esi + 4]
and eax, 0xffff
dec eax
je 0x516809
mov eax, dword [esi + 4]
and eax, 0xffff
cmp eax, 2
jne 0x516884
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
cmp dword [ebx + 0x228], 0
je 0x516834
cmp word [esi + 4], 1
jne 0x516834
xor edx, edx
mov eax, dword [ebx + 0x228]
call fcn.005222a8
push 0
lea eax, [esp + 0x18]
push eax
mov dx, 0x24
xor eax, eax
call fcn.004076a8
mov edx, eax
mov eax, dword [0x5475fc]
mov eax, dword [eax]
mov ecx, 1
call fcn.00528d34
lea edx, [esp + 0x14]
mov eax, dword [ebx + 0x24c]
call fcn.004f1650
cmp byte [ebx + 0x78], 0
je case.0x51020a.0
mov dl, 1
mov eax, dword [ebx + 0x224]
call fcn.004b6ddc
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [esi + 8]
mov eax, dword [eax + 8]
sub eax, 0xfffffdd9
jne case.0x51020a.0
cmp dword [ebx + 0x228], 0
je case.0x51020a.0
xor edx, edx
mov eax, dword [ebx + 0x228]
call fcn.005222a8
jmp case.0x51020a.0
cmp dword [esi + 4], 0
je 0x516968
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
mov eax, dword [esi + 4]
mov edx, dword [0x442ea0]
call fcn.0040398c
test al, al
je 0x516947
cmp dword [ebx + 0x228], 0
je 0x516916
mov edx, dword [esi + 4]
mov eax, dword [ebx + 0x228]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
push 0
lea eax, [esp + 0x18]
push eax
mov dx, 0x24
xor eax, eax
call fcn.004076a8
mov edx, eax
mov eax, dword [0x5475fc]
mov eax, dword [eax]
mov ecx, 1
call fcn.00528d34
lea edx, [esp + 0x14]
mov eax, dword [esi + 4]
call fcn.004f1650
push 1
mov dx, 0x24
xor eax, eax
call fcn.004076a8
mov ecx, eax
mov edx, dword [0x5475fc]
mov edx, dword [edx]
mov eax, dword [esi + 4]
call fcn.00448144
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
jmp case.0x51020a.0
mov edx, esi
mov eax, dword [ebx + 0x23c]
call dword [ebx + 0x238]
add esp, 0xac
pop ebp
pop edi
pop esi
pop ebx
ret