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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffff58
mov esi, edx
mov ebx, eax
mov eax, dword [esi]
mov edx, dword [0x5985c4]
cmp eax, dword [edx]
jne 0x53d790
movzx eax, word [esi + 6]
cmp eax, 0x22
jg 0x53d37e
je 0x53d661
dec eax
je 0x53d5a9
dec eax
je 0x53d39c
sub eax, 5
je 0x53d619
sub eax, 0x19
je 0x53d625
jmp 0x53d790
sub eax, 0x24
je 0x53d781
sub eax, 0x18
je 0x53d5ed
dec eax
je 0x53d5fc
jmp 0x53d790
mov eax, dword [ebx + 0x54]
call fcn.00563d04
cmp eax, dword [esi + 8]
jne 0x53d597
cmp dword [ebx + 0x204], 0
je 0x53d3c1
lea eax, [ebx + 0x204]
call fcn.0040ef34
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
xor ecx, ecx
xor edx, edx
call fcn.00539914
mov eax, esi
mov edx, dword [ebx + 0x54]
call fcn.00564340
mov dword [ebx + 0x230], 0xffffffff
mov dword [ebx + 0x1f0], 0xffffffff
mov dword [ebx + 0x1f4], 0xffffffff
mov edx, esi
mov eax, dword [ebx + 0x22c]
call fcn.00518134
mov eax, ebx
call fcn.0054a550
mov eax, dword [ebx + 0x54]
call fcn.00563d04
test eax, eax
je 0x53d424
mov al, 1
call fcn.00532c1c
mov eax, dword [ebx + 0x22c]
test eax, eax
je case.0x53dbde.0
test byte [eax + 0x1c], 8
jne case.0x53dbde.0
mov eax, dword [ebx + 0x54]
call fcn.00563d04
test eax, eax
je 0x53d4d3
xor edx, edx
mov eax, ebx
call fcn.005493e8
xor edx, edx
mov eax, ebx
call fcn.0054b450
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x53d47f
cmp dword [ebx + 0x220], 0
je 0x53d47f
xor edx, edx
mov eax, ebx
call fcn.0054a27c
mov eax, ebx
call fcn.0053a698
test al, al
je 0x53d4a8
cmp byte [ebx + 0x1ff], 0
jne 0x53d4a8
push 0xffffffffffffffff
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowRgn
mov eax, ebx
call fcn.00548fe4
push 0x485
push 0
push 0
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x254]
push eax
call sub.user32.dll_RedrawWindow
xor edx, edx
mov eax, ebx
call fcn.0054ba30
mov eax, dword [ebx + 0x22c]
call fcn.004688b4
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x53d55e
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.00468878
mov edx, dword [0x4556c0]
call fcn.00403930
test al, al
je 0x53d55a
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.00468878
mov eax, dword [eax + 0x68]
mov edx, 0xff000008
call fcn.00429938
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.00468878
call fcn.00459864
test al, al
jne 0x53d55a
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.00468878
mov esi, dword [eax + 0x50]
or esi, dword [0x543c4c]
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.00468878
mov dword [eax + 0x50], esi
inc edi
dec ebp
jne 0x53d4e8
cmp byte [ebx + 0x60], 0
je 0x53d57d
mov eax, dword [ebx + 0x54]
cmp byte [eax + 9], 0
jne 0x53d57d
mov edx, 0xff00000f
mov eax, dword [ebx + 0x22c]
call fcn.00465524
mov eax, dword [ebx + 0x54]
cmp dword [eax + 0x44], 0
je case.0x53dbde.0
add eax, 0x44
call fcn.0040ef34
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x22c]
call fcn.00518134
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x1c], 8
jne 0x53d790
cmp dword [ebx + 0x54], 0
je 0x53d790
mov eax, dword [ebx + 0x54]
call fcn.00563d04
cmp eax, dword [esi + 8]
jne 0x53d790
cmp dword [ebx + 0x234], 0
jne 0x53d790
mov eax, ebx
call fcn.00549fe4
jmp 0x53d790
mov eax, dword [0x598a48]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
jmp case.0x53dbde.0
mov eax, ebx
call fcn.0054880c
push eax
mov eax, ebx
call fcn.00548774
pop edx
call fcn.00407870
mov dword [esi + 0xc], eax
jmp case.0x53dbde.0
mov dword [esi + 0xc], 1
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x54]
mov dx, word [eax + 0x52]
and dx, 0x400
cmp dx, 0x400
jne 0x53d790
and word [eax + 0x52], 0xfbff
push 0
push 0
push 0xb015
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
jmp 0x53d790
cmp dword [ebx + 0x54], 0
je 0x53d790
lea ecx, [esp + 0x70]
xor edx, edx
xor eax, eax
call fcn.00406a78
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x70]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x74]
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x39], 0
je 0x53d6b7
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x1c], 0
je 0x53d6a4
cmp byte [ebx + 0x200], 0
je 0x53d6b7
mov eax, dword [ebx + 0x54]
call fcn.005621f8
test al, al
je 0x53d6b7
mov eax, ebx
call fcn.00546790
mov eax, dword [esi + 8]
cmp byte [eax + 0x21], 0
je 0x53d6da
mov eax, ebx
call fcn.00548774
mov edx, dword [esi + 8]
add dword [edx + 8], eax
mov eax, ebx
call fcn.0054880c
mov edx, dword [esi + 8]
add dword [edx + 0xc], eax
mov edi, dword [ebx + 0x54]
cmp dword [edi + 0x28], 0xffffffff
jle 0x53d71f
push 0
mov eax, edi
call fcn.00563d04
mov eax, dword [eax + 0xa8]
mov edx, dword [ebx + 0x54]
mov edx, dword [edx + 0x28]
mov ecx, edx
shl edx, 6
add edx, ecx
mov edx, dword [eax + edx*4 + 8]
dec edx
xor eax, eax
mov al, byte [ebx + 0x224]
call fcn.00431afc
mov ecx, eax
mov edx, dword [esi + 8]
mov eax, edi
call fcn.005625c8
jmp 0x53d73c
push 0
xor eax, eax
mov al, byte [ebx + 0x224]
xor edx, edx
call fcn.00431afc
mov ecx, eax
mov edx, dword [esi + 8]
mov eax, edi
call fcn.005625c8
mov eax, dword [esi + 8]
cmp byte [eax + 0x20], 2
jne 0x53d762
cmp byte [eax + 0x21], 0
jne 0x53d762
cmp dword [eax], 0
jne 0x53d762
mov eax, ebx
call fcn.00546790
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
mov edx, dword [esi + 8]
mov dword [edx], eax
mov eax, ebx
call fcn.00548774
mov edx, dword [esi + 8]
add dword [edx + 8], eax
mov eax, ebx
call fcn.0054880c
mov edx, dword [esi + 8]
add dword [edx + 0xc], eax
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x54]
movzx eax, word [eax + 0x52]
mov dword [esi + 0xc], eax
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x1c], 8
jne 0x53d7ae
mov dl, 1
mov eax, dword [ebx + 0x54]
call fcn.005642e0
test al, al
jne 0x53dbbb
mov eax, dword [esi]
mov edx, dword [0x5985c4]
cmp eax, dword [edx]
jne 0x53d9e3
mov ax, word [esi + 6]
dec ax
je 0x53d7d9
sub ax, 3
jne 0x53d9e3
mov dword [esi + 0xc], ebx
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x1c], 8
jne 0x53d9e3
cmp dword [ebx + 0x54], 0
je 0x53d9e3
mov eax, dword [ebx + 0x54]
call fcn.00563d04
cmp eax, dword [esi + 8]
jne case.0x53dbde.0
mov eax, ebx
call fcn.0054bc84
mov al, 1
call fcn.00532c1c
mov eax, dword [ebx + 0x54]
call fcn.00564b54
mov dword [ebx + 0x1f0], 0xffffffff
mov eax, ebx
call fcn.0054bd60
mov dword [ebx + 0x1f0], eax
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov edx, 0x543c58
call fcn.0055f77c
mov dword [ebx + 0x1f4], eax
mov eax, dword [ebx + 0x54]
call fcn.00563d04
test eax, eax
je 0x53d9c1
cmp dword [ebx + 0x248], 0
je 0x53d8cd
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x53d8cd
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x9c]
cmp word [eax + 0x2e], 0
je 0x53d8a0
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x9c]
movsx edi, word [eax + 0x2e]
jmp 0x53d8b2
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x9c]
movsx edi, word [eax + 0x2c]
mov eax, dword [ebx + 0x22c]
call fcn.0053965c
add eax, 4
cmp edi, eax
setl al
mov byte [ebx + 0x1ec], al
jmp 0x53d8d4
mov byte [ebx + 0x1ec], 0
mov dl, 1
mov eax, ebx
call fcn.0054b450
mov eax, ebx
call fcn.005499dc
mov esi, dword [ebx + 0x22c]
cmp byte [esi + 0x22f], 2
jne 0x53d90e
mov eax, esi
call fcn.0047f584
mov edx, dword [0x598cfc]
mov edx, dword [edx]
cmp eax, dword [edx + 0x6c]
jne 0x53d90e
mov byte [ebx + 0x224], 1
mov eax, dword [ebx + 0x54]
call fcn.00563d04
test byte [eax + 0x1c], 1
jne 0x53d95a
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x248], 0
je 0x53d93b
cmp byte [ebx + 0xa1], 0
je 0x53d93b
mov byte [ebx + 0x9d], 1
mov dl, 1
mov eax, ebx
call fcn.005493e8
cmp byte [ebx + 0x9d], 0
jne 0x53d95a
mov eax, ebx
call fcn.00548fe4
mov byte [ebx + 0x9d], al
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov dword [ebx + 0x230], 0xffffffff
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x53d983
mov dl, 1
mov eax, ebx
call fcn.0054a27c
cmp byte [ebx + 0x60], 0
je 0x53d9ac
mov eax, dword [ebx + 0x54]
cmp byte [eax + 9], 0
jne 0x53d9ac
mov eax, dword [ebx + 0x54]
call fcn.00563d04
call fcn.00557d7c
mov edx, eax
mov eax, dword [ebx + 0x22c]
call fcn.00465524
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
xor ecx, ecx
mov dl, byte [ebx + 0x78]
call fcn.00539914
mov eax, dword [ebx + 0x208]
test eax, eax
jne 0x53d9d7
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x30]
jmp case.0x53dbde.0
xor edx, edx
call fcn.0054d6bc
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [esi]
sub eax, 0x47
je 0x53da11
sub eax, 0x3b
je 0x53daea
sub eax, 0xafc1
je 0x53dbad
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x54]
call fcn.00563d04
test eax, eax
je case.0x53dbde.0
call fcn.0051a564
test al, al
je case.0x53dbde.0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 0x80
cmp eax, 0x80
jne case.0x53dbde.0
cmp byte [ebx + 0x95], 0
je case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne case.0x53dbde.0
cmp byte [ebx + 0x202], 0
jne case.0x53dbde.0
mov eax, dword [ebx + 0x54]
call fcn.00563d04
cmp byte [eax + 0x3c], 0
je case.0x53dbde.0
cmp byte [ebx + 0x78], 0
je case.0x53dbde.0
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je case.0x53dbde.0
mov eax, dword [0x598490]
xor edx, edx
mov dword [eax], edx
mov byte [ebx + 0x202], 1
mov eax, ebx
call fcn.005156f4
mov eax, dword [0x5985d8]
cmp byte [eax], 0
jne 0x53dac2
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
xor edx, edx
call fcn.0053d28c
mov byte [ebx + 0x202], 0
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne case.0x53dbde.0
mov eax, dword [0x598b40]
cmp dword [eax], 0
je case.0x53dbde.0
mov eax, dword [0x598b40]
mov eax, dword [eax]
cmp dword [eax + 0x220], 0
je case.0x53dbde.0
mov eax, dword [0x598b40]
mov eax, dword [eax]
test byte [eax + 0x1c], 8
jne case.0x53dbde.0
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
test byte [eax + 0x1c], 8
jne case.0x53dbde.0
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
mov dl, 1
call fcn.005642e0
test al, al
je case.0x53dbde.0
mov eax, dword [0x598b40]
mov eax, dword [eax]
call fcn.00549908
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.0047f584
test eax, eax
jne case.0x53dbde.0
push 0x507
push 0
push 0
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
mov eax, dword [eax + 0x254]
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x53dbde.0
mov edx, esi
mov eax, ebx
call fcn.0054be3c
jmp case.0x53dbde.0
mov eax, dword [esi]
mov edx, dword [0x5985c4]
cmp eax, dword [edx]
jne 0x53e141
movzx eax, word [esi + 6]
cmp eax, 0x34
ja case.0x53dbde.0
mov al, byte [eax + 0x53dbe5]
jmp dword [eax*4 + 0x53dc1a]
mov eax, dword [ebx + 0x22c]
test eax, eax
je case.0x53dbde.0
test byte [eax + 0x1c], 1
jne case.0x53dbde.0
mov edx, dword [ebx + 0x208]
test edx, edx
je case.0x53dbde.0
cmp dword [esi + 8], 0
je 0x53dc90
mov eax, dword [esi + 8]
xchg edx, eax
call fcn.0054d6bc
jmp case.0x53dbde.0
xchg edx, eax
call fcn.0054d6bc
jmp case.0x53dbde.0
cmp dword [ebx + 0x54], 0
je case.0x53dbde.0
mov eax, dword [0x5985d8]
cmp byte [eax], 0
jne 0x53dcc4
mov eax, dword [ebx + 0x54]
call fcn.005621f8
test al, al
je 0x53dcc4
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x1c], 0
jne 0x53dcc8
xor eax, eax
jmp 0x53dcca
mov al, 1
and eax, 0x7f
mov dword [esi + 0xc], eax
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x1c], 0
je case.0x53dbde.0
mov byte [eax + 0x1c], 0
push 0x401
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
jmp case.0x53dbde.0
cmp word [esi + 4], 1
sete dl
mov eax, dword [ebx + 0x54]
call fcn.005642dc
mov eax, dword [ebx + 0x54]
call fcn.00563d18
test al, al
je case.0x53dbde.0
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x54]
call fcn.00563d04
cmp eax, dword [esi + 8]
jne case.0x53dbde.0
cmp dword [ebx + 0x208], 0
jne 0x53dd60
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x30]
jmp 0x53dd6d
xor edx, edx
mov eax, dword [ebx + 0x208]
call fcn.0054d6bc
cmp byte [ebx + 0x78], 0
je 0x53dd82
lea edx, [ebx + 0x204]
xor ecx, ecx
mov eax, ebx
call fcn.0053a594
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x30], 0
je 0x53dda0
cmp byte [eax + 0x22f], 1
je 0x53dda0
mov eax, dword [ebx + 0x54]
and word [eax + 0x52], 0xfffe
mov dword [ebx + 0x230], 0xffffffff
mov eax, dword [ebx + 0x54]
call fcn.00563d04
test byte [eax + 0x1c], 1
jne 0x53ddd2
mov eax, ebx
call fcn.00548fe4
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.005642e0
mov edx, eax
mov eax, ebx
call fcn.005493e8
mov eax, ebx
call fcn.0053a698
test al, al
je 0x53dde1
mov byte [ebx + 0x34], 1
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x57], 0
je case.0x53dbde.0
mov edi, dword [ebx + 0x54]
mov byte [edi + 0x39], 1
mov eax, edi
call fcn.00563d04
call fcn.00561358
mov edx, eax
mov eax, ebx
call fcn.0054ba30
mov eax, dword [0x5985d8]
cmp byte [eax], 0
jne 0x53deb4
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x53de70
mov eax, dword [ebx + 0x22c]
call fcn.0047f584
test eax, eax
je 0x53de70
mov eax, dword [ebx + 0x22c]
call fcn.0047f584
cmp byte [eax + 0x22b], 2
jne 0x53de70
mov eax, ebx
call fcn.0054c0e8
push 0xffffffffffffffff
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0047f584
call fcn.0046bbbc
push eax
call sub.user32.dll_InvalidateRect
jmp 0x53deb4
push 0x545
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x53deb4
push 0x545
push 0
push 0
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x254]
push eax
call sub.user32.dll_RedrawWindow
cmp byte [ebx + 0x60], 0
je 0x53dedd
mov eax, dword [ebx + 0x54]
cmp byte [eax + 9], 0
jne 0x53dedd
mov eax, dword [ebx + 0x54]
call fcn.00563d04
call fcn.00557d7c
mov edx, eax
mov eax, dword [ebx + 0x22c]
call fcn.00465524
cmp dword [ebx + 0x220], 0
je 0x53def1
mov eax, dword [ebx + 0x220]
call fcn.004e1680
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.005642dc
cmp dword [ebx + 0x234], 0
je 0x53df0f
mov eax, dword [ebx + 0x234]
call fcn.0054cbe8
mov edx, esi
mov eax, ebx
call fcn.0054a5a0
cmp dword [ebx + 0x248], 0
je case.0x53dbde.0
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x248]
call fcn.0054ff20
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0xa8]
mov edi, dword [ebx + 0x54]
mov edx, dword [edi + 0x28]
mov ecx, edx
shl edx, 6
add edx, ecx
mov ebp, dword [eax + edx*4 + 0xa0]
mov eax, edi
call fcn.00563d04
mov eax, dword [eax + 0xa8]
mov edx, dword [ebx + 0x54]
mov edx, dword [edx + 0x28]
mov ecx, edx
shl edx, 6
add edx, ecx
add ebp, dword [eax + edx*4 + 0xac]
test ebp, ebp
setg al
mov ebp, eax
and ebp, 0x7f
mov dword [esi + 8], ebp
mov dword [esi + 0xc], ebp
jmp case.0x53dbde.0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.00562a64
mov dword [esi + 0xc], eax
jmp case.0x53dbde.0
mov dword [esi + 0xc], ebx
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x54]
call fcn.00563d04
cmp eax, dword [esi + 8]
jne case.0x53dbde.0
mov al, 1
call fcn.00532c1c
mov eax, dword [ebx + 0x54]
call fcn.00564b54
mov dword [ebx + 0x1f0], 0xffffffff
mov eax, ebx
call fcn.0054bd60
mov dword [ebx + 0x1f0], eax
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov edx, 0x543c58
call fcn.0055f77c
mov dword [ebx + 0x1f4], eax
mov eax, dword [ebx + 0x54]
call fcn.00563d04
test eax, eax
je case.0x53dbde.0
mov eax, ebx
call fcn.005499dc
mov al, 1
call fcn.00532c1c
mov dl, byte [ebx + 0x78]
mov eax, ebx
call fcn.0054b450
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x44]
call fcn.00534a34
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov dword [ebx + 0x230], 0xffffffff
mov eax, ebx
call fcn.0054c0e8
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne case.0x53dbde.0
mov dl, 1
mov eax, ebx
call fcn.0054a27c
jmp case.0x53dbde.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00545328
mov byte [0x597c6c], 0
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x54]
call fcn.00563ee8
test al, al
je case.0x53dbde.0
push 0
push 0
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x54]
call fcn.00563ee8
test al, al
je case.0x53dbde.0
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
push 0x585
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [0x598b40]
cmp ebx, dword [eax]
jne case.0x53dbde.0
push 0x581
push 0
push 0
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x254]
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x53dbde.0
mov eax, esi
mov edx, dword [ebx + 0x54]
call fcn.00564c78
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x38], 0
je case.0x53dbde.0
mov eax, ebx
call fcn.00546790
jmp case.0x53dbde.0
cmp eax, 0xa4
jg 0x53e2a4
je 0x54092e
cmp eax, 0x2c
jg 0x53e205
je 0x542676
cmp eax, 0x24
ja case.0x53e16a.0
jmp dword [eax*4 + 0x53e171]
cmp eax, 0x81
jg 0x53e25b
je 0x53fdfe
cmp eax, 0x4e
jg 0x53e23b
je 0x543b50
sub eax, 0x46
je 0x542f9e
dec eax
je 0x5434f5
sub eax, 3
je 0x53e49a
jmp case.0x53e16a.0
sub eax, 0x7b
je 0x53e57a
sub eax, 2
je 0x53e735
sub eax, 3
je 0x53e679
jmp case.0x53e16a.0
cmp eax, 0xa0
jg 0x53e286
je 0x53e414
sub eax, 0x84
je 0x53fc72
dec eax
je 0x54150c
dec eax
je 0x541c65
jmp case.0x53e16a.0
sub eax, 0xa1
je 0x53fe2b
dec eax
je 0x5409d0
dec eax
je 0x5424d1
jmp case.0x53e16a.0
cmp eax, 0x318
jg 0x53e367
je case.0x53dbde.0
cmp eax, 0x211
jg 0x53e313
je 0x53faea
cmp eax, 0x121
jg 0x53e2f1
je 0x540fc1
sub eax, 0xa5
je 0x540950
sub eax, 0x6d
je 0x5426fa
sub eax, 5
je 0x53e70b
jmp case.0x53e16a.0
sub eax, 0x200
je 0x54047a
sub eax, 2
je 0x5409d0
sub eax, 0xe
je 0x543a90
jmp case.0x53e16a.0
cmp eax, 0x232
jg 0x53e345
je 0x53e5f4
sub eax, 0x212
je 0x53fc45
sub eax, 2
je 0x53fd4e
add eax, 0xfffffff3
sub eax, 2
jb 0x542271
jmp case.0x53e16a.0
sub eax, 0x2a3
je 0x53fd7d
sub eax, 0x70
je 0x53e7ce
sub eax, 4
je 0x541086
jmp case.0x53e16a.0
cmp eax, 0xb015
jg 0x53e3c5
je 0x541011
cmp eax, 0xb00b
jg 0x53e3a5
je 0x542429
sub eax, 0x323
je 0x53e530
sub eax, 3
je 0x53e505
sub eax, 0xa0da
je 0x53e458
jmp case.0x53e16a.0
sub eax, 0xb00c
je 0x53f0c1
sub eax, 7
je 0x53fda2
dec eax
je 0x53fd7d
jmp case.0x53e16a.0
cmp eax, 0xb03a
jg 0x53e3f4
je 0x540fcb
sub eax, 0xb019
je 0x53e804
sub eax, 0x13
je 0x543b8e
sub eax, 7
je 0x541c21
jmp case.0x53e16a.0
sub eax, 0xb043
je 0x53e43c
sub eax, 9
je 0x541502
sub eax, 0xc01
je 0x541502
jmp case.0x53e16a.0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
mov eax, dword [ebx + 0x54]
call fcn.00563d04
pop edx
call fcn.00560914
mov edx, esi
mov eax, ebx
call fcn.0054c04c
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov edx, esi
mov eax, ebx
call fcn.0054be3c
jmp case.0x53dbde.0
mov eax, dword [esi + 4]
dec eax
je 0x53e47e
sub eax, 2
je 0x53e46b
dec eax
je 0x53e48e
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
call fcn.00481ea0
jmp case.0x53dbde.0
mov dword [esi + 0xc], 1
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [esi + 0xc], 0
jne case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
mov edx, dword [0x598a9c]
cmp eax, dword [edx]
jne case.0x53dbde.0
mov eax, dword [0x598630]
cmp byte [eax], 0
jne case.0x53dbde.0
mov eax, dword [0x598630]
mov byte [eax], 1
cmp dword [esi + 8], 0
je 0x53e4f8
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov edx, eax
mov eax, esi
call fcn.00555c64
mov eax, dword [0x598630]
mov byte [eax], 0
jmp case.0x53dbde.0
mov eax, dword [0x59868c]
cmp byte [eax], 0
je case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
mov edx, ebx
call fcn.005383c4
and eax, 0x7f
mov dword [esi + 0xc], eax
jmp case.0x53dbde.0
mov eax, dword [0x59868c]
cmp byte [eax], 0
je case.0x53dbde.0
cmp word [esi + 0xa], 0
je case.0x53dbde.0
cmp word [esi + 8], 0
je case.0x53dbde.0
movzx eax, word [esi + 8]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
movzx ecx, word [esi + 0xa]
mov edx, ebx
call fcn.0053814c
and eax, 0x7f
mov dword [esi + 0xc], eax
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x7c], 0
je 0x53e5ac
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov al, byte [eax + 0x58]
push eax
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x44]
mov edx, dword [ebx + 0x22c]
mov edx, dword [edx + 0x7c]
pop ecx
call fcn.00535ee8
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
cmp dword [esi + 4], 1
jne 0x53e5db
mov edx, dword [ebx + 0x98]
dec edx
xor eax, eax
call fcn.00431bc0
mov dword [ebx + 0x98], eax
jmp 0x53e5e1
inc dword [ebx + 0x98]
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [ebx + 0x248], 0
je case.0x53dbde.0
mov eax, dword [0x598b7c]
cmp dword [eax], 0
je case.0x53dbde.0
mov eax, dword [0x598b7c]
mov eax, dword [eax]
mov ebp, dword [eax + 8]
dec ebp
test ebp, ebp
jl case.0x53dbde.0
inc ebp
xor edi, edi
mov eax, dword [0x598b7c]
mov eax, dword [eax]
mov edx, edi
call fcn.0041d288
test eax, eax
je 0x53e662
mov eax, dword [0x598b7c]
mov eax, dword [eax]
mov edx, edi
call fcn.0041d288
mov eax, dword [eax + 0x38]
xor ecx, ecx
mov edx, 0x12
call fcn.00517f78
inc edi
dec ebp
jne 0x53e633
jmp case.0x53dbde.0
mov edx, esi
mov eax, ebx
call fcn.0054bac4
jmp case.0x53dbde.0
test byte [ebx + 0x1c], 1
jne 0x53e6f8
cmp dword [esi + 8], 0
je 0x53e6f8
mov eax, dword [0x5985d8]
cmp byte [eax], 0
jne 0x53e6f8
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x53e6f8
call fcn.00539880
test al, al
jne 0x53e6be
push 0
push 0
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
call fcn.00539880
test al, al
jne 0x53e6ec
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
mov eax, ebx
call fcn.0053a6e0
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x54]
call fcn.00563d04
cmp byte [eax + 0x58], 0
je 0x53e722
mov edx, esi
mov eax, ebx
call fcn.0054b738
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [esi + 4], 0xffffffec
jne case.0x53dbde.0
mov eax, dword [ebx + 0x20c]
and eax, 0x80
cmp eax, 0x80
je case.0x53dbde.0
mov eax, dword [ebx + 0x20c]
and eax, 0x100
cmp eax, 0x100
je case.0x53dbde.0
mov eax, dword [ebx + 0x20c]
and eax, 0x400
cmp eax, 0x400
je case.0x53dbde.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.0x53dbde.0
cmp dword [ebx + 0x248], 0
je case.0x53dbde.0
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x248]
call fcn.0054ff20
jmp case.0x53dbde.0
lea edx, [esp + 0x70]
mov eax, dword [0x598c7c]
mov eax, dword [eax]
call fcn.004704cc
mov eax, dword [esp + 0x74]
push eax
lea edx, [esp + 0x7c]
mov eax, dword [0x598c7c]
mov eax, dword [eax]
call fcn.004704cc
mov edx, dword [esp + 0x7c]
mov eax, ebx
pop ecx
call fcn.00548308
jmp case.0x53dbde.0
mov dword [esp], 0xff
cmp byte [ebx + 0x78], 0
je 0x53eccb
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x53ec68
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x53e864
mov eax, dword [0x598b40]
cmp dword [eax], 0
je 0x53e851
mov eax, dword [0x598b40]
mov eax, dword [eax]
cmp byte [eax + 0x200], 0
je 0x53e864
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x53e87c
mov dl, 1
mov eax, ebx
call fcn.0054a27c
and dword [ebx + 0x20c], 0xfffffdff
cmp dword [ebx + 0x248], 0
je 0x53e899
mov eax, dword [ebx + 0x248]
mov byte [eax + 0x20], 0
cmp dword [ebx + 0x1f8], 0
je 0x53e8c2
mov eax, dword [ebx + 0x1f8]
mov edx, dword [0x538090]
call fcn.00403930
test al, al
je 0x53e8c2
lea eax, [ebx + 0x1f8]
call fcn.0040ef34
mov eax, dword [0x59851c]
cmp byte [eax], 0
je 0x53e90a
mov eax, dword [ebx + 0x22c]
call fcn.0046bec0
test al, al
je 0x53e90a
mov eax, dword [0x598a48]
mov eax, dword [eax]
cmp dword [eax + 0x44], 0
je 0x53e8fa
mov eax, dword [0x598a48]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x22c]
jne 0x53e90a
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
call fcn.0053b2a4
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.005642e0
mov edx, eax
mov eax, ebx
call fcn.005493e8
cmp dword [ebx + 0x208], 0
je 0x53e937
mov edx, dword [ebx + 0x22c]
mov eax, dword [ebx + 0x208]
call fcn.0054d6bc
cmp byte [ebx + 0x95], 0
je 0x53e984
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
je 0x53e95b
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x30], 0
jne 0x53e984
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
cmp byte [eax + 6], 0
je 0x53e984
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
mov edx, dword [0x598a9c]
cmp eax, dword [edx]
jne 0x53e988
xor eax, eax
jmp 0x53e98a
mov al, 1
mov byte [ebx + 0x203], al
mov byte [esp + 0xd], 0
cmp byte [ebx + 0x203], 0
je 0x53ea6b
mov dl, 1
mov eax, dword [ebx + 0x54]
call fcn.005642dc
mov byte [ebx + 0x200], 1
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
mov dl, 1
call fcn.0053d28c
mov byte [esp + 0xd], al
mov dword [esp], 0xff
cmp byte [esp + 0xd], 0
je 0x53e9e9
xor edx, edx
mov eax, ebx
call fcn.0053a258
mov byte [ebx + 0x210], 0
jmp 0x53ea06
mov eax, dword [ebx + 0x22c]
movzx eax, byte [eax + 0x2e1]
mov dword [esp], eax
xor edx, edx
mov eax, dword [ebx + 0x22c]
call fcn.00482928
mov eax, dword [ebx + 0x22c]
call fcn.004688b4
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x53ea75
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.00468878
cmp byte [eax + 0x57], 0
je 0x53ea65
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.00468878
mov edx, dword [0x58f0a4]
call fcn.00403930
test al, al
jne 0x53ea65
push 0
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.00468878
xor ecx, ecx
mov edx, 0xb
call fcn.00466550
inc edi
dec ebp
jne 0x53ea1b
jmp 0x53ea75
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.005642dc
mov eax, dword [ebx + 0x54]
call fcn.00563d04
call fcn.00561358
mov edx, eax
mov eax, ebx
call fcn.0054ba30
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.005642e0
test al, al
jne 0x53eb54
cmp byte [ebx + 0x203], 0
je 0x53eb54
mov eax, dword [ebx + 0x22c]
call fcn.004688b4
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x53eb02
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.00468878
cmp byte [eax + 0x57], 0
je 0x53eafe
push 0
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.00468878
mov ecx, 1
mov edx, 0xb
call fcn.00466550
inc edi
dec ebp
jne 0x53eacd
push 0xffffffffffffffec
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xfff7ffff
push eax
push 0xffffffffffffffec
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowLongA
push 0x81
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_RedrawWindow
mov byte [ebx + 0x210], 0
jmp case.0x53dbde.0
lea edx, [ebx + 0x204]
xor ecx, ecx
mov eax, ebx
call fcn.0053a594
cmp byte [ebx + 0x203], 0
je 0x53ec1c
mov eax, dword [ebx + 0x22c]
call fcn.004688b4
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x53ebba
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.00468878
cmp byte [eax + 0x57], 0
je 0x53ebb6
push 0
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.00468878
mov ecx, 1
mov edx, 0xb
call fcn.00466550
inc edi
dec ebp
jne 0x53eb85
cmp byte [esp + 0xd], 0
je 0x53ebd3
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
xor edx, edx
call fcn.0053d28c
mov byte [ebx + 0x203], 0
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
movzx edi, word [eax + 4]
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 7]
mov byte [esp + 0xf], al
mov al, byte [esp + 0xf]
push eax
mov ecx, dword [esp + 4]
mov edx, edi
mov eax, ebx
call fcn.00514dcc
mov byte [ebx + 0x210], 0
jmp 0x53ec36
push 0x81
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
jne case.0x53dbde.0
mov al, 1
call fcn.0053d100
jmp case.0x53dbde.0
cmp dword [ebx + 0x248], 0
je 0x53ecb8
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x53ecad
mov eax, dword [ebx + 0x54]
call fcn.00563d04
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 0x53ecad
cmp byte [ebx + 0x95], 0
jne 0x53ecb8
lea eax, [ebx + 0x248]
call fcn.0040ef34
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
call fcn.00539880
test al, al
je 0x53eceb
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x1c], 0
call fcn.00539880
test al, al
je case.0x53dbde.0
push 0x181
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
je 0x53ee65
cmp dword [esi + 4], 1
jne 0x53edce
cmp dword [ebx + 0x248], 0
je 0x53ed5c
mov eax, dword [ebx + 0x248]
mov byte [eax + 0x20], 0
mov eax, dword [ebx + 0x20c]
and eax, 0x400
cmp eax, 0x400
jne 0x53ed7a
mov dword [ebx + 0x20c], 0x400
jmp 0x53ed82
xor eax, eax
mov dword [ebx + 0x20c], eax
call fcn.00539880
test al, al
je 0x53edce
mov eax, dword [0x5985d8]
cmp byte [eax], 0
jne 0x53edce
push 0xffffffffffffffec
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0x80000
cmp eax, 0x80000
je 0x53edce
push 0x481
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [esi + 8]
dec eax
je 0x53edde
sub eax, 2
je 0x53ee2c
jmp 0x53ee65
cmp byte [ebx + 0x201], 0
je 0x53ee65
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x53ee05
mov byte [ebx + 0x201], 2
jmp 0x53ee65
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x53ee23
mov byte [ebx + 0x201], 3
jmp 0x53ee65
mov byte [ebx + 0x201], 1
jmp 0x53ee65
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x53ee65
mov eax, dword [0x598a48]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x22c]
jne 0x53ee65
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [esi + 4], 1
jne case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x53eea7
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
jne 0x53eea7
mov eax, dword [0x598b40]
mov eax, dword [eax]
call fcn.00549908
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x53ef08
mov eax, dword [ebx + 0x22c]
call fcn.0047f5b8
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x53ef08
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.0047f604
call fcn.0046bbbc
mov edx, 7
call fcn.0051802c
test al, al
jne 0x53ef04
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.0047f604
call fcn.0046bbbc
xor edx, edx
call fcn.004fef70
inc edi
dec ebp
jne 0x53eecb
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x30], 0
je case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
je case.0x53dbde.0
mov eax, dword [ebx + 0x54]
and word [eax + 0x52], 0xfffe
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x53f0ae
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x54], 0x40
jne 0x53f0ae
cmp byte [ebx + 0x78], 0
je 0x53f0ae
cmp dword [ebx + 0xa4], 0
je 0x53ef81
lea eax, [ebx + 0xa4]
call fcn.0040ef34
cmp dword [ebx + 0xa8], 0
je 0x53ef95
lea eax, [ebx + 0xa8]
call fcn.0040ef34
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x53efee
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
jne 0x53efee
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
mov byte [eax + 0x39], 1
mov eax, dword [0x598b40]
mov eax, dword [eax]
xor edx, edx
call fcn.00539d7c
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [0x598b40]
mov eax, dword [eax]
call fcn.0053a078
jmp 0x53f08d
call fcn.00539880
test al, al
jne 0x53f038
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
xor edx, edx
mov eax, ebx
call fcn.00539d7c
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, ebx
call fcn.0053a078
push 0
push 0
push 0x85
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
jmp 0x53f08d
cmp dword [ebx + 0x248], 0
jne 0x53f058
push 0
push 0
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [ebx + 0x248], 0
jne 0x53f086
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
mov eax, ebx
call fcn.0053a6e0
cmp dword [ebx + 0x248], 0
je case.0x53dbde.0
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x248]
call fcn.0054ff20
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp byte [ebx + 0x78], 0
je case.0x53dbde.0
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
push 0
push 0
push 0x85
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, ebx
call fcn.00548fe4
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, ebx
call fcn.00548fe4
mov eax, dword [0x598b40]
cmp dword [eax], 0
je case.0x53dbde.0
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.0047f584
test eax, eax
je case.0x53dbde.0
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.0047f584
cmp byte [eax + 0x22b], 2
jne 0x53f188
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x220]
call fcn.004e1720
jmp case.0x53dbde.0
mov dl, 1
mov eax, ebx
call fcn.0054b450
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x1c], 0
jne 0x53faaf
mov eax, ebx
call fcn.00539994
test al, al
je 0x53f3aa
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov edi, dword [eax + 0x144]
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov edx, edi
call fcn.00559c30
test al, al
je 0x53f3aa
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0xa0]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.0055388c
push eax
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0xa0]
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], eax
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0xa0]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.005538a0
push eax
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0xa0]
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 + 0x1dc]
xor edx, edx
call fcn.0055388c
mov ebp, eax
mov eax, dword [ebx + 0x22c]
call fcn.00464d88
cmp ebp, eax
jl 0x53f29d
lea eax, [ebx + 0x1dc]
xor edx, edx
call fcn.005538a0
mov ebp, eax
mov eax, dword [ebx + 0x22c]
call fcn.00464dcc
cmp ebp, eax
jge 0x53f308
mov eax, dword [ebx + 0x54]
call fcn.005621f8
test al, al
jne 0x53f308
lea eax, [ebx + 0x1dc]
xor edx, edx
call fcn.0055388c
test eax, eax
je 0x53f308
mov eax, dword [ebx + 0x1e8]
push eax
lea eax, [esp + 0x24]
push eax
mov edx, dword [ebx + 0x1e8]
sub edx, edi
mov eax, dword [ebx + 0x1e4]
sub eax, dword [esp + 8]
mov ecx, dword [ebx + 0x1e4]
call fcn.00406a5c
mov eax, dword [ebx + 0x54]
call fcn.005621f8
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x24]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_InvalidateRect
lea eax, [ebx + 0x1dc]
xor edx, edx
call fcn.0055388c
mov ebp, eax
mov eax, dword [ebx + 0x22c]
call fcn.00464d88
cmp ebp, eax
jg 0x53f344
lea eax, [ebx + 0x1dc]
xor edx, edx
call fcn.005538a0
mov ebp, eax
mov eax, dword [ebx + 0x22c]
call fcn.00464dcc
cmp ebp, eax
jle 0x53f3aa
mov eax, dword [ebx + 0x22c]
call fcn.00464dcc
push eax
lea eax, [esp + 0x24]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00464d88
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00464dcc
sub eax, edi
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00464d88
sub eax, dword [esp + 0x10]
pop edx
pop ecx
call fcn.00406a5c
mov eax, dword [ebx + 0x54]
call fcn.005621f8
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x24]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_InvalidateRect
lea eax, [ebx + 0x1dc]
xor edx, edx
call fcn.0055388c
mov edi, eax
mov eax, dword [ebx + 0x22c]
call fcn.00464d88
cmp edi, eax
jg 0x53f3fb
lea eax, [ebx + 0x1dc]
xor edx, edx
call fcn.005538a0
mov edi, eax
mov eax, dword [ebx + 0x22c]
call fcn.00464dcc
cmp edi, eax
jg 0x53f3fb
lea eax, [ebx + 0x1dc]
xor edx, edx
call fcn.0055388c
test eax, eax
jne 0x53f5fd
push 0x543c68
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov edx, dword [ebx + 0x54]
mov ecx, dword [edx + 4]
mov edx, dword [ebx + 0x54]
mov edx, dword [edx + 0x28]
call fcn.0055f7d8
mov edi, eax
cmp edi, 0xffffffff
jle 0x53f4fc
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0xa0]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.0055388c
push eax
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0xa0]
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], eax
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0xa0]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.005538a0
push eax
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0xa0]
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 + 0x1e8]
push eax
lea eax, [esp + 0x24]
push eax
mov edx, dword [ebx + 0x1e8]
sub edx, edi
mov eax, dword [ebx + 0x1e4]
sub eax, dword [esp + 8]
mov ecx, dword [ebx + 0x1e4]
call fcn.00406a5c
mov eax, dword [ebx + 0x54]
call fcn.005621f8
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x24]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_InvalidateRect
push 0x543c7c
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov edx, dword [ebx + 0x54]
mov ecx, dword [edx + 4]
mov edx, dword [ebx + 0x54]
mov edx, dword [edx + 0x28]
call fcn.0055f7d8
mov edi, eax
cmp edi, 0xffffffff
jle 0x53f5fd
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0xa0]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.0055388c
push eax
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0xa0]
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], eax
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0xa0]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.005538a0
push eax
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0xa0]
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 + 0x1e8]
push eax
lea eax, [esp + 0x24]
push eax
mov edx, dword [ebx + 0x1e8]
sub edx, edi
mov eax, dword [ebx + 0x1e4]
sub eax, dword [esp + 8]
mov ecx, dword [ebx + 0x1e4]
call fcn.00406a5c
mov eax, dword [ebx + 0x54]
call fcn.005621f8
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x24]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_InvalidateRect
cmp dword [ebx + 0xa4], 0
je 0x53f611
lea eax, [ebx + 0xa4]
call fcn.0040ef34
cmp dword [ebx + 0xa8], 0
je 0x53f625
lea eax, [ebx + 0xa8]
call fcn.0040ef34
mov dword [ebx + 0x230], 0xffffffff
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x30], 0
jne 0x53f659
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x1c], 1
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x1c], 0
jmp 0x53f667
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [0x5985d8]
cmp byte [eax], 0
jne 0x53fa6f
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x53fa68
mov eax, ebx
call fcn.00548afc
test al, al
je 0x53f9e6
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x53f6b9
cmp byte [ebx + 0x1fe], 0
jne 0x53f9e6
mov byte [ebx + 0x34], 1
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov eax, dword [ebx + 0x54]
cmp dword [eax + 0x44], 0
je 0x53f711
mov eax, dword [ebx + 0x54]
call fcn.005621f8
test al, al
je 0x53f705
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov edx, dword [ebx + 0x22c]
cmp eax, dword [edx + 0x48]
jg 0x53f709
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x20]
mov edx, dword [ebx + 0x22c]
cmp eax, dword [edx + 0x4c]
jg 0x53f709
xor eax, eax
jmp 0x53f70b
mov al, 1
mov byte [esp + 0xc], al
jmp 0x53f716
mov byte [esp + 0xc], 0
cmp byte [ebx + 0x78], 0
je 0x53f98a
mov eax, dword [ebx + 0x248]
test eax, eax
je 0x53f7d6
cmp dword [eax + 0x10], 0
jne 0x53f739
call fcn.00550f2c
cmp dword [ebx + 0x204], 0
je 0x53f763
mov eax, dword [ebx + 0x204]
mov eax, dword [eax + 0x80]
cmp byte [eax + 6], 0
jne 0x53f770
mov eax, dword [ebx + 0x204]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 6], 0
jne 0x53f770
cmp byte [ebx + 0x58], 0
jne 0x53f770
or dword [ebx + 0x20c], 1
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x248]
call fcn.0054ff20
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x1c], 1
and dword [ebx + 0x20c], 0xfffffffe
mov eax, dword [ebx + 0x248]
mov byte [eax + 0x20], 1
push 0x61b
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [ebx + 0x248]
mov byte [eax + 0x20], 0
mov dl, 1
mov eax, ebx
call fcn.0053a258
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x1c], 0
jmp 0x53f7dd
mov eax, ebx
call fcn.0054c0e8
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x1c], 0
jne case.0x53dbde.0
mov eax, dword [ebx + 0x54]
mov ax, word [eax + 0x54]
and ax, 2
cmp ax, 2
jne 0x53f819
lea eax, [ebx + 0x1dc]
xor edx, edx
call fcn.005538a0
mov esi, eax
mov eax, dword [ebx + 0x22c]
call fcn.00464dcc
cmp esi, eax
jne 0x53f848
mov eax, dword [ebx + 0x54]
mov ax, word [eax + 0x54]
and ax, 1
cmp ax, 1
jne 0x53f87b
lea eax, [ebx + 0x1dc]
xor edx, edx
call fcn.0055388c
mov esi, eax
mov eax, dword [ebx + 0x22c]
call fcn.00464d88
cmp esi, eax
je 0x53f87b
push 0
lea eax, [esp + 0x14]
push eax
mov dx, 0x14
mov ax, 1
call fcn.0040793c
mov edx, eax
mov eax, dword [0x5985c4]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00553710
lea edx, [esp + 0x10]
mov eax, dword [ebx + 0x22c]
call fcn.00518134
cmp dword [ebx + 0x248], 0
je 0x53f963
mov eax, dword [ebx + 0x204]
test eax, eax
je 0x53f8ca
cmp dword [eax + 0x80], 0
je 0x53f8ca
cmp dword [eax + 0x7c], 0
je 0x53f8ca
mov eax, dword [ebx + 0x204]
mov eax, dword [eax + 0x80]
cmp byte [eax + 6], 0
jne 0x53f963
mov eax, dword [ebx + 0x204]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 6], 0
jne 0x53f963
mov eax, dword [ebx + 0x248]
cmp dword [eax + 0x10], 0
jne 0x53f8e1
mov eax, dword [ebx + 0x248]
call fcn.00550f2c
push 0x101
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_RedrawWindow
push 0x61b
push 0
push 0
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowPos
cmp byte [ebx + 0x1fe], 0
je 0x53f957
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x248]
call fcn.00550dc4
push eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowRgn
mov eax, dword [ebx + 0x248]
mov byte [eax + 0x20], 0
jmp 0x53f97d
push 0x921
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [ebx + 0x22c]
call fcn.005177e4
jmp 0x53f9a6
cmp byte [esp + 0xc], 0
je 0x53f9a6
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_InvalidateRect
mov eax, dword [ebx + 0x22c]
call fcn.00464dcc
push eax
lea eax, [esp + 0x84]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00464d88
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.00406a5c
lea esi, [esp + 0x80]
lea edi, [ebx + 0x1dc]
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.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x53fa0a
mov eax, dword [ebx + 0x54]
call fcn.005621f8
test al, al
je 0x53fa0a
mov eax, ebx
call fcn.0054c0e8
jmp 0x53fa6f
mov eax, dword [esi + 4]
sub eax, 2
jne 0x53fa6f
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x53fa6f
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
jne 0x53fa6f
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
mov byte [eax + 0x39], 1
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov byte [eax + 0x211], 1
push 0x481
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_RedrawWindow
jmp 0x53fa6f
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov eax, dword [ebx + 0x22c]
call fcn.00464dcc
push eax
lea eax, [esp + 0x84]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00464d88
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.00406a5c
lea esi, [esp + 0x80]
lea edi, [ebx + 0x1dc]
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.0x53dbde.0
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov eax, ebx
call fcn.0054bc84
xor eax, eax
call fcn.0050659c
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x53fc32
cmp byte [ebx + 0x1ff], 0
jne 0x53fc32
mov eax, dword [ebx + 0x22c]
call fcn.0047f584
test eax, eax
je 0x53fc32
mov eax, dword [ebx + 0x22c]
call fcn.0047f584
cmp byte [eax + 0x22b], 2
jne 0x53fc32
mov byte [ebx + 0x1ff], 1
cmp dword [0x597c78], 0
jne 0x53fb5e
mov ecx, dword [0x598a48]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x47b0a4]
call fcn.0047dcf0
mov dword [0x597c78], eax
mov eax, dword [0x597c78]
mov dword [eax + 0xc], 0xffffff9e
xor edx, edx
mov eax, dword [0x597c78]
call fcn.0047eb34
mov edx, 0x543c90
mov eax, dword [0x597c78]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [0x597c78]
mov dword [eax + 0x2bc], ebx
mov dword [eax + 0x2b8], 0x54a5d0
xor edx, edx
mov eax, dword [0x597c78]
call fcn.0047f4b4
push 0x58
push 0xf
call sub.user32.dll_GetSystemMetrics
dec eax
add eax, 4
push eax
push 0x3c
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
xor ecx, ecx
mov edx, dword [ebx + 0x248]
call fcn.005395f4
mov edi, eax
mov eax, dword [ebx + 0x22c]
call fcn.0053965c
mov edx, dword [ebx + 0x22c]
add eax, dword [edx + 0x44]
add edi, eax
push edi
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
xor ecx, ecx
mov edx, dword [ebx + 0x248]
call fcn.005395f4
push eax
lea edx, [esp + 0x94]
mov eax, dword [ebx + 0x22c]
call fcn.00464d24
mov eax, dword [esp + 0x9c]
sub eax, 0x3c
pop edx
sub eax, edx
push eax
push 0
mov eax, dword [0x597c78]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowPos
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov byte [ebx + 0x1ff], 0
cmp dword [0x597c78], 0
je 0x53fc5f
mov eax, 0x597c78
call fcn.0040ef34
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
cmp byte [ebx + 0x1fc], 0
je 0x53fc89
mov byte [ebx + 0x1fc], 0
mov eax, ebx
call fcn.0054bef8
mov dl, 1
mov eax, ebx
call fcn.0053b1a4
test eax, eax
je 0x53fc9c
cmp byte [ebx + 0x78], 0
jne 0x53fcaf
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov edx, esi
mov eax, ebx
call fcn.0053c974
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add eax, 0xfffffff8
sub eax, 2
jb 0x53fccb
sub eax, 0xa
jne 0x53fce3
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x53fce3
mov dl, 1
mov eax, ebx
call fcn.0054b450
mov eax, dword [esi + 0xc]
sub eax, 3
jb 0x53fcf0
sub eax, 2
jne 0x53fd03
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
cmp byte [ebx + 0x58], 1
jne case.0x53dbde.0
cmp dword [0x59a478], 0
jne case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je case.0x53dbde.0
mov eax, dword [esi + 0xc]
sub eax, 2
je 0x53fd41
add eax, 0xfffffff8
sub eax, 8
jae case.0x53dbde.0
mov eax, dword [esi + 0xc]
mov dword [0x59a478], eax
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [ebx + 0x248], 0
je case.0x53dbde.0
mov cl, 0xff
xor edx, edx
mov eax, dword [ebx + 0x248]
call fcn.0054ff20
jmp case.0x53dbde.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00545328
mov byte [0x597c6c], 0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
mov eax, dword [ebx + 0x54]
call fcn.00563d04
pop edx
call fcn.00560914
mov eax, dword [ebx + 0x248]
test eax, eax
je case.0x53dbde.0
cmp byte [eax + 0x30], 0
je case.0x53dbde.0
mov edx, dword [ebx + 0x20c]
and edx, 1
cmp edx, 1
je case.0x53dbde.0
call fcn.00550fb0
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
je case.0x53dbde.0
mov eax, ebx
call fcn.00549fe4
jmp case.0x53dbde.0
cmp byte [ebx + 0x78], 0
je 0x540300
cmp dword [ebx + 0x248], 0
je 0x53fe57
cmp dword [esi + 4], 0x13
jne 0x53fe57
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
cmp dword [ebx + 0x248], 0
je 0x53fe76
cmp dword [esi + 4], 0xffffffff
jne 0x53fe76
mov edx, esi
mov eax, dword [ebx + 0x248]
call fcn.0054f450
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
cmp eax, 8
jge 0x53fe91
sub eax, 3
je 0x53ff14
sub eax, 2
je 0x53ff01
jmp 0x540055
add eax, 0xfffffff8
sub eax, 2
jb 0x53fead
add eax, 0xfffffff6
sub eax, 2
jb 0x53fead
add eax, 0xffffffb1
sub eax, 3
jae 0x540055
cmp dword [0x597c74], 0
je 0x53fef2
cmp dword [esi + 4], 0x67
jne 0x53fed4
mov eax, dword [0x597c74]
mov eax, dword [eax + 0x234]
mov edx, dword [eax]
call dword [edx + 0x54]
test al, al
je case.0x53dbde.0
cmp dword [esi + 4], 0x66
jne 0x53fef2
mov eax, dword [0x597c74]
mov eax, dword [eax + 0x234]
mov edx, dword [eax]
call dword [edx + 0x58]
test al, al
je case.0x53dbde.0
mov edx, dword [esi + 4]
mov eax, ebx
call fcn.00545544
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
xor eax, eax
mov dword [esi + 0xc], eax
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [esi + 0xc], 0
jne case.0x53dbde.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00545328
mov byte [0x597c6c], 0
mov eax, dword [ebx + 0x54]
call fcn.00563d04
cmp byte [eax + 0x58], 0
jne 0x53ff68
mov eax, 0xc8
call fcn.00553c8c
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x1c], 0
jne case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x53ffca
mov eax, dword [0x598b40]
cmp dword [eax], 0
je case.0x53dbde.0
lea edx, [esp + 4]
mov eax, ebx
call fcn.00548084
mov eax, dword [ebx + 0x22c]
call fcn.0053965c
add eax, dword [esp + 8]
add eax, 4
push eax
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsIconic
shl eax, 4
pop ecx
sub ecx, eax
mov edx, dword [esp + 4]
mov eax, ebx
call fcn.00548308
jmp case.0x53dbde.0
lea edx, [esp + 0x70]
mov eax, ebx
call fcn.00548084
mov esi, dword [esp + 0x74]
mov dl, 1
mov eax, ebx
call fcn.0053afe4
add esi, eax
lea edx, [esp + 0x80]
mov eax, ebx
call fcn.00548164
lea eax, [esp + 0x80]
xor edx, edx
call fcn.005538a0
add esi, eax
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
xor ecx, ecx
mov edx, dword [ebx + 0x248]
call fcn.00539648
add esi, eax
push esi
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
xor ecx, ecx
mov edx, dword [ebx + 0x248]
call fcn.005395f4
mov esi, eax
lea edx, [esp + 0x7c]
mov eax, ebx
call fcn.00548084
add esi, dword [esp + 0x7c]
mov edx, esi
mov eax, ebx
pop ecx
call fcn.00548308
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x4c]
call fcn.0041e2e8
mov ecx, eax
add ecx, 0x3e8
dec ecx
mov eax, dword [esi + 4]
mov edx, 0x3e8
call fcn.00553764
test al, al
je 0x5400b7
mov edx, dword [esi + 4]
mov eax, ebx
call fcn.00545544
mov al, byte [0x543c9c]
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 + 0x4c]
call fcn.0054d050
mov edx, dword [esi + 4]
sub edx, 0x3e8
xor ecx, ecx
call fcn.0054d1c8
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x5400e8
push 0
mov ecx, 0xf012
mov edx, 0x112
mov eax, dword [ebx + 0x22c]
call fcn.00466550
jmp case.0x53dbde.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00545328
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
jne 0x540145
lea eax, [esp + 0x70]
push eax
movsx ecx, word [esi + 0xa]
xor edx, edx
mov eax, ebx
call fcn.00548640
mov edi, dword [esp + 0x74]
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
mov cl, 1
mov edx, dword [ebx + 0x248]
call fcn.00539648
mov ebp, eax
mov dl, 1
mov eax, ebx
call fcn.0053b1a4
add ebp, eax
cmp edi, ebp
jle 0x5402da
push 0
lea eax, [esp + 0x11]
push eax
push 0
push 0x26
call sub.user32.dll_SystemParametersInfoA
cmp byte [esp + 0xd], 0
je 0x5402c7
cmp byte [ebx + 0x58], 1
jne 0x540221
mov eax, dword [ebx + 0x22c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x540221
mov eax, dword [esi + 4]
sub eax, 5
je 0x540221
mov eax, dword [esi + 4]
sub eax, 2
je 0x540196
sub eax, 3
jne 0x5401a4
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [esi + 4]
add eax, 0xfffffff6
sub eax, 8
setb al
xor al, 1
mov byte [0x59a454], al
lea ecx, [esp + 4]
movsx edx, word [esi + 0xa]
movsx eax, word [esi + 8]
call fcn.00406a78
cmp byte [0x59a454], 0
je 0x5401f0
push 0
push 0xf010
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
jmp 0x54020d
push 0
push 0xf000
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov eax, ebx
call fcn.00549464
jmp case.0x53dbde.0
cmp dword [esi + 4], 2
jne 0x5402b4
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
je 0x5402b4
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x24]
cmp byte [eax + 6], 0
je 0x5402b4
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne 0x5402b4
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x24]
cmp byte [eax + 8], 0xff
je 0x5402b4
cmp byte [ebx + 0x94], 0
je 0x5402b4
cmp byte [ebx + 0x224], 0
jne 0x540297
mov byte [ebx + 0x224], 1
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetFocus
mov eax, ebx
call fcn.00538d28
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22e], 0
jne case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
mov edx, dword [eax]
call dword [edx + 0xc4]
jmp case.0x53dbde.0
mov eax, dword [esi + 4]
sub eax, 3
jne 0x5403f3
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00545328
mov byte [0x597c6c], 0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x540368
mov eax, dword [0x598b40]
cmp dword [eax], 0
je case.0x53dbde.0
lea edx, [esp + 4]
mov eax, ebx
call fcn.00548084
mov dl, 1
mov eax, ebx
call fcn.0053b1a4
mov ecx, eax
add ecx, dword [esp + 8]
add ecx, 4
mov edx, dword [esp + 4]
mov eax, ebx
call fcn.00548308
jmp case.0x53dbde.0
lea edx, [esp + 0x70]
mov eax, ebx
call fcn.00548084
mov esi, dword [esp + 0x74]
mov dl, 1
mov eax, ebx
call fcn.0053afe4
add esi, eax
lea edx, [esp + 0x80]
mov eax, ebx
call fcn.00548164
lea eax, [esp + 0x80]
xor edx, edx
call fcn.005538a0
add esi, eax
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
xor ecx, ecx
mov edx, dword [ebx + 0x248]
call fcn.00539648
add esi, eax
push esi
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
mov cl, 1
mov edx, dword [ebx + 0x248]
call fcn.005395f4
mov esi, eax
lea edx, [esp + 0x7c]
mov eax, ebx
call fcn.00548084
add esi, dword [esp + 0x7c]
mov edx, esi
mov eax, ebx
pop ecx
call fcn.00548308
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
cmp dword [esi + 4], 0x2f
jne 0x540467
cmp dword [ebx + 0x1f8], 0
je 0x540467
mov eax, dword [ebx + 0x1f8]
mov edx, dword [0x538090]
call fcn.00403930
test al, al
je 0x540467
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov edi, dword [ebx + 0x1f8]
mov eax, edi
call fcn.00552e80
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 + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [0x598910]
cmp dword [eax], 0
je 0x5404ad
mov eax, dword [0x598910]
mov eax, dword [eax]
test byte [eax + 0x1c], 0x10
jne 0x5404ad
mov eax, dword [0x598910]
mov eax, dword [eax]
xor edx, edx
call fcn.00560914
cmp byte [ebx + 0x58], 1
jne case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je case.0x53dbde.0
lea ecx, [esp + 0x70]
movsx edx, word [esi + 0xa]
movsx eax, word [esi + 8]
call fcn.00406a78
lea edx, [esp + 0x70]
lea ecx, [esp + 4]
mov eax, dword [ebx + 0x22c]
call fcn.00464e9c
mov eax, dword [esp + 4]
mov dword [esp], eax
mov edi, dword [esp + 8]
cmp byte [0x59a454], 0
je 0x540575
cmp byte [0x597c5c], 0
je 0x540512
mov byte [0x597c5c], 0
cmp byte [0x597c54], 0
je case.0x53dbde.0
mov ecx, dword [0x59a460]
mov edx, dword [0x59a464]
mov eax, ebx
call fcn.00549664
mov eax, dword [esp]
sub eax, dword [0x59a470]
add dword [0x59a464], eax
mov eax, edi
sub eax, dword [0x59a474]
add dword [0x59a460], eax
mov dword [0x59a474], edi
mov eax, dword [esp]
mov dword [0x59a470], eax
mov ecx, dword [0x59a460]
mov edx, dword [0x59a464]
mov eax, ebx
call fcn.00549664
jmp case.0x53dbde.0
cmp byte [0x597c5c], 0
je 0x540593
mov eax, dword [esp]
mov dword [0x59a470], eax
mov dword [0x59a474], edi
mov byte [0x597c5c], 0
cmp byte [0x597c54], 0
je case.0x53dbde.0
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.00549664
mov eax, dword [0x59a478]
add eax, 0xfffffff6
cmp eax, 6
ja case.default.0x5405bc
jmp dword [eax*4 + 0x5405c3]
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x40]
add eax, dword [esp]
sub eax, dword [0x59a470]
mov dword [0x59a464], eax
mov eax, dword [0x59a46c]
sub eax, dword [0x59a464]
cmp eax, dword [0x59a480]
jge 0x54091e
mov eax, dword [0x59a46c]
sub eax, dword [0x59a480]
mov dword [0x59a464], eax
jmp 0x54091e
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x40]
mov edx, dword [ebx + 0x22c]
add eax, dword [edx + 0x48]
add eax, dword [esp]
sub eax, dword [0x59a470]
mov dword [0x59a46c], eax
mov eax, dword [0x59a46c]
sub eax, dword [0x59a464]
cmp eax, dword [0x59a480]
jge 0x54091e
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x40]
add eax, dword [0x59a480]
mov dword [0x59a46c], eax
jmp 0x54091e
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x44]
mov edx, dword [ebx + 0x22c]
add eax, dword [edx + 0x4c]
add edi, eax
sub edi, dword [0x59a474]
mov dword [0x59a468], edi
mov eax, dword [0x59a468]
sub eax, dword [0x59a460]
cmp eax, dword [0x59a47c]
jge 0x54091e
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x44]
add eax, dword [0x59a47c]
mov dword [0x59a468], eax
jmp 0x54091e
mov eax, dword [ebx + 0x22c]
add edi, dword [eax + 0x44]
sub edi, dword [0x59a474]
mov dword [0x59a460], edi
mov eax, dword [0x59a468]
sub eax, dword [0x59a460]
cmp eax, dword [0x59a47c]
jge 0x54091e
mov eax, dword [0x59a468]
sub eax, dword [0x59a47c]
mov dword [0x59a460], eax
jmp 0x54091e
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x44]
mov edx, dword [ebx + 0x22c]
add eax, dword [edx + 0x4c]
add edi, eax
sub edi, dword [0x59a474]
mov dword [0x59a468], edi
mov eax, dword [0x59a468]
sub eax, dword [0x59a460]
cmp eax, dword [0x59a47c]
jge 0x54074a
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x44]
add eax, dword [0x59a47c]
mov dword [0x59a468], eax
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x40]
add eax, dword [esp]
sub eax, dword [0x59a470]
mov dword [0x59a464], eax
mov eax, dword [0x59a46c]
sub eax, dword [0x59a464]
cmp eax, dword [0x59a480]
jge 0x54091e
mov eax, dword [0x59a46c]
sub eax, dword [0x59a480]
mov dword [0x59a464], eax
jmp 0x54091e
mov eax, dword [ebx + 0x22c]
add edi, dword [eax + 0x44]
sub edi, dword [0x59a474]
mov dword [0x59a460], edi
mov eax, dword [0x59a468]
sub eax, dword [0x59a460]
cmp eax, dword [0x59a47c]
jge 0x5407c5
mov eax, dword [0x59a468]
sub eax, dword [0x59a47c]
mov dword [0x59a460], eax
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x40]
mov edx, dword [ebx + 0x22c]
add eax, dword [edx + 0x48]
add eax, dword [esp]
sub eax, dword [0x59a470]
mov dword [0x59a46c], eax
mov eax, dword [0x59a46c]
sub eax, dword [0x59a464]
cmp eax, dword [0x59a480]
jge 0x54091e
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x40]
add eax, dword [0x59a480]
mov dword [0x59a46c], eax
jmp 0x54091e
mov eax, dword [ebx + 0x22c]
add edi, dword [eax + 0x44]
sub edi, dword [0x59a474]
mov dword [0x59a460], edi
mov eax, dword [0x59a468]
sub eax, dword [0x59a460]
cmp eax, dword [0x59a47c]
jge 0x54084d
mov eax, dword [0x59a468]
sub eax, dword [0x59a47c]
mov dword [0x59a460], eax
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x40]
add eax, dword [esp]
sub eax, dword [0x59a470]
mov dword [0x59a464], eax
mov eax, dword [0x59a46c]
sub eax, dword [0x59a464]
cmp eax, dword [0x59a480]
jge 0x54091e
mov eax, dword [0x59a46c]
sub eax, dword [0x59a480]
mov dword [0x59a464], eax
jmp 0x54091e
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x44]
mov edx, dword [ebx + 0x22c]
add eax, dword [edx + 0x4c]
add edi, eax
sub edi, dword [0x59a474]
mov dword [0x59a468], edi
mov eax, dword [0x59a468]
sub eax, dword [0x59a460]
cmp eax, dword [0x59a47c]
jge 0x5408d7
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x44]
add eax, dword [0x59a47c]
mov dword [0x59a468], eax
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x40]
mov edx, dword [ebx + 0x22c]
add eax, dword [edx + 0x48]
add eax, dword [esp]
sub eax, dword [0x59a470]
mov dword [0x59a46c], eax
mov eax, dword [0x59a46c]
sub eax, dword [0x59a464]
cmp eax, dword [0x59a480]
jge 0x54091e
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x40]
add eax, dword [0x59a480]
mov dword [0x59a46c], eax
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.00549664
jmp case.0x53dbde.0
mov eax, dword [esi + 4]
add eax, 0xfffffffe
sub eax, 2
jb case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov eax, ebx
call fcn.0053a698
test al, al
je 0x5409bd
cmp dword [ebx + 0x248], 0
je 0x54097c
cmp dword [esi + 4], 0xffffffff
jne 0x54097c
mov edx, esi
mov eax, dword [ebx + 0x248]
call fcn.0054f450
mov dword [esi + 4], eax
jmp 0x540988
mov edx, esi
mov eax, ebx
call fcn.0053c974
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add eax, 0xfffffffe
sub eax, 2
jae case.0x53dbde.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00545328
mov byte [0x597c6c], 0
movsx ecx, word [esi + 0xa]
movsx edx, word [esi + 8]
mov eax, ebx
call fcn.00548308
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
cmp byte [ebx + 0x78], 0
je 0x540fae
cmp dword [ebx + 0x248], 0
je 0x5409f9
cmp dword [esi + 4], 0xffffffff
jne 0x5409f9
mov edx, esi
mov eax, dword [ebx + 0x248]
call fcn.0054f450
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
cmp eax, 0x15
jg 0x540a21
je 0x540d2a
sub eax, 8
je 0x540bcb
dec eax
je 0x540aba
sub eax, 0xb
je 0x540a3d
jmp 0x540e55
sub eax, 0x65
je 0x540d91
dec eax
je 0x540dd0
dec eax
je 0x540e0b
jmp 0x540e55
cmp byte [0x597c6c], 0
je case.0x53dbde.0
xor eax, eax
mov dword [ebx + 0x114], eax
push 0
push 0xf060
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x1c], 8
jne case.0x53dbde.0
mov eax, ebx
call fcn.0054bc84
cmp dword [ebx + 0x22c], 0
je case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x57], 0
je case.0x53dbde.0
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00545328
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x234]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
jne 0x540aef
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
jne case.0x53dbde.0
mov eax, dword [ebx + 0x234]
mov edx, dword [eax]
call dword [edx + 0x58]
test al, al
je case.0x53dbde.0
cmp byte [0x597c6c], 0
je 0x540bad
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00545328
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
jne 0x540b68
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
je 0x540b34
xor edx, edx
mov eax, dword [ebx + 0x22c]
call fcn.0047fc2c
jmp 0x540b3b
xor eax, eax
mov dword [0x597c74], eax
push 0
push 0xf120
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebx + 0x22c]
mov edx, dword [eax]
call dword [edx + 0x80]
jmp 0x540b9b
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x540b7e
xor eax, eax
mov dword [0x597c74], eax
push 0
push 0xf030
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
xor edx, edx
mov eax, dword [ebx + 0x234]
call fcn.0054cbec
jmp case.0x53dbde.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00545328
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
cmp byte [0x597c6c], 0
je 0x540d0c
cmp dword [ebx + 0x248], 0
je 0x540c0c
movsx edx, word [esi + 0xa]
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
sub edx, dword [eax + 0x44]
movsx eax, word [esi + 8]
mov ecx, dword [ebx + 0x248]
mov ecx, dword [ecx + 0x10]
sub eax, dword [ecx + 0x40]
lea ecx, [esp + 4]
call fcn.00406a78
jmp 0x540c20
lea eax, [esp + 4]
push eax
movsx ecx, word [esi + 0xa]
movsx edx, word [esi + 8]
mov eax, ebx
call fcn.00548640
lea edx, [esp + 4]
lea eax, [ebx + 0xcc]
call fcn.00406a80
test al, al
je 0x540cf9
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00545328
mov eax, dword [0x598a48]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x22c]
jne 0x540c81
mov byte [ebx + 0x202], 1
push 0
push 0xf020
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
mov byte [ebx + 0x202], 0
jmp 0x540ce6
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x540cb5
push 0
push 0xf120
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
jmp 0x540ce6
or dword [ebx + 0x20c], 0x100
push 0
push 0xf020
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
and dword [ebx + 0x20c], 0xfffffeff
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov byte [ebx + 0x9e], 1
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00545328
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
cmp byte [0x597c6c], 0
je 0x540d81
push 0
push 0xf180
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00545328
xor edx, edx
mov eax, dword [ebx + 0x234]
call fcn.0054cbec
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, dword [ebx + 0x22c]
call fcn.00466550
jmp case.0x53dbde.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00545328
jmp case.0x53dbde.0
cmp byte [0x597c6c], 0
je case.0x53dbde.0
push 0
push 0xf060
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.0047f584
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.00545328
jmp case.0x53dbde.0
cmp byte [0x597c6c], 0
je 0x540dfb
push 0
push 0xf120
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.0047f584
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.00545328
jmp case.0x53dbde.0
cmp byte [0x597c6c], 0
je 0x540e45
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
call fcn.00563aac
push 0
push 0xf020
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.0047f584
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00545328
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x4c]
call fcn.0041e2e8
mov ecx, eax
add ecx, 0x3e8
dec ecx
mov eax, dword [esi + 4]
mov edx, 0x3e8
call fcn.00553764
test al, al
je 0x540ec1
cmp byte [0x597c6c], 0
je 0x540eb1
mov al, byte [0x543c9c]
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 + 0x4c]
call fcn.0054d050
mov edx, dword [esi + 4]
sub edx, 0x3e8
xor ecx, ecx
call fcn.0054d1f0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00545328
jmp 0x540fa2
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x540f2d
mov eax, dword [0x598b40]
cmp dword [eax], 0
je 0x540f1d
lea edx, [esp + 0x70]
mov eax, ebx
call fcn.00548084
mov esi, dword [esp + 0x70]
lea eax, [esp + 0x78]
call fcn.005145dc
add esi, dword [esp + 0x78]
push esi
lea eax, [esp + 0x94]
call fcn.005145dc
mov ecx, dword [esp + 0x98]
mov eax, ebx
pop edx
call fcn.00548308
jmp 0x540fa2
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp 0x540fa2
cmp byte [ebx + 0x58], 1
jne 0x540f94
mov eax, dword [ebx + 0x22c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x540f94
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
je 0x540f94
cmp byte [0x597c54], 0
je 0x540f94
lea ecx, [esp + 0x70]
movsx edx, word [esi + 0xa]
movsx eax, word [esi + 8]
call fcn.00406a78
lea edx, [esp + 0x70]
lea ecx, [esp + 4]
mov eax, dword [ebx + 0x22c]
call fcn.00464e9c
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov eax, ebx
call fcn.00549564
call sub.user32.dll_ReleaseCapture
jmp 0x540fa2
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov byte [0x597c6c], 0
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
xor eax, eax
mov dword [esi + 0xc], eax
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [ebx + 0x204], 0
je 0x540fed
lea eax, [ebx + 0x204]
call fcn.0040ef34
mov eax, dword [ebx + 0x54]
call fcn.00563d04
push eax
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
mov edx, 3
pop ecx
call fcn.00517f78
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x2f4], 1
jne 0x541073
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x57], 0
je 0x541073
mov eax, ebx
call fcn.005399dc
test al, al
jne 0x541073
mov eax, dword [ebx + 0x54]
mov ax, word [eax + 0x52]
and ax, 0x800
cmp ax, 0x800
je 0x541060
mov dword [ebx + 0x230], 0xffffffff
mov byte [ebx + 0x211], 1
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
test byte [ebx + 0x1c], 1
jne case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x2f4], 1
jne case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x1c], 8
jne case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
xor ecx, ecx
mov dl, 1
call fcn.00539914
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x54112f
mov eax, dword [0x598b40]
cmp dword [eax], 0
je 0x54112f
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.0047f584
test eax, eax
je 0x54112f
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.0047f584
cmp byte [eax + 0x22b], 2
jne 0x54112f
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.0047f584
cmp eax, dword [ebx + 0x22c]
jne case.0x53dbde.0
cmp byte [ebx + 0x9d], 0
jne 0x54114a
mov eax, ebx
call fcn.00548fe4
test al, al
je 0x54114a
mov byte [ebx + 0x9d], 1
mov ebp, dword [esi + 4]
mov eax, dword [ebx + 0x54]
mov dword [eax + 0x58], ebp
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x1c], 0
cmp dword [ebx + 0x248], 0
je 0x541255
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x39], 0
je 0x541177
mov eax, ebx
call fcn.00546790
push 0xcc0020
push 0
push 0
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
call fcn.0042f800
call fcn.0042ad0c
push eax
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
mov eax, dword [ebx + 0x54]
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.0054880c
push eax
mov eax, ebx
call fcn.00548774
mov edx, eax
mov eax, ebp
pop ecx
call fcn.00463cc0
lea eax, [esp + 0x20]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_GetClientRect
lea eax, [esp + 0x20]
xor edx, edx
call fcn.005538a0
push eax
lea eax, [esp + 0x24]
xor edx, edx
call fcn.0055388c
push eax
push 0
push 0
push ebp
call sub.gdi32.dll_IntersectClipRect
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
je 0x54147c
lea ecx, [esp + 0x70]
xor edx, edx
xor eax, eax
call fcn.00406a78
lea eax, [esp + 0x70]
push eax
push 0
mov eax, dword [ebx + 0x20c]
and eax, 0x200
cmp eax, 0x200
sete al
xor al, 1
push eax
mov cl, 1
mov edx, dword [ebx + 0x22c]
mov eax, ebp
call fcn.00517a00
jmp 0x54147c
cmp byte [ebx + 0x78], 0
je 0x541398
mov eax, ebx
call fcn.0053a698
test al, al
jne 0x54138f
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
call fcn.0053a240
test al, al
je 0x54138f
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x39], 0
je 0x541296
mov eax, ebx
call fcn.00546790
mov eax, dword [ebx + 0x22c]
mov edi, dword [eax + 0x16c]
add edi, 3
push 0xcc0020
push 0
push 0
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
call fcn.0042f800
call fcn.0042ad0c
push eax
push edi
mov eax, dword [ebx + 0x22c]
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 + 0x54]
mov eax, dword [eax + 0x44]
call fcn.0042f800
call fcn.0042ad0c
push eax
mov eax, dword [ebx + 0x54]
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 + 0x22c]
mov eax, dword [eax + 0x4c]
sub eax, edi
push eax
push edi
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
call fcn.0042f800
call fcn.0042ad0c
push eax
push edi
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x48]
sub eax, edi
push eax
mov eax, dword [ebx + 0x22c]
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 + 0x54]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x2c]
sub eax, edi
push eax
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
call fcn.0042f800
call fcn.0042ad0c
push eax
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
push edi
push edi
mov eax, dword [ebx + 0x54]
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 0x541398
mov edx, ebp
mov eax, ebx
call fcn.00544d44
mov eax, ebx
call fcn.0054880c
push eax
mov eax, ebx
call fcn.00548774
mov edx, eax
mov eax, ebp
pop ecx
call fcn.00463cc0
lea eax, [esp + 0x20]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_GetClientRect
lea eax, [esp + 0x20]
xor edx, edx
call fcn.005538a0
push eax
lea eax, [esp + 0x24]
xor edx, edx
call fcn.0055388c
push eax
push 0
push 0
push ebp
call sub.gdi32.dll_IntersectClipRect
mov eax, dword [ebx + 0x54]
mov ax, word [eax + 0x52]
and ax, 1
cmp ax, 1
je 0x541407
mov cl, 1
mov edx, ebp
mov eax, ebx
call fcn.00544fe4
jmp 0x54147c
push ebp
call sub.gdi32.dll_SaveDC
mov esi, eax
push 0
push 0
xor ecx, ecx
mov edx, dword [ebx + 0x22c]
mov eax, ebp
call fcn.0051e8ac
mov cl, 1
mov edx, ebp
mov eax, ebx
call fcn.00544fe4
push esi
push ebp
call sub.gdi32.dll_RestoreDC
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
je 0x54147c
lea ecx, [esp + 0x70]
xor edx, edx
xor eax, eax
call fcn.00406a78
lea eax, [esp + 0x70]
push eax
push 0
mov eax, dword [ebx + 0x20c]
and eax, 0x200
cmp eax, 0x200
sete al
xor al, 1
push eax
mov cl, 1
mov edx, dword [ebx + 0x22c]
mov eax, ebp
call fcn.00517a00
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x5414a5
push 0
push ebp
push 0x317
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x254]
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebx + 0x54]
xor edx, edx
mov dword [eax + 0x58], edx
mov eax, dword [ebx + 0x22c]
cmp word [eax + 0x2ba], 0
je case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
call fcn.0047f76c
mov edx, ebp
call fcn.0042ad8c
mov esi, dword [ebx + 0x22c]
mov edx, dword [ebx + 0x22c]
mov eax, dword [esi + 0x2bc]
call dword [esi + 0x2b8]
mov eax, dword [ebx + 0x22c]
call fcn.0047f76c
xor edx, edx
call fcn.0042ad8c
jmp case.0x53dbde.0
xor eax, eax
mov dword [esi + 0xc], eax
jmp case.0x53dbde.0
cmp dword [ebx + 0x234], 0
jne 0x54151c
mov eax, ebx
call fcn.00549fe4
cmp byte [ebx + 0x78], 0
je 0x541583
mov eax, dword [ebx + 0x54]
mov ax, word [eax + 0x52]
and ax, 0x800
cmp ax, 0x800
je case.0x53dbde.0
mov eax, dword [ebx + 0x54]
mov ax, word [eax + 0x52]
and ax, 0x400
cmp ax, 0x400
je case.0x53dbde.0
mov eax, ebx
call fcn.00539598
test al, al
je 0x54156d
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x248]
cmp dword [eax + 0x38], 0
je case.0x53dbde.0
mov eax, dword [ebx + 0x20c]
and eax, 0x200
cmp eax, 0x200
je case.0x53dbde.0
cmp byte [ebx + 0x1fc], 0
je 0x54159a
mov byte [ebx + 0x1fc], 0
mov eax, ebx
call fcn.0054bef8
cmp dword [ebx + 0x204], 0
jne 0x5415b8
cmp byte [ebx + 0x78], 0
je 0x5415b8
lea edx, [ebx + 0x204]
xor ecx, ecx
mov eax, ebx
call fcn.0053a594
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x30], 0
je 0x5415df
mov eax, dword [ebx + 0x54]
call fcn.00563d18
mov edx, dword [ebx + 0x54]
mov byte [edx + 0x1c], al
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x1c], 0
jne case.0x53dbde.0
cmp byte [ebx + 0x78], 0
je 0x5416a9
mov eax, dword [0x5985d8]
cmp byte [eax], 0
je 0x541606
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
je 0x5416a9
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x541622
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
cmp byte [ebx + 0x203], 0
jne case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je case.0x53dbde.0
test byte [ebx + 0x1c], 1
jne case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x55], 2
jne case.0x53dbde.0
cmp dword [ebx + 0x234], 0
je case.0x53dbde.0
cmp dword [ebx + 0x208], 0
jne 0x541679
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x30]
mov eax, dword [ebx + 0x54]
cmp dword [eax + 0x44], 0
jne 0x541698
mov eax, dword [ebx + 0x54]
call fcn.00563d04
call fcn.00561358
mov edx, eax
mov eax, ebx
call fcn.0054ba30
mov eax, ebx
call fcn.0054aa38
xor eax, eax
mov dword [esi + 0xc], eax
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x541a1c
mov eax, dword [ebx + 0x54]
mov ax, word [eax + 0x52]
and ax, 0x800
cmp ax, 0x800
je case.0x53dbde.0
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x1c], 0
jne case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x54], 0x80
jne 0x541963
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x541963
mov eax, dword [ebx + 0x54]
call fcn.005621f8
test al, al
je 0x541757
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x54188f
mov eax, dword [ebx + 0x22c]
call fcn.0047f584
test eax, eax
je 0x54188f
mov eax, dword [ebx + 0x22c]
call fcn.0047f584
cmp byte [eax + 0x22b], 2
jne 0x54188f
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x541853
mov eax, dword [ebx + 0x54]
cmp dword [eax + 0x44], 0
je 0x541853
mov eax, dword [0x598b40]
cmp dword [eax], 0
je 0x541853
lea eax, [esp + 0x20]
push eax
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_GetClientRect
lea edx, [esp + 0x80]
mov eax, dword [ebx + 0x22c]
call fcn.00464d24
lea edx, [esp + 0x80]
lea eax, [esp + 0x20]
call fcn.00406a80
test al, al
je 0x541853
lea edx, [esp + 0x80]
mov eax, dword [ebx + 0x22c]
call fcn.00464d24
lea edx, [esp + 0x88]
lea eax, [esp + 0x20]
call fcn.00406a80
test al, al
je 0x541853
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
mov cl, 1
mov edx, dword [ebx + 0x248]
call fcn.00539648
mov edi, eax
mov dl, 1
mov eax, ebx
call fcn.0053b1a4
add edi, eax
mov eax, ebx
call fcn.00548900
mov ebp, eax
mov eax, ebx
call fcn.00548fc8
imul ebp, eax
add edi, ebp
inc edi
push edi
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
mov edx, dword [eax]
call dword [edx + 0x20]
pop edx
call fcn.00431afc
mov edx, eax
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov edx, dword [esi + 4]
mov eax, ebx
call fcn.0054a834
cmp byte [0x597c70], 0
je 0x541a10
mov byte [0x597c70], 0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x541a10
mov dword [0x597c74], ebx
jmp 0x541a10
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x1c], 0
jne 0x541a10
mov eax, dword [ebx + 0x54]
cmp dword [eax + 0x44], 0
je 0x541953
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x39], 0
jne 0x541953
mov eax, dword [ebx + 0x22c]
call fcn.00464dcc
push eax
lea eax, [esp + 0x84]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00464d88
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.00406a5c
lea eax, [esp + 0x80]
push eax
mov eax, dword [esi + 4]
push eax
push 0
push 0
push 0
mov eax, ebx
call fcn.0054880c
mov edi, eax
mov eax, dword [ebx + 0x22c]
call fcn.00464dcc
add edi, eax
push edi
lea eax, [esp + 0xb0]
push eax
mov eax, ebx
call fcn.00548774
mov edi, eax
mov eax, dword [ebx + 0x22c]
call fcn.00464d88
add edi, eax
push edi
mov eax, ebx
call fcn.0054880c
push eax
mov eax, ebx
call fcn.00548774
pop edx
pop ecx
call fcn.00406a5c
lea ecx, [esp + 0xac]
mov edx, dword [ebx + 0x54]
mov eax, dword [ebx + 0x22c]
call fcn.00565470
mov eax, dword [ebx + 0x22c]
call fcn.005177e4
jmp 0x541a10
cmp dword [esi + 4], 0
je 0x541a10
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x39], 0
jne 0x541a10
mov eax, dword [ebx + 0x54]
call fcn.005621f8
test al, al
je 0x5419cf
push 0xcc0020
mov eax, ebx
call fcn.0054880c
push eax
mov eax, ebx
call fcn.00548774
push eax
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
call fcn.0042f800
call fcn.0042ad0c
push eax
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x4c]
push eax
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x48]
push eax
push 0
push 0
mov eax, dword [esi + 4]
push eax
call sub.gdi32.dll_BitBlt
jmp 0x541a10
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.00562a64
push eax
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x4c]
push eax
lea eax, [esp + 0x88]
push eax
mov eax, dword [ebx + 0x22c]
mov ecx, dword [eax + 0x48]
xor edx, edx
xor eax, eax
call fcn.00406a5c
lea edx, [esp + 0x84]
mov eax, dword [esi + 4]
pop ecx
call fcn.0051e610
mov dword [esi + 0xc], 1
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x54], 0x80
jne case.0x53dbde.0
cmp dword [ebx + 0x248], 0
je 0x541a86
mov eax, ebx
call fcn.005399dc
test al, al
jne 0x541a86
mov eax, dword [ebx + 0x248]
cmp dword [eax + 0x10], 0
je 0x541a77
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x541a86
mov cl, 0xff
xor edx, edx
mov eax, dword [ebx + 0x248]
call fcn.0054ff20
mov eax, dword [ebx + 0x54]
call fcn.005621f8
test al, al
je 0x541b6d
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x541b5d
mov edx, esi
mov eax, ebx
call fcn.0054b244
cmp byte [0x597c70], 0
je 0x541aee
mov byte [0x597c70], 0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x541aee
push 0
push 0xf030
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x541b53
cmp dword [esi + 4], 0
jne 0x541b16
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_GetDC
mov ebp, eax
lea ecx, [esp + 0x70]
xor edx, edx
xor eax, eax
call fcn.00406a78
lea eax, [esp + 0x70]
push eax
push 0
push 1
mov cl, 1
mov edx, dword [ebx + 0x22c]
mov eax, ebp
call fcn.00517a00
cmp dword [esi + 4], 0
jne 0x541b53
push ebp
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_ReleaseDC
xor eax, eax
mov dword [esi + 0xc], eax
jmp 0x541be1
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp 0x541be1
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x541bd3
test byte [ebx + 0x1c], 8
jne 0x541ba0
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x39], 0
je 0x541ba0
push 0xffffffffffffffff
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_InvalidateRect
lea eax, [esp + 0x30]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_BeginPaint
lea eax, [esp + 0x30]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_EndPaint
xor eax, eax
mov dword [esi + 0xc], eax
jmp 0x541be1
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, ebx
call fcn.005399dc
test al, al
jne case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp word [eax + 0x2ba], 0
je case.0x53dbde.0
mov esi, dword [ebx + 0x22c]
mov edx, dword [ebx + 0x22c]
mov eax, dword [esi + 0x2bc]
call dword [esi + 0x2b8]
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [0x598a9c]
cmp dword [eax], 0
je case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
call fcn.0046bec0
test al, al
je case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
call fcn.0053b2a4
jmp case.0x53dbde.0
test byte [ebx + 0x1c], 8
jne 0x542219
cmp byte [ebx + 0x78], 0
je 0x542219
mov eax, dword [ebx + 0x22c]
call fcn.0046bec0
test al, al
je 0x542219
cmp dword [ebx + 0x234], 0
jne 0x541c9c
mov eax, ebx
call fcn.00549fe4
or dword [ebx + 0x20c], 0x8000
mov eax, dword [ebx + 0x20c]
and eax, 0x80
cmp eax, 0x80
je 0x541cc5
cmp dword [esi + 4], 1
sbb eax, eax
inc eax
mov byte [ebx + 0x224], al
cmp byte [ebx + 0x224], 0
jne 0x541ce0
cmp byte [ebx + 0x201], 3
jne 0x541ce0
mov byte [ebx + 0x201], 0
jmp 0x541d0e
cmp byte [ebx + 0x201], 3
je 0x541cfc
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.005642dc
jmp 0x541d0e
cmp dword [ebx + 0x248], 0
sete dl
mov eax, dword [ebx + 0x54]
call fcn.005642dc
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x541f99
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x541f99
cmp word [esi + 4], 0
setne al
cmp al, byte [ebx + 0x224]
je 0x541d51
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
call fcn.00539880
test al, al
je 0x541e5b
cmp dword [ebx + 0x248], 0
jne 0x541d83
push 0
push 0
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
jmp 0x541eb3
mov eax, dword [ebx + 0x54]
cmp dword [eax + 0x44], 0
je 0x541eb3
mov eax, ebx
call fcn.00548900
test eax, eax
jle 0x541eb3
mov eax, dword [ebx + 0x248]
cmp dword [eax + 0x10], 0
jne 0x541db6
mov eax, dword [ebx + 0x248]
call fcn.00550f2c
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x248]
call fcn.00550dc4
push eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowRgn
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x2e0], 0
je 0x541e16
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bbbc
mov edx, dword [ebx + 0x22c]
xor ecx, ecx
mov cl, byte [edx + 0x2e1]
mov edx, dword [ebx + 0x54]
mov edx, dword [edx + 0x44]
call fcn.005385cc
jmp 0x541e36
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bbbc
mov edx, dword [ebx + 0x54]
mov edx, dword [edx + 0x44]
mov ecx, 0xff
call fcn.005385cc
push 0x613
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowPos
jmp 0x541eb3
cmp byte [ebx + 0x203], 0
jne 0x541e6d
cmp byte [ebx + 0x1fc], 0
je 0x541e86
push 0
push 0
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
jmp 0x541eb3
cmp dword [ebx + 0x248], 0
je 0x541e9a
mov eax, ebx
call fcn.00539598
test al, al
je 0x541eb3
mov eax, dword [ebx + 0x22c]
cmp word [eax + 0x2ba], 0
jne 0x541eb3
xor edx, edx
mov eax, ebx
call fcn.00539d7c
cmp dword [ebx + 0x248], 0
je 0x541ed7
cmp byte [ebx + 0x203], 0
jne 0x541ed7
call fcn.00539880
test al, al
jne 0x541ed7
xor edx, edx
mov eax, ebx
call fcn.0053a258
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
call fcn.00539880
test al, al
je 0x541f2e
cmp dword [ebx + 0x248], 0
jne 0x541fa7
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
push 0x181
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_RedrawWindow
jmp 0x541fa7
cmp byte [ebx + 0x203], 0
jne 0x541f40
cmp byte [ebx + 0x1fc], 0
je 0x541f59
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
jmp 0x541f74
cmp dword [ebx + 0x248], 0
je 0x541f6d
mov eax, ebx
call fcn.00539598
test al, al
je 0x541f74
mov eax, ebx
call fcn.0053a078
cmp byte [ebx + 0x1fc], 0
je 0x541fa7
push 0x85
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_RedrawWindow
jmp 0x541fa7
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [ebx + 0x22c], 0
je 0x54208f
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x57], 0
je 0x54208f
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x54208f
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x2f4], 0x10
je 0x54208f
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x2f4], 4
je 0x54208f
mov eax, dword [0x598b40]
cmp dword [eax], 0
je 0x54208f
mov eax, dword [0x598b40]
mov eax, dword [eax]
cmp dword [eax + 0x220], 0
je 0x54208f
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
mov byte [eax + 0x39], 1
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov dword [eax + 0x230], 0xffffffff
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x220]
call fcn.004e1720
push 0
push 0
push 0x85
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
push 0
push 0
push 0x85
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
mov eax, dword [eax + 0x254]
push eax
call sub.user32.dll_SendMessageA
push 0xffffffffffffffec
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0x80000
cmp eax, 0x80000
jne 0x5420be
cmp dword [ebx + 0x1f8], 0
jne 0x5420be
mov eax, ebx
call fcn.0054c0e8
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x54], 0x40
jne case.0x53dbde.0
mov eax, ebx
call fcn.0053a698
test al, al
je 0x542174
mov eax, dword [ebx + 0x20c]
and eax, 0x80
cmp eax, 0x80
je 0x542174
mov eax, ebx
call fcn.00548f5c
test al, al
je 0x54214c
cmp word [esi + 4], 0
jne 0x542119
mov eax, dword [ebx + 0x22c]
call fcn.0047f584
cmp byte [eax + 0x22e], 0
je 0x542174
cmp word [esi + 4], 0
jne 0x542138
mov eax, dword [ebx + 0x22c]
call fcn.0047f584
cmp byte [eax + 0x22e], 0
jne 0x542138
xor eax, eax
jmp 0x54213a
mov al, 1
mov byte [ebx + 0x224], al
mov dword [ebx + 0x230], 0xffffffff
jmp 0x542174
cmp word [esi + 4], 0
setne al
cmp al, byte [ebx + 0x224]
je 0x542174
cmp word [esi + 4], 0
setne al
mov byte [ebx + 0x224], al
mov dword [ebx + 0x230], 0xffffffff
and dword [ebx + 0x20c], 0xffff7fff
cmp dword [ebx + 0x1f8], 0
je 0x542193
mov eax, dword [ebx + 0x1f8]
cmp byte [eax + 0x30], 0
jne 0x5421b2
mov eax, ebx
call fcn.0054c0e8
cmp dword [ebx + 0x248], 0
je 0x5421b2
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x248]
call fcn.0054ff20
mov eax, dword [ebx + 0x54]
call fcn.00563d04
test byte [eax + 0x1c], 0x10
jne 0x5421d3
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.005642e0
mov edx, eax
mov eax, ebx
call fcn.005493e8
cmp byte [ebx + 0x9d], 0
jne 0x5421ee
mov eax, ebx
call fcn.00548fe4
test al, al
je 0x5421ee
mov byte [ebx + 0x9d], 1
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.005642e0
test al, al
je case.0x53dbde.0
cmp dword [ebx + 0x208], 0
jne case.0x53dbde.0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x30]
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [ebx + 0x248], 0
je case.0x53dbde.0
mov eax, dword [ebx + 0x20c]
and eax, 0x100
cmp eax, 0x100
je case.0x53dbde.0
mov cl, 0xff
xor edx, edx
mov eax, dword [ebx + 0x248]
call fcn.0054ff20
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x54234d
mov eax, dword [0x598b40]
cmp dword [eax], 0
je 0x54234d
mov eax, dword [0x598b40]
mov eax, dword [eax]
test byte [eax + 0x1c], 8
jne 0x54234d
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
je 0x542317
mov byte [ebx + 0x9d], 0
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov byte [eax + 0x211], 1
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
mov byte [eax + 0x39], 1
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov dword [eax + 0x230], 0xffffffff
push 0
push 0
push 0x85
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
jmp 0x54234d
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
mov byte [eax + 0x39], 1
push 0
push 0
push 0x85
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
mov al, 1
call fcn.0053d100
mov dword [0x597c74], ebx
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x542416
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [ebx + 0x204], 0
jne 0x542397
cmp byte [ebx + 0x78], 0
je 0x542397
lea edx, [ebx + 0x204]
xor ecx, ecx
mov eax, ebx
call fcn.0053a594
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x54], 0x40
jne case.0x53dbde.0
mov dword [ebx + 0x230], 0xffffffff
cmp word [esi + 4], 1
jne case.0x53dbde.0
mov eax, dword [ebx + 0x54]
call fcn.00563d04
test byte [eax + 0x1c], 0x10
jne 0x5423dd
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.005642e0
mov edx, eax
mov eax, ebx
call fcn.005493e8
cmp dword [ebx + 0x234], 0
je 0x5423f3
xor edx, edx
mov eax, dword [ebx + 0x234]
call fcn.0054cbec
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x229], 0
jne case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
call fcn.005177e4
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
cmp byte [ebx + 0x1fc], 0
je 0x54245c
cmp dword [esi + 4], 1
jne 0x54245c
mov byte [ebx + 0x1fc], 0
mov eax, ebx
call fcn.0054bef8
mov eax, dword [ebx + 0x54]
call fcn.00563d04
call fcn.00561358
mov edx, eax
mov eax, ebx
call fcn.0054ba30
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [esi + 4], 0
jne 0x5424b1
cmp dword [ebx + 0x54], 0
je 0x5424a5
mov eax, dword [ebx + 0x54]
cmp dword [eax + 0x44], 0
je 0x5424a5
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x1c], 8
jne 0x5424a5
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, ebx
call fcn.0054bc84
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x30], 0
je case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
call fcn.005177e4
jmp case.0x53dbde.0
cmp byte [ebx + 0x58], 1
jne 0x54251f
cmp byte [0x597c54], 0
je 0x54251f
lea ecx, [esp + 0x70]
movsx edx, word [esi + 0xa]
movsx eax, word [esi + 8]
call fcn.00406a78
lea edx, [esp + 0x70]
lea ecx, [esp + 4]
mov eax, dword [ebx + 0x22c]
call fcn.00464e9c
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov eax, ebx
call fcn.00549564
call sub.user32.dll_ReleaseCapture
mov byte [0x597c54], 0
mov byte [0x597c58], 0
mov eax, dword [esi + 4]
sub eax, 2
je 0x54255a
dec eax
jne 0x542663
mov eax, dword [ebx + 0x54]
call fcn.00563d04
cmp byte [eax + 0x58], 0
jne 0x54254a
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x1c], 1
mov eax, dword [ebx + 0x22c]
call fcn.00481ea0
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x234]
mov edx, dword [eax]
call dword [edx + 0x44]
test al, al
je 0x542587
mov eax, dword [ebx + 0x234]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
jne 0x5425ab
mov eax, dword [ebx + 0x234]
mov edx, dword [eax]
call dword [edx + 0x58]
test al, al
jne 0x5425ab
mov eax, ebx
call fcn.0053a698
test al, al
jne 0x54261a
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x54261a
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
je 0x5425cf
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x5425ee
push 0
push 0xf120
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
jmp 0x54260b
push 0
push 0xf030
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
xor edx, edx
mov eax, dword [ebx + 0x234]
call fcn.0054cbec
jmp 0x542659
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x542659
push 0
push 0xf120
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
xor edx, edx
mov eax, dword [ebx + 0x234]
call fcn.0054cbec
xor eax, eax
mov dword [esi + 4], eax
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x542695
mov eax, dword [0x598b40]
cmp ebx, dword [eax]
jne 0x542695
mov eax, dword [0x598b40]
mov dword [eax], ebx
mov eax, ebx
call fcn.00539598
test al, al
je 0x5426e7
mov eax, dword [ebx + 0x54]
call fcn.00563d04
test eax, eax
je 0x5426e7
mov eax, dword [esi + 8]
cmp dword [eax], 1
jne 0x5426e7
mov eax, dword [esi + 8]
mov edx, dword [eax + 8]
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x248]
xor ecx, ecx
call fcn.00478aec
mov edi, eax
test edi, edi
je 0x5426e7
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x44]
mov cl, 1
mov edx, edi
call fcn.00535bfc
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
je 0x542837
mov ax, word [esi + 4]
sub ax, 0xf012
je 0x542728
sub ax, 0x1e
je 0x54273b
sub ax, 0xf0
je 0x54279e
jmp 0x542837
mov eax, dword [ebx + 0x22c]
mov edx, dword [eax]
call dword [edx + 0x80]
jmp 0x542837
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x30], 0
jne 0x542837
cmp dword [ebx + 0x1f8], 0
je 0x542837
mov eax, dword [ebx + 0x1f8]
cmp byte [eax + 0xec], 0
je 0x542837
call fcn.005537a4
mov byte [esp + 0xe], al
xor eax, eax
call fcn.005537d4
mov eax, ebx
call fcn.00538b04
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov al, byte [esp + 0xe]
call fcn.005537d4
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x20c]
and eax, 0x200
cmp eax, 0x200
jne 0x5427f9
and dword [ebx + 0x20c], 0xfffffdff
cmp dword [ebx + 0x248], 0
je 0x5427cd
mov eax, dword [ebx + 0x248]
mov byte [eax + 0x20], 0
call fcn.005537a4
mov byte [esp + 0xe], al
xor eax, eax
call fcn.005537d4
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov al, byte [esp + 0xe]
call fcn.005537d4
jmp case.0x53dbde.0
mov eax, dword [0x598a48]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x22c]
je 0x542837
call fcn.005537a4
mov byte [esp + 0xe], al
xor eax, eax
call fcn.005537d4
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov al, byte [esp + 0xe]
call fcn.005537d4
jmp case.0x53dbde.0
cmp byte [ebx + 0x58], 1
jne 0x5428ba
mov eax, dword [ebx + 0x22c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x5428ba
cmp byte [0x597c54], 0
jne 0x5428ba
mov eax, dword [esi + 4]
and eax, 0xfff0
cmp eax, 0xf010
jne 0x542885
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetCapture
mov byte [0x597c5c], 1
mov byte [0x59a454], 1
jmp 0x5428ba
mov eax, dword [esi + 4]
and eax, 0xfff0
cmp eax, 0xf000
jne 0x5428ba
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetCapture
xor eax, eax
mov dword [0x59a478], eax
mov byte [0x597c5c], 1
mov byte [0x59a454], 0
mov eax, dword [ebx + 0x22c]
mov al, byte [eax + 0x22f]
dec al
je 0x5428d7
dec al
je 0x542c68
jmp 0x542cf7
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
jne 0x5428fe
cmp dword [esi + 4], 0xf030
je 0x5428fe
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 0
jne 0x542902
xor eax, eax
jmp 0x542904
mov al, 1
mov byte [esp + 0xc], al
cmp byte [esp + 0xc], 0
je 0x54291e
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
call fcn.00563aac
mov eax, dword [esi + 4]
and eax, 0xfff0
cmp eax, 0xf060
jg 0x542948
je 0x542961
sub eax, 0xf020
je 0x542b4b
sub eax, 0x10
je 0x542b87
jmp 0x542c36
sub eax, 0xf100
je 0x542c44
sub eax, 0x20
je 0x542a09
jmp 0x542c36
mov eax, dword [0x598b40]
cmp dword [eax], 0
je 0x542989
mov eax, dword [0x598b40]
mov eax, dword [eax]
cmp dword [eax + 0x220], 0
je 0x542989
cmp byte [esp + 0xc], 0
je 0x542989
mov al, 1
call fcn.0053d100
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov byte [eax + 0x1ff], 1
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x1c], 8
jne 0x5429c2
test byte [ebx + 0x1c], 8
jne 0x5429c2
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.00545328
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov byte [eax + 0x1ff], 0
mov eax, dword [0x598b40]
cmp dword [eax], 0
je case.0x53dbde.0
mov eax, dword [0x598b40]
mov eax, dword [eax]
cmp dword [eax + 0x220], 0
je case.0x53dbde.0
cmp byte [esp + 0xc], 0
je case.0x53dbde.0
mov al, 1
call fcn.0053d100
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 1
jne 0x542a1d
mov byte [esp + 0xc], 1
cmp byte [0x597c70], 0
jne case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
cmp byte [ebx + 0x78], 0
je 0x542a71
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xfff7ffff
push eax
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowLongA
push 0x505
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.0047f5b8
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x542b2b
inc ebp
xor edi, edi
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
mov edx, edi
call fcn.0047f604
cmp eax, dword [ebx + 0x22c]
je 0x542b27
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
mov edx, edi
call fcn.0047f604
cmp byte [eax + 0x22b], 2
jne 0x542aff
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
mov edx, edi
call fcn.0047f604
xor edx, edx
call fcn.0047fc2c
push 0x506
push 0
push 0
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
mov edx, edi
call fcn.0047f604
call fcn.0046bbbc
push eax
call sub.user32.dll_RedrawWindow
inc edi
dec ebp
jne 0x542aab
cmp byte [esp + 0xc], 0
je 0x542b39
mov al, 1
call fcn.0053d100
mov dl, 1
mov eax, dword [ebx + 0x234]
call fcn.0054cbec
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp byte [esp + 0xc], 0
je 0x542b67
mov al, 1
call fcn.0053d100
mov dl, 1
mov eax, dword [ebx + 0x234]
call fcn.0054cbec
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov al, 1
call fcn.0053d100
jmp case.0x53dbde.0
mov dword [0x597c74], ebx
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xefffffff
push eax
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowLongA
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_GetWindowLongA
or eax, 0x10000000
push eax
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowLongA
push 0x506
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [0x598b40]
mov eax, dword [eax]
cmp dword [eax + 0x220], 0
je 0x542c24
mov al, 1
call fcn.0053d100
mov dl, 1
mov eax, dword [ebx + 0x234]
call fcn.0054cbec
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [0x598b40]
cmp dword [eax], 0
je 0x542f1b
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
xor edx, edx
call fcn.00563c74
jmp 0x542f1b
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [esi + 4]
sub eax, 0xf020
je 0x542c90
sub eax, 0x10
je 0x542c90
sub eax, 0xf0
jne 0x542f1b
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
mov byte [eax + 0x39], 1
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov dword [eax + 0x230], 0xffffffff
push 0
push 0
push 0x85
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SendMessageA
cmp dword [esi + 4], 0xf030
jne 0x542f1b
cmp dword [ebx + 0x248], 0
je 0x542f1b
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x248]
call fcn.0054ff20
jmp 0x542f1b
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [esi + 4]
sub eax, 0xf020
je 0x542ef8
sub eax, 0x10
je 0x542e58
sub eax, 0xd0
je 0x542d31
sub eax, 0x20
je 0x542e58
jmp 0x542f1b
cmp word [esi + 8], 0x20
jne 0x542f1b
mov eax, dword [ebx + 0x234]
mov edx, dword [eax]
call dword [edx + 0x44]
test al, al
je 0x542f1b
mov eax, ebx
call fcn.0053a698
test al, al
je 0x542f1b
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x542de7
lea edx, [esp + 0x70]
mov eax, ebx
call fcn.00548084
mov edi, dword [esp + 0x74]
mov dl, 1
mov eax, ebx
call fcn.0053afe4
add edi, eax
lea edx, [esp + 0x80]
mov eax, ebx
call fcn.00548164
lea eax, [esp + 0x80]
xor edx, edx
call fcn.005538a0
add edi, eax
sub edi, 0x10
push edi
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
mov cl, 1
mov edx, dword [ebx + 0x248]
call fcn.005395f4
mov edi, eax
lea edx, [esp + 0x7c]
mov eax, ebx
call fcn.00548084
add edi, dword [esp + 0x7c]
mov edx, edi
mov eax, ebx
pop ecx
call fcn.00548308
jmp 0x542f1b
lea edx, [esp + 0x70]
mov eax, ebx
call fcn.00548084
mov edi, dword [esp + 0x74]
mov dl, 1
mov eax, ebx
call fcn.0053afe4
add edi, eax
lea edx, [esp + 0x80]
mov eax, ebx
call fcn.00548164
lea eax, [esp + 0x80]
xor edx, edx
call fcn.005538a0
add edi, eax
push edi
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
mov cl, 1
mov edx, dword [ebx + 0x248]
call fcn.005395f4
mov edi, eax
lea edx, [esp + 0x7c]
mov eax, ebx
call fcn.00548084
add edi, dword [esp + 0x7c]
mov edx, edi
mov eax, ebx
pop ecx
call fcn.00548308
jmp 0x542f1b
mov eax, dword [ebx + 0x234]
mov edx, dword [eax]
call dword [edx + 0x48]
test al, al
je 0x542e6e
mov dword [ebx + 0x38], 9
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00545328
cmp dword [esi + 4], 0xf120
jne 0x542f1b
mov eax, ebx
call fcn.0053a698
test al, al
jne 0x542eb6
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov byte [ebx + 0x9e], 1
push 0xffffffffffffffff
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowRgn
jmp 0x542f1b
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov byte [ebx + 0x9e], 1
push 0x481
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_RedrawWindow
cmp dword [ebx + 0x248], 0
je 0x542f1b
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x248]
call fcn.0054ff20
jmp 0x542f1b
mov eax, dword [ebx + 0x54]
cmp dword [eax + 0x44], 0
je 0x542f1b
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov ax, word [esi + 4]
sub ax, 0xf020
jne case.0x53dbde.0
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x542f44
mov byte [ebx + 0x203], 0
cmp dword [ebx + 0x248], 0
je case.0x53dbde.0
mov eax, dword [ebx + 0x248]
cmp dword [eax + 0x10], 0
je case.0x53dbde.0
mov eax, dword [ebx + 0x20c]
and eax, 0x100
cmp eax, 0x100
je case.0x53dbde.0
mov eax, dword [ebx + 0x248]
mov byte [eax + 0x20], 1
mov eax, dword [ebx + 0x248]
add eax, 0x10
call fcn.0040ef34
mov eax, dword [ebx + 0x248]
mov byte [eax + 0x20], 0
jmp case.0x53dbde.0
cmp byte [ebx + 0x210], 0
jne 0x54349f
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x1c], 1
jne 0x54349f
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsZoomed
test eax, eax
jne 0x5431a1
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 2
cmp eax, 2
je 0x5431a1
mov eax, dword [esi + 8]
cmp dword [eax + 8], 0
jne 0x542ffc
mov eax, dword [esi + 8]
cmp dword [eax + 0xc], 0
je 0x5431a1
mov ebp, dword [esi + 8]
cmp byte [ebx + 0x5a], 0
je 0x5430fc
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x5430fc
lea edx, [esp + 0x20]
mov eax, dword [ebx + 0x22c]
call fcn.0053d318
cmp dword [ebx + 0x248], 0
je 0x54305d
mov eax, dword [ebx + 0x248]
call fcn.0053975c
mov edi, eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x2c]
call fcn.00563d04
mov eax, dword [eax + 0x9c]
movsx eax, word [eax + 0x32]
add edi, eax
jmp 0x54305f
xor edi, edi
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x48]
add eax, edi
push eax
lea eax, [ebp + 8]
mov ecx, dword [ebx + 0x5c]
mov edx, dword [esp + 0x2c]
call fcn.0053d264
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x4c]
add eax, edi
push eax
lea eax, [ebp + 0xc]
mov ecx, dword [ebx + 0x5c]
mov edx, dword [esp + 0x30]
call fcn.0053d264
neg edi
push edi
lea eax, [ebp + 8]
mov ecx, dword [ebx + 0x5c]
mov edx, dword [esp + 0x24]
call fcn.0053d264
cmp dword [ebx + 0x248], 0
je 0x5430eb
mov eax, dword [ebx + 0x248]
call fcn.00539720
mov edi, eax
neg edi
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x2c]
call fcn.00563d04
mov eax, dword [eax + 0x9c]
movsx eax, word [eax + 0x32]
sub edi, eax
push edi
lea eax, [ebp + 0xc]
mov ecx, dword [ebx + 0x5c]
mov edx, dword [esp + 0x28]
call fcn.0053d264
jmp 0x5430fc
push 0
lea eax, [ebp + 0xc]
mov ecx, dword [ebx + 0x5c]
mov edx, dword [esp + 0x28]
call fcn.0053d264
test byte [ebx + 0x20d], 0x60
je 0x5431a1
push esi
lea esi, [ebx + 0xb4]
lea edi, [esp + 0x24]
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 + 0x20c]
and eax, 0x2000
cmp eax, 0x2000
jne 0x54317b
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x44]
mov edx, dword [esi + 8]
cmp eax, dword [edx + 0xc]
jne 0x54315f
mov eax, dword [esi + 8]
mov edx, dword [ebx + 0xb8]
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 0x22c]
mov edx, dword [ebx + 0xb8]
sub edx, dword [eax + 0x44]
mov eax, dword [esi + 8]
sub dword [eax + 0x14], edx
jmp 0x543171
mov eax, dword [ebx + 0xb8]
add eax, dword [ebx + 0xc0]
mov edx, dword [esi + 8]
mov dword [edx + 0x14], eax
and dword [ebx + 0x20c], 0xffffdfff
mov eax, dword [ebx + 0x20c]
and eax, 0x4000
cmp eax, 0x4000
jne 0x543197
and dword [ebx + 0x20c], 0xffffbfff
xor eax, eax
mov dword [esi + 0xc], eax
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x54]
call fcn.00563d04
test eax, eax
je 0x54349f
call fcn.0051a564
test al, al
je 0x54349f
cmp byte [ebx + 0x78], 0
je 0x54349f
cmp byte [ebx + 0x202], 0
jne 0x54349f
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 0x80
cmp eax, 0x80
jne 0x543369
mov eax, dword [ebx + 0x54]
cmp dword [eax + 0x44], 0
je 0x543369
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne 0x54349f
mov eax, dword [ebx + 0x54]
call fcn.00563d04
cmp byte [eax + 0x99], 2
je 0x54349f
cmp byte [ebx + 0x95], 0
je 0x54349f
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x54349f
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp word [eax + 4], 0
jbe 0x54349f
mov eax, dword [ebx + 0x20c]
and eax, 0x200
cmp eax, 0x200
je 0x54349f
or dword [ebx + 0x20c], 0x200
mov dl, 1
mov eax, ebx
call fcn.00539388
mov edx, dword [ebx + 0x54]
mov dword [edx + 0x44], eax
cmp dword [ebx + 0x248], 0
je 0x54334e
mov eax, dword [ebx + 0x248]
mov byte [eax + 0x20], 1
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x2e0], 0
je 0x5432c8
mov eax, dword [ebx + 0x22c]
movzx edi, byte [eax + 0x2e1]
jmp 0x5432cd
mov edi, 0xff
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x248]
call fcn.00550dc4
push eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowRgn
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bbbc
mov edx, dword [ebx + 0x54]
mov edx, dword [edx + 0x44]
mov ecx, edi
call fcn.005385cc
push 0x65b
push 0
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x40]
push eax
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowPos
jmp 0x54349f
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
call fcn.005386f0
mov dword [ebx + 0xac], eax
jmp 0x54349f
cmp dword [ebx + 0x248], 0
je 0x54349f
mov eax, dword [ebx + 0x248]
cmp dword [eax + 0x10], 0
je 0x54349f
mov eax, dword [esi + 8]
cmp dword [eax + 0x10], 0
je 0x54349f
mov eax, dword [esi + 8]
cmp dword [eax + 0x14], 0
je 0x54349f
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 0x10
cmp eax, 0x10
jne 0x54349f
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 2
cmp eax, 2
je 0x54349f
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 1
cmp eax, 1
je 0x54349f
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x10]
cmp eax, dword [ebx + 0x1e4]
jl 0x5433f6
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x14]
cmp eax, dword [ebx + 0x1e8]
jge 0x54349f
cmp dword [ebx + 0x204], 0
je 0x543424
mov eax, dword [ebx + 0x204]
mov eax, dword [eax + 0x80]
cmp byte [eax + 6], 0
jne 0x54349f
mov eax, dword [ebx + 0x204]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 6], 0
jne 0x54349f
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bec0
test al, al
je 0x54349f
or dword [ebx + 0x20c], 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 + 0x248]
call fcn.00550dc4
push eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowRgn
push 0x61b
push 0
push 0
push 0
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bbbc
push eax
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowPos
and dword [ebx + 0x20c], 0xfffffffe
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov eax, dword [0x598ce0]
mov byte [eax], 1
mov eax, dword [0x598a48]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
jne 0x5434e2
jmp 0x5434d8
mov eax, dword [0x598a48]
mov eax, dword [eax]
call fcn.0048564c
mov eax, dword [0x59897c]
cmp dword [eax], 0
jg 0x5434cc
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x54]
call fcn.00563d04
test eax, eax
je 0x543850
call fcn.0051a564
test al, al
je 0x543850
cmp byte [ebx + 0x78], 0
je 0x543850
cmp dword [ebx + 0x248], 0
je 0x543590
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x543590
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x9c]
cmp word [eax + 0x2e], 0
je 0x543563
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x9c]
movsx edi, word [eax + 0x2e]
jmp 0x543575
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x9c]
movsx edi, word [eax + 0x2c]
mov eax, dword [ebx + 0x22c]
call fcn.0053965c
add eax, 4
cmp edi, eax
setl al
mov byte [ebx + 0x1ec], al
jmp 0x543597
mov byte [ebx + 0x1ec], 0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 0x80
cmp eax, 0x80
jne 0x543704
cmp byte [ebx + 0x202], 0
jne 0x543704
mov eax, dword [ebx + 0x54]
cmp dword [eax + 0x44], 0
je 0x543704
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne 0x543704
mov eax, dword [ebx + 0x54]
call fcn.00563d04
cmp byte [eax + 0x99], 2
jne 0x543635
mov eax, dword [0x598a48]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x22c]
jne 0x543635
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x543704
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov byte [ebx + 0x203], 0
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x54]
call fcn.00563d04
cmp byte [eax + 0x99], 2
je 0x5436e1
cmp byte [ebx + 0x95], 0
je 0x543704
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x543704
call fcn.00539880
test al, al
je 0x54368a
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
mov dl, 1
call fcn.0053d28c
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov byte [ebx + 0x202], 1
mov eax, ebx
call fcn.005156f4
mov eax, dword [0x598a48]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
jne case.0x53dbde.0
call fcn.00539880
test al, al
je 0x5436d5
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
xor edx, edx
call fcn.0053d28c
mov byte [ebx + 0x202], 0
jmp case.0x53dbde.0
cmp dword [ebx + 0x248], 0
je 0x543704
mov eax, dword [ebx + 0x248]
cmp dword [eax + 0x10], 0
je 0x543704
mov eax, dword [ebx + 0x248]
add eax, 0x10
call fcn.0040ef34
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp byte [ebx + 0x200], 0
jne case.0x53dbde.0
cmp dword [ebx + 0x248], 0
je case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x57], 0
je case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne case.0x53dbde.0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 8
cmp eax, 8
je case.0x53dbde.0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 0x20
cmp eax, 0x20
je case.0x53dbde.0
mov eax, dword [ebx + 0x20c]
and eax, 0x80
cmp eax, 0x80
je case.0x53dbde.0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 3
cmp eax, 3
jne 0x54383c
mov eax, dword [ebx + 0x248]
cmp dword [eax + 0x10], 0
je 0x54383c
call fcn.00539880
test al, al
je 0x54380a
mov eax, dword [0x598a48]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x22c]
jne 0x54380a
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
mov esi, eax
call sub.user32.dll_GetActiveWindow
cmp esi, eax
jne 0x54380a
push 0x65b
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowPos
jmp case.0x53dbde.0
push 0x65b
push 0
push 0
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.0046bbbc
push eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowPos
jmp case.0x53dbde.0
mov cl, 0xff
xor edx, edx
mov eax, dword [ebx + 0x248]
call fcn.0054ff20
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
cmp byte [ebx + 0x95], 0
je 0x5439e0
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x5439e0
mov eax, dword [ebx + 0x54]
call fcn.00563d04
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp word [eax + 4], 0
jbe 0x5439e0
cmp byte [ebx + 0x78], 0
je 0x5439e0
mov eax, dword [ebx + 0x20c]
and eax, 0x200
cmp eax, 0x200
je 0x5439e0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x1c], 8
jne case.0x53dbde.0
or dword [ebx + 0x20c], 0x200
mov dl, 1
mov eax, ebx
call fcn.00539388
mov edx, dword [ebx + 0x54]
mov dword [edx + 0x44], eax
and dword [ebx + 0x20c], 0xfffffdff
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 0
cmp dword [ebx + 0x248], 0
je case.0x53dbde.0
mov eax, dword [ebx + 0x248]
cmp dword [eax + 0x10], 0
je case.0x53dbde.0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bec0
test al, al
je case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x2e0], 0
je 0x54395a
mov eax, dword [ebx + 0x22c]
movzx edi, byte [eax + 0x2e1]
jmp 0x54395f
mov edi, 0xff
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x248]
call fcn.00550dc4
push eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowRgn
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bbbc
mov edx, dword [ebx + 0x54]
mov edx, dword [edx + 0x44]
mov ecx, edi
call fcn.005385cc
push 0x65b
push 0
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x40]
push eax
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x10]
call fcn.0046bbbc
push eax
call sub.user32.dll_SetWindowPos
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x543a63
mov eax, dword [0x598b40]
cmp dword [eax], 0
jne 0x543a22
mov eax, dword [0x598a48]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
call fcn.0046bbbc
xor edx, edx
call fcn.004fef70
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.0047f584
test eax, eax
je 0x543a5c
mov eax, dword [0x598b40]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.0047f584
cmp byte [eax + 0x22b], 2
jne 0x543a5c
mov byte [0x597c70], 1
jmp 0x543a63
mov byte [0x597c70], 0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
je case.0x53dbde.0
mov eax, ebx
call fcn.00549fe4
jmp case.0x53dbde.0
test byte [ebx + 0x1c], 1
jne 0x543b3d
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x1c], 1
jne 0x543b3d
mov eax, dword [esi + 4]
and eax, 0xffff
dec eax
je 0x543ac2
mov eax, dword [esi + 4]
and eax, 0xffff
cmp eax, 2
jne 0x543b3d
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [ebx + 0x208], 0
je 0x543aed
cmp word [esi + 4], 1
jne 0x543aed
xor edx, edx
mov eax, dword [ebx + 0x208]
call fcn.0054d6bc
push 0
lea eax, [esp + 0x14]
push eax
mov dx, 0x24
xor eax, eax
call fcn.0040793c
mov edx, eax
mov eax, dword [0x5985c4]
mov eax, dword [eax]
mov ecx, 1
call fcn.00553710
lea edx, [esp + 0x10]
mov eax, dword [ebx + 0x22c]
call fcn.00518134
cmp byte [ebx + 0x78], 0
je case.0x53dbde.0
mov dl, 1
mov eax, dword [ebx + 0x204]
call fcn.004e4e40
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [esi + 8]
mov eax, dword [eax + 8]
sub eax, 0xfffffdd9
jne case.0x53dbde.0
cmp dword [ebx + 0x208], 0
je case.0x53dbde.0
xor edx, edx
mov eax, dword [ebx + 0x208]
call fcn.0054d6bc
jmp case.0x53dbde.0
cmp dword [esi + 4], 0
je 0x543c21
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [esi + 4]
mov edx, dword [0x461164]
call fcn.00403930
test al, al
je 0x543c00
cmp dword [ebx + 0x208], 0
je 0x543bcf
mov edx, dword [esi + 4]
mov eax, dword [ebx + 0x208]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
push 0
lea eax, [esp + 0x14]
push eax
mov dx, 0x24
xor eax, eax
call fcn.0040793c
mov edx, eax
mov eax, dword [0x5985c4]
mov eax, dword [eax]
mov ecx, 1
call fcn.00553710
lea edx, [esp + 0x10]
mov eax, dword [esi + 4]
call fcn.00518134
push 1
mov dx, 0x24
xor eax, eax
call fcn.0040793c
mov ecx, eax
mov edx, dword [0x5985c4]
mov edx, dword [edx]
mov eax, dword [esi + 4]
call fcn.00466550
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x53dbde.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
add esp, 0xa8
pop ebp
pop edi
pop esi
pop ebx
ret