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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffff54
mov esi, edx
mov ebx, eax
mov eax, dword [esi]
mov edx, dword [0x5b1168]
cmp eax, dword [edx]
jne 0x51e88a
movzx eax, word [esi + 6]
cmp eax, 0x22
jg 0x51e42a
je 0x51e70d
dec eax
je 0x51e655
dec eax
je 0x51e448
sub eax, 5
je 0x51e6c5
sub eax, 0x19
je 0x51e6d1
jmp 0x51e88a
sub eax, 0x24
je 0x51e87b
sub eax, 0x18
je 0x51e699
dec eax
je 0x51e6a8
jmp 0x51e88a
mov eax, dword [ebx + 0x54]
call fcn.005024e0
cmp eax, dword [esi + 8]
jne 0x51e643
cmp dword [ebx + 0x204], 0
je 0x51e46d
lea eax, [ebx + 0x204]
call fcn.0040f2e4
mov eax, dword [ebx + 0x22c]
call fcn.00450974
xor ecx, ecx
xor edx, edx
call fcn.0051a994
mov eax, esi
mov edx, dword [ebx + 0x54]
call fcn.00502b10
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.004ff004
mov eax, ebx
call fcn.0052bac4
mov eax, dword [ebx + 0x54]
call fcn.005024e0
test eax, eax
je 0x51e4d0
mov al, 1
call fcn.00513b74
mov eax, dword [ebx + 0x22c]
test eax, eax
je case.0x51ecbf.0
test byte [eax + 0x1c], 8
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
call fcn.005024e0
test eax, eax
je 0x51e57f
xor edx, edx
mov eax, ebx
call fcn.0052a938
xor edx, edx
mov eax, ebx
call fcn.0052c9a8
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x51e52b
cmp dword [ebx + 0x220], 0
je 0x51e52b
xor edx, edx
mov eax, ebx
call fcn.0052b7f4
mov eax, ebx
call fcn.0051b714
test al, al
je 0x51e554
cmp byte [ebx + 0x1ff], 0
jne 0x51e554
push 0xffffffffffffffff
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SetWindowRgn
mov eax, ebx
call fcn.0052a534
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.0052cfb8
mov eax, dword [ebx + 0x22c]
call fcn.0044d66c
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x51e60a
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.0044d630
mov edx, dword [0x43b588]
call fcn.004037f8
test al, al
je 0x51e606
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.0044d630
mov eax, dword [eax + 0x68]
mov edx, 0xff000008
call fcn.00424708
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.0044d630
call fcn.0044002c
test al, al
jne 0x51e606
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.0044d630
mov esi, dword [eax + 0x50]
or esi, dword [0x524fe0]
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.0044d630
mov dword [eax + 0x50], esi
inc edi
dec ebp
jne 0x51e594
cmp byte [ebx + 0x60], 0
je 0x51e629
mov eax, dword [ebx + 0x54]
cmp byte [eax + 9], 0
jne 0x51e629
mov edx, 0xff00000f
mov eax, dword [ebx + 0x22c]
call fcn.0044a2f4
mov eax, dword [ebx + 0x54]
cmp dword [eax + 0x44], 0
je case.0x51ecbf.0
add eax, 0x44
call fcn.0040f2e4
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x22c]
call fcn.004ff004
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x1c], 8
jne 0x51e88a
cmp dword [ebx + 0x54], 0
je 0x51e88a
mov eax, dword [ebx + 0x54]
call fcn.005024e0
cmp eax, dword [esi + 8]
jne 0x51e88a
cmp dword [ebx + 0x234], 0
jne 0x51e88a
mov eax, ebx
call fcn.0052b588
jmp 0x51e88a
mov eax, dword [0x5b17bc]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
jmp case.0x51ecbf.0
mov eax, ebx
call fcn.00529d5c
push eax
mov eax, ebx
call fcn.00529cc4
pop edx
call fcn.004075fc
mov dword [esi + 0xc], eax
jmp case.0x51ecbf.0
mov dword [esi + 0xc], 1
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
mov dx, word [eax + 0x52]
and dx, 0x400
cmp dx, 0x400
jne 0x51e88a
and word [eax + 0x52], 0xfbff
push 0
push 0
push 0xb015
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
jmp 0x51e88a
cmp dword [ebx + 0x54], 0
je 0x51e88a
lea ecx, [esp + 0x74]
xor edx, edx
xor eax, eax
call fcn.004068c4
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x74]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x39], 0
je 0x51e763
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x1c], 0
je 0x51e750
cmp byte [ebx + 0x200], 0
je 0x51e763
mov eax, dword [ebx + 0x54]
call fcn.00500a20
test al, al
je 0x51e763
mov eax, ebx
call fcn.00527bc4
mov eax, dword [esi + 8]
cmp byte [eax + 0x21], 0
je 0x51e786
mov eax, ebx
call fcn.00529cc4
mov edx, dword [esi + 8]
add dword [edx + 8], eax
mov eax, ebx
call fcn.00529d5c
mov edx, dword [esi + 8]
add dword [edx + 0xc], eax
mov eax, dword [ebx + 0x22c]
cmp word [eax + 0x2ba], 0
je 0x51e7d4
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
mov edx, dword [esi + 8]
mov dword [edx], eax
mov eax, ebx
call fcn.00529d5c
push eax
mov eax, ebx
call fcn.00529cc4
lea ecx, [esp + 0x78]
pop edx
call fcn.004068c4
mov edi, dword [esi + 8]
mov eax, dword [esp + 0x74]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 0xc], eax
mov byte [edi + 0x20], 2
jmp case.0x51ecbf.0
mov edi, dword [ebx + 0x54]
cmp dword [edi + 0x28], 0xffffffff
jle 0x51e819
push 0
mov eax, edi
call fcn.005024e0
mov eax, dword [eax + 0xb8]
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.0042c36c
mov ecx, eax
mov edx, dword [esi + 8]
mov eax, edi
call fcn.00500e20
jmp 0x51e836
push 0
xor eax, eax
mov al, byte [ebx + 0x224]
xor edx, edx
call fcn.0042c36c
mov ecx, eax
mov edx, dword [esi + 8]
mov eax, edi
call fcn.00500e20
mov eax, dword [esi + 8]
cmp byte [eax + 0x20], 2
jne 0x51e85c
cmp byte [eax + 0x21], 0
jne 0x51e85c
cmp dword [eax], 0
jne 0x51e85c
mov eax, ebx
call fcn.00527bc4
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
mov edx, dword [esi + 8]
mov dword [edx], eax
mov eax, ebx
call fcn.00529cc4
mov edx, dword [esi + 8]
add dword [edx + 8], eax
mov eax, ebx
call fcn.00529d5c
mov edx, dword [esi + 8]
add dword [edx + 0xc], eax
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
movzx eax, word [eax + 0x52]
mov dword [esi + 0xc], eax
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x1c], 8
jne 0x51e8a8
mov dl, 1
mov eax, dword [ebx + 0x54]
call fcn.00502ab0
test al, al
jne 0x51ec9c
mov eax, dword [esi]
mov edx, dword [0x5b1168]
cmp eax, dword [edx]
jne 0x51eadd
mov ax, word [esi + 6]
dec ax
je 0x51e8d3
sub ax, 3
jne 0x51eadd
mov dword [esi + 0xc], ebx
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x1c], 8
jne 0x51eadd
cmp dword [ebx + 0x54], 0
je 0x51eadd
mov eax, dword [ebx + 0x54]
call fcn.005024e0
cmp eax, dword [esi + 8]
jne case.0x51ecbf.0
mov eax, ebx
call fcn.0052d228
mov al, 1
call fcn.00513b74
mov eax, dword [ebx + 0x54]
call fcn.00503328
mov dword [ebx + 0x1f0], 0xffffffff
mov eax, ebx
call fcn.0052d304
mov dword [ebx + 0x1f0], eax
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov edx, 0x524fec
call fcn.0050f49c
mov dword [ebx + 0x1f4], eax
mov eax, dword [ebx + 0x54]
call fcn.005024e0
test eax, eax
je 0x51eabb
cmp dword [ebx + 0x248], 0
je 0x51e9c7
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x51e9c7
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0xac]
cmp word [eax + 0x2e], 0
je 0x51e99a
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0xac]
movsx edi, word [eax + 0x2e]
jmp 0x51e9ac
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0xac]
movsx edi, word [eax + 0x2c]
mov eax, dword [ebx + 0x22c]
call fcn.0051a6dc
add eax, 4
cmp edi, eax
setl al
mov byte [ebx + 0x1ec], al
jmp 0x51e9ce
mov byte [ebx + 0x1ec], 0
mov dl, 1
mov eax, ebx
call fcn.0052c9a8
mov eax, ebx
call fcn.0052af2c
mov esi, dword [ebx + 0x22c]
cmp byte [esi + 0x22f], 2
jne 0x51ea08
mov eax, esi
call fcn.00464268
mov edx, dword [0x5b1bb4]
mov edx, dword [edx]
cmp eax, dword [edx + 0x6c]
jne 0x51ea08
mov byte [ebx + 0x224], 1
mov eax, dword [ebx + 0x54]
call fcn.005024e0
test byte [eax + 0x1c], 1
jne 0x51ea54
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x248], 0
je 0x51ea35
cmp byte [ebx + 0xa1], 0
je 0x51ea35
mov byte [ebx + 0x9d], 1
mov dl, 1
mov eax, ebx
call fcn.0052a938
cmp byte [ebx + 0x9d], 0
jne 0x51ea54
mov eax, ebx
call fcn.0052a534
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 0x51ea7d
mov dl, 1
mov eax, ebx
call fcn.0052b7f4
cmp byte [ebx + 0x60], 0
je 0x51eaa6
mov eax, dword [ebx + 0x54]
cmp byte [eax + 9], 0
jne 0x51eaa6
mov eax, dword [ebx + 0x54]
call fcn.005024e0
call fcn.005079fc
mov edx, eax
mov eax, dword [ebx + 0x22c]
call fcn.0044a2f4
mov eax, dword [ebx + 0x22c]
call fcn.00450974
xor ecx, ecx
mov dl, byte [ebx + 0x78]
call fcn.0051a994
mov eax, dword [ebx + 0x208]
test eax, eax
jne 0x51ead1
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x30]
jmp case.0x51ecbf.0
xor edx, edx
call fcn.0052ec28
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [esi]
sub eax, 0x47
je 0x51eb00
sub eax, 0x3b
je 0x51ebd9
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
call fcn.005024e0
test eax, eax
je case.0x51ecbf.0
call fcn.004e7920
test al, al
je case.0x51ecbf.0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 0x80
cmp eax, 0x80
jne case.0x51ecbf.0
cmp byte [ebx + 0x95], 0
je case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne case.0x51ecbf.0
cmp byte [ebx + 0x202], 0
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
call fcn.005024e0
cmp byte [eax + 0x3c], 0
je case.0x51ecbf.0
cmp byte [ebx + 0x78], 0
je case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je case.0x51ecbf.0
mov eax, dword [0x5b0f88]
xor edx, edx
mov dword [eax], edx
mov byte [ebx + 0x202], 1
mov eax, ebx
call fcn.004fc5bc
mov eax, dword [0x5b1188]
cmp byte [eax], 0
jne 0x51ebb1
mov eax, dword [ebx + 0x22c]
call fcn.00450974
xor edx, edx
call fcn.0051e2e8
mov byte [ebx + 0x202], 0
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne case.0x51ecbf.0
mov eax, dword [0x5b1914]
cmp dword [eax], 0
je case.0x51ecbf.0
mov eax, dword [0x5b1914]
mov eax, dword [eax]
cmp dword [eax + 0x220], 0
je case.0x51ecbf.0
mov eax, dword [0x5b1914]
mov eax, dword [eax]
test byte [eax + 0x1c], 8
jne case.0x51ecbf.0
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
test byte [eax + 0x1c], 8
jne case.0x51ecbf.0
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
mov dl, 1
call fcn.00502ab0
test al, al
je case.0x51ecbf.0
mov eax, dword [0x5b1914]
mov eax, dword [eax]
call fcn.0052ae58
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.00464268
test eax, eax
jne case.0x51ecbf.0
push 0x507
push 0
push 0
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
mov eax, dword [eax + 0x254]
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x51ecbf.0
mov eax, dword [esi]
mov edx, dword [0x5b1168]
cmp eax, dword [edx]
jne 0x51f222
movzx eax, word [esi + 6]
cmp eax, 0x34
ja case.0x51ecbf.0
mov al, byte [eax + 0x51ecc6]
jmp dword [eax*4 + 0x51ecfb]
mov eax, dword [ebx + 0x22c]
test eax, eax
je case.0x51ecbf.0
test byte [eax + 0x1c], 1
jne case.0x51ecbf.0
mov edx, dword [ebx + 0x208]
test edx, edx
je case.0x51ecbf.0
cmp dword [esi + 8], 0
je 0x51ed71
mov eax, dword [esi + 8]
xchg edx, eax
call fcn.0052ec28
jmp case.0x51ecbf.0
xchg edx, eax
call fcn.0052ec28
jmp case.0x51ecbf.0
cmp dword [ebx + 0x54], 0
je case.0x51ecbf.0
mov eax, dword [0x5b1188]
cmp byte [eax], 0
jne 0x51eda5
mov eax, dword [ebx + 0x54]
call fcn.00500a20
test al, al
je 0x51eda5
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x1c], 0
jne 0x51eda9
xor eax, eax
jmp 0x51edab
mov al, 1
and eax, 0x7f
mov dword [esi + 0xc], eax
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x1c], 0
je case.0x51ecbf.0
mov byte [eax + 0x1c], 0
push 0x401
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
jmp case.0x51ecbf.0
cmp word [esi + 4], 1
sete dl
mov eax, dword [ebx + 0x54]
call fcn.00502aac
mov eax, dword [ebx + 0x54]
call fcn.005024f4
test al, al
je case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
call fcn.005024e0
cmp eax, dword [esi + 8]
jne case.0x51ecbf.0
cmp dword [ebx + 0x208], 0
jne 0x51ee41
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x30]
jmp 0x51ee4e
xor edx, edx
mov eax, dword [ebx + 0x208]
call fcn.0052ec28
cmp byte [ebx + 0x78], 0
je 0x51ee63
lea edx, [ebx + 0x204]
xor ecx, ecx
mov eax, ebx
call fcn.0051b610
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x30], 0
je 0x51ee81
cmp byte [eax + 0x22f], 1
je 0x51ee81
mov eax, dword [ebx + 0x54]
and word [eax + 0x52], 0xfffe
mov dword [ebx + 0x230], 0xffffffff
mov eax, dword [ebx + 0x54]
call fcn.005024e0
test byte [eax + 0x1c], 1
jne 0x51eeb3
mov eax, ebx
call fcn.0052a534
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.00502ab0
mov edx, eax
mov eax, ebx
call fcn.0052a938
mov eax, ebx
call fcn.0051b714
test al, al
je 0x51eec2
mov byte [ebx + 0x34], 1
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x57], 0
je case.0x51ecbf.0
mov edi, dword [ebx + 0x54]
mov byte [edi + 0x39], 1
mov eax, edi
call fcn.005024e0
call fcn.00511038
mov edx, eax
mov eax, ebx
call fcn.0052cfb8
mov eax, dword [0x5b1188]
cmp byte [eax], 0
jne 0x51ef95
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x51ef51
mov eax, dword [ebx + 0x22c]
call fcn.00464268
test eax, eax
je 0x51ef51
mov eax, dword [ebx + 0x22c]
call fcn.00464268
cmp byte [eax + 0x22b], 2
jne 0x51ef51
mov eax, ebx
call fcn.0052d5ac
push 0xffffffffffffffff
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00464268
call fcn.00450974
push eax
call sub.user32.dll_InvalidateRect
jmp 0x51ef95
push 0x545
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x51ef95
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 0x51efbe
mov eax, dword [ebx + 0x54]
cmp byte [eax + 9], 0
jne 0x51efbe
mov eax, dword [ebx + 0x54]
call fcn.005024e0
call fcn.005079fc
mov edx, eax
mov eax, dword [ebx + 0x22c]
call fcn.0044a2f4
cmp dword [ebx + 0x220], 0
je 0x51efd2
mov eax, dword [ebx + 0x220]
call fcn.004bfb8c
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.00502aac
cmp dword [ebx + 0x234], 0
je 0x51eff0
mov eax, dword [ebx + 0x234]
call fcn.0052e108
mov edx, esi
mov eax, ebx
call fcn.0052bb14
cmp dword [ebx + 0x248], 0
je case.0x51ecbf.0
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x248]
call fcn.00531628
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0xb8]
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.005024e0
mov eax, dword [eax + 0xb8]
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.0x51ecbf.0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.005012bc
mov dword [esi + 0xc], eax
jmp case.0x51ecbf.0
mov dword [esi + 0xc], ebx
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
call fcn.005024e0
cmp eax, dword [esi + 8]
jne case.0x51ecbf.0
mov al, 1
call fcn.00513b74
mov eax, dword [ebx + 0x54]
call fcn.00503328
mov dword [ebx + 0x1f0], 0xffffffff
mov eax, ebx
call fcn.0052d304
mov dword [ebx + 0x1f0], eax
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov edx, 0x524fec
call fcn.0050f49c
mov dword [ebx + 0x1f4], eax
mov eax, dword [ebx + 0x54]
call fcn.005024e0
test eax, eax
je case.0x51ecbf.0
mov eax, ebx
call fcn.0052af2c
mov al, 1
call fcn.00513b74
mov dl, byte [ebx + 0x78]
mov eax, ebx
call fcn.0052c9a8
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0x44]
call fcn.00515a60
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov dword [ebx + 0x230], 0xffffffff
mov eax, ebx
call fcn.0052d5ac
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne case.0x51ecbf.0
mov dl, 1
mov eax, ebx
call fcn.0052b7f4
jmp case.0x51ecbf.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052675c
mov byte [0x5abbe4], 0
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
call fcn.005026c4
test al, al
je case.0x51ecbf.0
push 0
push 0
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
call fcn.005026c4
test al, al
je case.0x51ecbf.0
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
push 0x585
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [0x5b1914]
cmp ebx, dword [eax]
jne case.0x51ecbf.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.0x51ecbf.0
mov eax, esi
mov edx, dword [ebx + 0x54]
call fcn.0050344c
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x38], 0
je case.0x51ecbf.0
mov eax, ebx
call fcn.00527bc4
jmp case.0x51ecbf.0
cmp eax, 0xa3
jg 0x51f37f
je 0x52370b
cmp eax, 0x24
jg 0x51f2de
je 0x51f72d
cmp eax, 0x22
ja case.0x51f24b.0
jmp dword [eax*4 + 0x51f252]
cmp eax, 0x80
jg 0x51f334
je 0x51f73b
cmp eax, 0x4a
jg 0x51f314
je 0x51f55c
sub eax, 0x2c
je 0x5238a7
sub eax, 0x1a
je 0x5242c7
dec eax
je 0x524867
jmp case.0x51f24b.0
sub eax, 0x4e
je 0x524ee5
sub eax, 0x2d
je 0x51f63c
sub eax, 2
je 0x51f7ed
jmp case.0x51f24b.0
cmp eax, 0x86
jg 0x51f361
je 0x522e80
sub eax, 0x81
je 0x521023
sub eax, 3
je 0x520d82
dec eax
je 0x522775
jmp case.0x51f24b.0
sub eax, 0xa0
je 0x51f4f2
dec eax
je 0x521050
dec eax
je 0x521c0b
jmp case.0x51f24b.0
cmp eax, 0x317
jg 0x51f443
je 0x5222eb
cmp eax, 0x210
jg 0x51f3ee
je 0x524e25
cmp eax, 0x117
jg 0x51f3ca
je 0x51f7cd
sub eax, 0xa4
je 0x521b69
dec eax
je 0x521b8b
sub eax, 0x6d
je 0x52392b
jmp case.0x51f24b.0
sub eax, 0x121
je 0x522226
sub eax, 0xdf
je 0x5216ab
sub eax, 2
je 0x521c0b
jmp case.0x51f24b.0
cmp eax, 0x221
jge 0x51f415
sub eax, 0x211
je 0x520bfa
dec eax
je 0x520d55
sub eax, 2
je 0x520f73
jmp case.0x51f24b.0
add eax, 0xfffffddf
sub eax, 2
jb 0x5234ab
sub eax, 0xf
je 0x51f6b6
sub eax, 0x71
je 0x520fa2
sub eax, 0x70
je 0x51f886
jmp case.0x51f24b.0
cmp eax, 0xb014
jg 0x51f49f
je 0x520fa2
cmp eax, 0xa400
jg 0x51f47f
je 0x51f51a
sub eax, 0x318
je case.0x51ecbf.0
sub eax, 0xb
je 0x51f5f2
sub eax, 3
je 0x51f5c7
jmp case.0x51f24b.0
sub eax, 0xb00b
je 0x523663
dec eax
je 0x52017d
sub eax, 7
je 0x520fc7
jmp case.0x51f24b.0
cmp eax, 0xb033
jg 0x51f4ce
je 0x522e3c
sub eax, 0xb015
je 0x522276
sub eax, 4
je 0x51f8c2
sub eax, 0x13
je 0x524f23
jmp case.0x51f24b.0
sub eax, 0xb03a
je 0x522230
sub eax, 0x12
je 0x52276b
sub eax, 0xc01
je 0x52276b
jmp case.0x51f24b.0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
mov eax, dword [ebx + 0x54]
call fcn.005024e0
pop edx
call fcn.00510634
mov edx, esi
mov eax, ebx
call fcn.0052d510
jmp case.0x51ecbf.0
mov eax, dword [esi + 4]
dec eax
je 0x51f540
sub eax, 2
je 0x51f52d
dec eax
je 0x51f550
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
call fcn.00466b84
jmp case.0x51ecbf.0
mov dword [esi + 0xc], 1
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [esi + 0xc], 0
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
mov edx, dword [0x5b1840]
cmp eax, dword [edx]
jne case.0x51ecbf.0
mov eax, dword [0x5b1200]
cmp byte [eax], 0
jne case.0x51ecbf.0
mov eax, dword [0x5b1200]
mov byte [eax], 1
cmp dword [esi + 8], 0
je 0x51f5ba
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov edx, eax
mov eax, esi
call fcn.005058e4
mov eax, dword [0x5b1200]
mov byte [eax], 0
jmp case.0x51ecbf.0
mov eax, dword [0x5b12a8]
cmp byte [eax], 0
je case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
mov edx, ebx
call fcn.005193f0
and eax, 0x7f
mov dword [esi + 0xc], eax
jmp case.0x51ecbf.0
mov eax, dword [0x5b12a8]
cmp byte [eax], 0
je case.0x51ecbf.0
cmp word [esi + 0xa], 0
je case.0x51ecbf.0
cmp word [esi + 8], 0
je case.0x51ecbf.0
movzx eax, word [esi + 8]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00450974
movzx ecx, word [esi + 0xa]
mov edx, ebx
call fcn.00519178
and eax, 0x7f
mov dword [esi + 0xc], eax
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x7c], 0
je 0x51f66e
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov al, byte [eax + 0x58]
push eax
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0x44]
mov edx, dword [ebx + 0x22c]
mov edx, dword [edx + 0x7c]
pop ecx
call fcn.00516f14
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
cmp dword [esi + 4], 1
jne 0x51f69d
mov edx, dword [ebx + 0x98]
dec edx
xor eax, eax
call fcn.0042c430
mov dword [ebx + 0x98], eax
jmp 0x51f6a3
inc dword [ebx + 0x98]
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [ebx + 0x248], 0
je case.0x51ecbf.0
mov eax, dword [0x5b1990]
cmp dword [eax], 0
je case.0x51ecbf.0
mov eax, dword [0x5b1990]
mov eax, dword [eax]
mov ebp, dword [eax + 8]
dec ebp
test ebp, ebp
jl case.0x51ecbf.0
inc ebp
xor edi, edi
mov eax, dword [0x5b1990]
mov eax, dword [eax]
mov edx, edi
call fcn.0041a120
test eax, eax
je 0x51f724
mov eax, dword [0x5b1990]
mov eax, dword [eax]
mov edx, edi
call fcn.0041a120
mov eax, dword [eax + 0x38]
xor ecx, ecx
mov edx, 0x12
call fcn.004fee48
inc edi
dec ebp
jne 0x51f6f5
jmp case.0x51ecbf.0
mov edx, esi
mov eax, ebx
call fcn.0052d068
jmp case.0x51ecbf.0
test byte [ebx + 0x1c], 1
jne 0x51f7ba
cmp dword [esi + 8], 0
je 0x51f7ba
mov eax, dword [0x5b1188]
cmp byte [eax], 0
jne 0x51f7ba
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x51f7ba
call fcn.0051a900
test al, al
jne 0x51f780
push 0
push 0
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
call fcn.0051a900
test al, al
jne 0x51f7ae
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
mov eax, ebx
call fcn.0051b75c
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
call fcn.005024e0
cmp byte [eax + 0x58], 0
je case.0x51ecbf.0
mov edx, esi
mov eax, ebx
call fcn.0052cc7c
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [esi + 4], 0xffffffec
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x20c]
and eax, 0x80
cmp eax, 0x80
je case.0x51ecbf.0
mov eax, dword [ebx + 0x20c]
and eax, 0x100
cmp eax, 0x100
je case.0x51ecbf.0
mov eax, dword [ebx + 0x20c]
and eax, 0x400
cmp eax, 0x400
je case.0x51ecbf.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.0x51ecbf.0
cmp dword [ebx + 0x248], 0
je case.0x51ecbf.0
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x248]
call fcn.00531628
jmp case.0x51ecbf.0
lea edx, [esp + 0x74]
mov eax, dword [0x5b1b1c]
mov eax, dword [eax]
call fcn.00455264
mov eax, dword [esp + 0x78]
push eax
lea edx, [esp + 0x80]
mov eax, dword [0x5b1b1c]
mov eax, dword [eax]
call fcn.00455264
mov edx, dword [esp + 0x80]
mov eax, ebx
pop ecx
call fcn.00529858
jmp case.0x51ecbf.0
mov dword [esp + 4], 0xff
cmp byte [ebx + 0x78], 0
je 0x51fd66
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x51fd03
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x51f909
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x51f921
mov dl, 1
mov eax, ebx
call fcn.0052b7f4
and dword [ebx + 0x20c], 0xfffffdff
cmp dword [ebx + 0x248], 0
je 0x51f93e
mov eax, dword [ebx + 0x248]
mov byte [eax + 0x28], 0
cmp dword [ebx + 0x1f8], 0
je 0x51f967
mov eax, dword [ebx + 0x1f8]
mov edx, dword [0x5190bc]
call fcn.004037f8
test al, al
je 0x51f967
lea eax, [ebx + 0x1f8]
call fcn.0040f2e4
mov eax, dword [0x5b1040]
cmp byte [eax], 0
je 0x51f9af
mov eax, dword [ebx + 0x22c]
call fcn.00450c78
test al, al
je 0x51f9af
mov eax, dword [0x5b17bc]
mov eax, dword [eax]
cmp dword [eax + 0x44], 0
je 0x51f99f
mov eax, dword [0x5b17bc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x22c]
jne 0x51f9af
mov eax, dword [ebx + 0x22c]
call fcn.00450974
call fcn.0051c318
mov eax, ebx
call fcn.0052b50c
cmp dword [ebx + 0x208], 0
je 0x51f9d0
mov edx, dword [ebx + 0x22c]
mov eax, dword [ebx + 0x208]
call fcn.0052ec28
cmp byte [ebx + 0x95], 0
je 0x51fa1d
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
je 0x51f9f4
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x30], 0
jne 0x51fa1d
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
cmp byte [eax + 6], 0
je 0x51fa1d
mov eax, dword [ebx + 0x22c]
call fcn.00450974
mov edx, dword [0x5b1840]
cmp eax, dword [edx]
jne 0x51fa21
xor eax, eax
jmp 0x51fa23
mov al, 1
mov byte [ebx + 0x203], al
mov byte [esp + 0x11], 0
cmp byte [ebx + 0x203], 0
je 0x51fb06
mov dl, 1
mov eax, dword [ebx + 0x54]
call fcn.00502aac
mov byte [ebx + 0x200], 1
mov eax, dword [ebx + 0x22c]
call fcn.00450974
mov dl, 1
call fcn.0051e2e8
mov byte [esp + 0x11], al
mov dword [esp + 4], 0xff
cmp byte [esp + 0x11], 0
je 0x51fa83
xor edx, edx
mov eax, ebx
call fcn.0051b2d4
mov byte [ebx + 0x210], 0
jmp 0x51faa1
mov eax, dword [ebx + 0x22c]
movzx eax, byte [eax + 0x2e1]
mov dword [esp + 4], eax
xor edx, edx
mov eax, dword [ebx + 0x22c]
call fcn.0046760c
mov eax, dword [ebx + 0x22c]
call fcn.0044d66c
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x51fb10
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.0044d630
cmp byte [eax + 0x57], 0
je 0x51fb00
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.0044d630
mov edx, dword [0x5a60ac]
call fcn.004037f8
test al, al
jne 0x51fb00
push 0
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.0044d630
xor ecx, ecx
mov edx, 0xb
call fcn.0044b308
inc edi
dec ebp
jne 0x51fab6
jmp 0x51fb10
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.00502aac
mov eax, dword [ebx + 0x54]
call fcn.005024e0
call fcn.00511038
mov edx, eax
mov eax, ebx
call fcn.0052cfb8
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.00502ab0
test al, al
jne 0x51fbef
cmp byte [ebx + 0x203], 0
je 0x51fbef
mov eax, dword [ebx + 0x22c]
call fcn.0044d66c
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x51fb9d
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.0044d630
cmp byte [eax + 0x57], 0
je 0x51fb99
push 0
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.0044d630
mov ecx, 1
mov edx, 0xb
call fcn.0044b308
inc edi
dec ebp
jne 0x51fb68
push 0xffffffffffffffec
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xfff7ffff
push eax
push 0xffffffffffffffec
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SetWindowLongA
push 0x81
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_RedrawWindow
mov byte [ebx + 0x210], 0
jmp case.0x51ecbf.0
lea edx, [ebx + 0x204]
xor ecx, ecx
mov eax, ebx
call fcn.0051b610
cmp byte [ebx + 0x203], 0
je 0x51fcb7
mov eax, dword [ebx + 0x22c]
call fcn.0044d66c
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x51fc55
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.0044d630
cmp byte [eax + 0x57], 0
je 0x51fc51
push 0
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.0044d630
mov ecx, 1
mov edx, 0xb
call fcn.0044b308
inc edi
dec ebp
jne 0x51fc20
cmp byte [esp + 0x11], 0
je 0x51fc6e
mov eax, dword [ebx + 0x22c]
call fcn.00450974
xor edx, edx
call fcn.0051e2e8
mov byte [ebx + 0x203], 0
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
movzx edi, word [eax + 4]
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 7]
mov byte [esp + 0x13], al
mov al, byte [esp + 0x13]
push eax
mov ecx, dword [esp + 8]
mov edx, edi
mov eax, ebx
call fcn.004fbc94
mov byte [ebx + 0x210], 0
jmp 0x51fcd1
push 0x81
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
jne case.0x51ecbf.0
mov al, 1
call fcn.0051e15c
jmp case.0x51ecbf.0
cmp dword [ebx + 0x248], 0
je 0x51fd53
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x51fd48
mov eax, dword [ebx + 0x54]
call fcn.005024e0
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 0x51fd48
cmp byte [ebx + 0x95], 0
jne 0x51fd53
lea eax, [ebx + 0x248]
call fcn.0040f2e4
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
call fcn.0051a900
test al, al
je 0x51fd86
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.00450974
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.0051a900
test al, al
je case.0x51ecbf.0
push 0x181
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
je 0x51ff00
cmp dword [esi + 4], 1
jne 0x51fe69
cmp dword [ebx + 0x248], 0
je 0x51fdf7
mov eax, dword [ebx + 0x248]
mov byte [eax + 0x28], 0
mov eax, dword [ebx + 0x20c]
and eax, 0x400
cmp eax, 0x400
jne 0x51fe15
mov dword [ebx + 0x20c], 0x400
jmp 0x51fe1d
xor eax, eax
mov dword [ebx + 0x20c], eax
call fcn.0051a900
test al, al
je 0x51fe69
mov eax, dword [0x5b1188]
cmp byte [eax], 0
jne 0x51fe69
push 0xffffffffffffffec
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0x80000
cmp eax, 0x80000
je 0x51fe69
push 0x481
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [esi + 8]
dec eax
je 0x51fe79
sub eax, 2
je 0x51fec7
jmp 0x51ff00
cmp byte [ebx + 0x201], 0
je 0x51ff00
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x51fea0
mov byte [ebx + 0x201], 2
jmp 0x51ff00
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x51febe
mov byte [ebx + 0x201], 3
jmp 0x51ff00
mov byte [ebx + 0x201], 1
jmp 0x51ff00
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x51ff00
mov eax, dword [0x5b17bc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x22c]
jne 0x51ff00
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [esi + 4], 1
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x51ff42
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
jne 0x51ff42
mov eax, dword [0x5b1914]
mov eax, dword [eax]
call fcn.0052ae58
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x51ffa3
mov eax, dword [ebx + 0x22c]
call fcn.0046429c
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x51ffa3
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.004642e8
call fcn.00450974
mov edx, 7
call fcn.004feefc
test al, al
jne 0x51ff9f
mov edx, edi
mov eax, dword [ebx + 0x22c]
call fcn.004642e8
call fcn.00450974
xor edx, edx
call fcn.004b6eb4
inc edi
dec ebp
jne 0x51ff66
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x30], 0
je case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
je case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
and word [eax + 0x52], 0xfffe
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x52016a
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x54], 0x40
jne 0x52016a
cmp byte [ebx + 0x78], 0
je 0x52016a
cmp dword [ebx + 0xa4], 0
je 0x52001c
lea eax, [ebx + 0xa4]
call fcn.0040f2e4
cmp dword [ebx + 0xa8], 0
je 0x520030
lea eax, [ebx + 0xa8]
call fcn.0040f2e4
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x520089
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
jne 0x520089
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
mov byte [eax + 0x39], 1
mov eax, dword [0x5b1914]
mov eax, dword [eax]
xor edx, edx
call fcn.0051adfc
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [0x5b1914]
mov eax, dword [eax]
call fcn.0051b0f8
jmp 0x520149
call fcn.0051a900
test al, al
jne 0x5200d3
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
xor edx, edx
mov eax, ebx
call fcn.0051adfc
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, ebx
call fcn.0051b0f8
push 0
push 0
push 0x85
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
jmp 0x520149
cmp dword [ebx + 0x248], 0
jne 0x5200f3
push 0
push 0
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.00450974
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 0x520142
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
push 0x481
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_RedrawWindow
mov eax, ebx
call fcn.0051b75c
cmp dword [ebx + 0x248], 0
je case.0x51ecbf.0
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x248]
call fcn.00531628
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp byte [ebx + 0x78], 0
je case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
push 0
push 0
push 0x85
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, ebx
call fcn.0052a534
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, ebx
call fcn.0052a534
mov eax, dword [0x5b1914]
cmp dword [eax], 0
je case.0x51ecbf.0
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.00464268
test eax, eax
je case.0x51ecbf.0
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.00464268
cmp byte [eax + 0x22b], 2
jne 0x520244
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x220]
call fcn.004bfc2c
jmp case.0x51ecbf.0
mov dl, 1
mov eax, ebx
call fcn.0052c9a8
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x1c], 0
jne 0x520bbf
mov eax, ebx
call fcn.0051aa14
test al, al
je 0x520467
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov edi, dword [eax + 0x154]
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov edx, edi
call fcn.00509950
test al, al
je 0x520467
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0xb0]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.00511fe8
push eax
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0xb0]
mov edx, edi
shl edx, 3
sub edx, edi
movsx eax, word [eax + edx*8 + 0x1c]
pop edx
xchg edx, eax
mov ecx, edx
cdq
idiv ecx
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0xb0]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.00511ffc
push eax
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0xb0]
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.00511fe8
mov ebp, eax
mov eax, dword [ebx + 0x22c]
call fcn.00449b58
cmp ebp, eax
jl 0x52035a
lea eax, [ebx + 0x1dc]
xor edx, edx
call fcn.00511ffc
mov ebp, eax
mov eax, dword [ebx + 0x22c]
call fcn.00449b9c
cmp ebp, eax
jge 0x5203c5
mov eax, dword [ebx + 0x54]
call fcn.00500a20
test al, al
jne 0x5203c5
lea eax, [ebx + 0x1dc]
xor edx, edx
call fcn.00511fe8
test eax, eax
je 0x5203c5
mov eax, dword [ebx + 0x1e8]
push eax
lea eax, [esp + 0x28]
push eax
mov edx, dword [ebx + 0x1e8]
sub edx, edi
mov eax, dword [ebx + 0x1e4]
sub eax, dword [esp + 0xc]
mov ecx, dword [ebx + 0x1e4]
call fcn.004068a8
mov eax, dword [ebx + 0x54]
call fcn.00500a20
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_InvalidateRect
lea eax, [ebx + 0x1dc]
xor edx, edx
call fcn.00511fe8
mov ebp, eax
mov eax, dword [ebx + 0x22c]
call fcn.00449b58
cmp ebp, eax
jg 0x520401
lea eax, [ebx + 0x1dc]
xor edx, edx
call fcn.00511ffc
mov ebp, eax
mov eax, dword [ebx + 0x22c]
call fcn.00449b9c
cmp ebp, eax
jle 0x520467
mov eax, dword [ebx + 0x22c]
call fcn.00449b9c
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00449b58
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00449b9c
sub eax, edi
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00449b58
sub eax, dword [esp + 0x14]
pop edx
pop ecx
call fcn.004068a8
mov eax, dword [ebx + 0x54]
call fcn.00500a20
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_InvalidateRect
lea eax, [ebx + 0x1dc]
xor edx, edx
call fcn.00511fe8
mov edi, eax
mov eax, dword [ebx + 0x22c]
call fcn.00449b58
cmp edi, eax
jg 0x5204b8
lea eax, [ebx + 0x1dc]
xor edx, edx
call fcn.00511ffc
mov edi, eax
mov eax, dword [ebx + 0x22c]
call fcn.00449b9c
cmp edi, eax
jg 0x5204b8
lea eax, [ebx + 0x1dc]
xor edx, edx
call fcn.00511fe8
test eax, eax
jne 0x5206bc
push 0x524ffc
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov edx, dword [ebx + 0x54]
mov ecx, dword [edx + 4]
mov edx, dword [ebx + 0x54]
mov edx, dword [edx + 0x28]
call fcn.0050f4f8
mov edi, eax
cmp edi, 0xffffffff
jle 0x5205ba
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0xb0]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.00511fe8
push eax
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0xb0]
mov edx, edi
shl edx, 3
sub edx, edi
movsx eax, word [eax + edx*8 + 0x1c]
pop edx
xchg edx, eax
mov ecx, edx
cdq
idiv ecx
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0xb0]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.00511ffc
push eax
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0xb0]
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 + 0x28]
push eax
mov edx, dword [ebx + 0x1e8]
sub edx, edi
mov eax, dword [ebx + 0x1e4]
sub eax, dword [esp + 0xc]
mov ecx, dword [ebx + 0x1e4]
call fcn.004068a8
mov eax, dword [ebx + 0x54]
call fcn.00500a20
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_InvalidateRect
push 0x525010
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov edx, dword [ebx + 0x54]
mov ecx, dword [edx + 4]
mov edx, dword [ebx + 0x54]
mov edx, dword [edx + 0x28]
call fcn.0050f4f8
mov edi, eax
cmp edi, 0xffffffff
jle 0x5206bc
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0xb0]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.00511fe8
push eax
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0xb0]
mov edx, edi
shl edx, 3
sub edx, edi
movsx eax, word [eax + edx*8 + 0x1c]
pop edx
xchg edx, eax
mov ecx, edx
cdq
idiv ecx
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0xb0]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8 + 0xc]
xor edx, edx
call fcn.00511ffc
push eax
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0xb0]
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 + 0x28]
push eax
mov edx, dword [ebx + 0x1e8]
sub edx, edi
mov eax, dword [ebx + 0x1e4]
sub eax, dword [esp + 0xc]
mov ecx, dword [ebx + 0x1e4]
call fcn.004068a8
mov eax, dword [ebx + 0x54]
call fcn.00500a20
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_InvalidateRect
cmp dword [ebx + 0xa4], 0
je 0x5206d0
lea eax, [ebx + 0xa4]
call fcn.0040f2e4
cmp dword [ebx + 0xa8], 0
je 0x5206e4
lea eax, [ebx + 0xa8]
call fcn.0040f2e4
mov dword [ebx + 0x230], 0xffffffff
mov eax, dword [ebx + 0x20c]
and eax, 0x80
cmp eax, 0x80
jne 0x520707
mov eax, ebx
call fcn.0051a0fc
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x30], 0
jne 0x520731
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 0x52073f
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [0x5b1188]
cmp byte [eax], 0
jne 0x520b7f
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x520b78
mov eax, ebx
call fcn.0052a04c
test al, al
je 0x520af6
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x520791
cmp byte [ebx + 0x1fe], 0
jne 0x520af6
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 0x5207e9
mov eax, dword [ebx + 0x54]
call fcn.00500a20
test al, al
je 0x5207dd
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 0x5207e1
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 0x5207e1
xor eax, eax
jmp 0x5207e3
mov al, 1
mov byte [esp + 0x10], al
jmp 0x5207ee
mov byte [esp + 0x10], 0
cmp byte [ebx + 0x78], 0
je 0x520a9a
mov eax, dword [0x5b106c]
cmp byte [eax], 0
je 0x520825
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
jne 0x520825
cmp dword [ebx + 0x248], 0
je 0x520825
lea eax, [ebx + 0x248]
call fcn.0040f2e4
mov eax, dword [ebx + 0x248]
test eax, eax
je 0x5208db
cmp dword [eax + 0x18], 0
jne 0x52083e
call fcn.00532634
cmp dword [ebx + 0x204], 0
je 0x520868
mov eax, dword [ebx + 0x204]
mov eax, dword [eax + 0x80]
cmp byte [eax + 6], 0
jne 0x520875
mov eax, dword [ebx + 0x204]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 6], 0
jne 0x520875
cmp byte [ebx + 0x58], 0
jne 0x520875
or dword [ebx + 0x20c], 1
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x248]
call fcn.00531628
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x1c], 1
and dword [ebx + 0x20c], 0xfffffffe
mov eax, dword [ebx + 0x248]
mov byte [eax + 0x28], 1
push 0x61b
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
call fcn.00450974
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [ebx + 0x248]
mov byte [eax + 0x28], 0
mov dl, 1
mov eax, ebx
call fcn.0051b2d4
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x1c], 0
jmp 0x5208e2
mov eax, ebx
call fcn.0052d5ac
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x1c], 0
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
mov ax, word [eax + 0x54]
and ax, 2
cmp ax, 2
jne 0x52091e
lea eax, [ebx + 0x1dc]
xor edx, edx
call fcn.00511ffc
mov esi, eax
mov eax, dword [ebx + 0x22c]
call fcn.00449b9c
cmp esi, eax
jne 0x52094d
mov eax, dword [ebx + 0x54]
mov ax, word [eax + 0x54]
and ax, 1
cmp ax, 1
jne 0x520980
lea eax, [ebx + 0x1dc]
xor edx, edx
call fcn.00511fe8
mov esi, eax
mov eax, dword [ebx + 0x22c]
call fcn.00449b58
cmp esi, eax
je 0x520980
push 0
lea eax, [esp + 0x18]
push eax
mov dx, 0x14
mov ax, 1
call fcn.004076b4
mov edx, eax
mov eax, dword [0x5b1168]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00511e6c
lea edx, [esp + 0x14]
mov eax, dword [ebx + 0x22c]
call fcn.004ff004
cmp dword [ebx + 0x248], 0
je 0x520a73
mov eax, dword [ebx + 0x204]
test eax, eax
je 0x5209cf
cmp dword [eax + 0x80], 0
je 0x5209cf
cmp dword [eax + 0x7c], 0
je 0x5209cf
mov eax, dword [ebx + 0x204]
mov eax, dword [eax + 0x80]
cmp byte [eax + 6], 0
jne 0x520a73
mov eax, dword [ebx + 0x204]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 6], 0
jne 0x520a73
mov eax, dword [ebx + 0x248]
cmp dword [eax + 0x18], 0
jne 0x5209e6
mov eax, dword [ebx + 0x248]
call fcn.00532634
push 0x101
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_RedrawWindow
cmp dword [ebx + 0x248], 0
je 0x520a68
push 0x61b
push 0
push 0
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
call fcn.00450974
push eax
call sub.user32.dll_SetWindowPos
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x248]
call fcn.005324cc
push eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
call fcn.00450974
push eax
call sub.user32.dll_SetWindowRgn
mov eax, dword [ebx + 0x248]
mov byte [eax + 0x28], 0
jmp 0x520a8d
xor edx, edx
mov eax, ebx
call fcn.0051b2d4
jmp 0x520a8d
push 0x921
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [ebx + 0x22c]
call fcn.004fe6b4
jmp 0x520ab6
cmp byte [esp + 0x10], 0
je 0x520ab6
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_InvalidateRect
mov eax, dword [ebx + 0x22c]
call fcn.00449b9c
push eax
lea eax, [esp + 0x88]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00449b58
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.004068a8
lea esi, [esp + 0x84]
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.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x520b1a
mov eax, dword [ebx + 0x54]
call fcn.00500a20
test al, al
je 0x520b1a
mov eax, ebx
call fcn.0052d5ac
jmp 0x520b7f
mov eax, dword [esi + 4]
sub eax, 2
jne 0x520b7f
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x520b7f
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
jne 0x520b7f
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
mov byte [eax + 0x39], 1
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov byte [eax + 0x211], 1
push 0x481
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_RedrawWindow
jmp 0x520b7f
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov eax, dword [ebx + 0x22c]
call fcn.00449b9c
push eax
lea eax, [esp + 0x88]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00449b58
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.004068a8
lea esi, [esp + 0x84]
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.0x51ecbf.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.0x51ecbf.0
mov eax, ebx
call fcn.0052d228
xor eax, eax
call fcn.004e1e14
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x520d42
cmp byte [ebx + 0x1ff], 0
jne 0x520d42
mov eax, dword [ebx + 0x22c]
call fcn.00464268
test eax, eax
je 0x520d42
mov eax, dword [ebx + 0x22c]
call fcn.00464268
cmp byte [eax + 0x22b], 2
jne 0x520d42
mov byte [ebx + 0x1ff], 1
cmp dword [0x5abbf0], 0
jne 0x520c6e
mov ecx, dword [0x5b17bc]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x45fda8]
call fcn.004629d4
mov dword [0x5abbf0], eax
mov eax, dword [0x5abbf0]
mov dword [eax + 0xc], 0xffffff9e
xor edx, edx
mov eax, dword [0x5abbf0]
call fcn.00463818
mov edx, 0x525024
mov eax, dword [0x5abbf0]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [0x5abbf0]
mov dword [eax + 0x2bc], ebx
mov dword [eax + 0x2b8], 0x52bb44
xor edx, edx
mov eax, dword [0x5abbf0]
call fcn.00464198
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.00450974
xor ecx, ecx
mov edx, dword [ebx + 0x248]
call fcn.0051a674
mov edi, eax
mov eax, dword [ebx + 0x22c]
call fcn.0051a6dc
mov edx, dword [ebx + 0x22c]
add eax, dword [edx + 0x44]
add edi, eax
push edi
mov eax, dword [ebx + 0x22c]
call fcn.00450974
xor ecx, ecx
mov edx, dword [ebx + 0x248]
call fcn.0051a674
push eax
lea edx, [esp + 0x98]
mov eax, dword [ebx + 0x22c]
call fcn.00449af4
mov eax, dword [esp + 0xa0]
sub eax, 0x3c
pop edx
sub eax, edx
push eax
push 0
mov eax, dword [0x5abbf0]
call fcn.00450974
push eax
call sub.user32.dll_SetWindowPos
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov byte [ebx + 0x1ff], 0
cmp dword [0x5abbf0], 0
je 0x520d6f
mov eax, 0x5abbf0
call fcn.0040f2e4
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
cmp byte [ebx + 0x1fc], 0
je 0x520d99
mov byte [ebx + 0x1fc], 0
mov eax, ebx
call fcn.0052d3bc
mov dl, 1
mov eax, ebx
call fcn.0051c218
test eax, eax
je 0x520dac
cmp byte [ebx + 0x78], 0
jne 0x520dbf
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov edx, esi
mov eax, ebx
call fcn.0051d9e0
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add eax, 0xfffffff8
sub eax, 2
jb 0x520ddb
sub eax, 0xa
jne 0x520df3
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x520df3
mov dl, 1
mov eax, ebx
call fcn.0052c9a8
mov eax, dword [esi + 0xc]
sub eax, 3
jb 0x520e0c
sub eax, 2
je 0x520e0c
add eax, 0xfffffffb
sub eax, 8
jae 0x520f28
mov eax, ebx
call fcn.0051aa14
test al, al
je 0x520f15
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov edi, dword [eax + 0x154]
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov edx, edi
call fcn.00509950
test al, al
je 0x520f15
lea eax, [esp + 8]
push eax
movsx ecx, word [esi + 0xa]
movsx edx, word [esi + 8]
mov eax, ebx
call fcn.00529b90
cmp dword [ebx + 0x248], 0
je 0x520edb
lea ecx, [esp + 0x74]
mov edx, edi
mov eax, ebx
call fcn.0052a688
mov ebp, dword [esp + 0x78]
mov eax, dword [ebx + 0x248]
call fcn.0051a7a0
sub ebp, eax
lea edx, [esp + 0x84]
mov eax, ebx
call fcn.0052d1f0
sub ebp, dword [esp + 0x88]
cmp ebp, dword [esp + 0xc]
jge 0x520f15
lea ecx, [esp + 0x7c]
mov edx, edi
mov eax, ebx
call fcn.0052a688
mov edi, dword [esp + 0x7c]
mov eax, dword [ebx + 0x248]
call fcn.0051a7dc
sub edi, eax
lea edx, [esp + 0x94]
mov eax, ebx
call fcn.0052d1f0
sub edi, dword [esp + 0x94]
cmp edi, dword [esp + 8]
jge 0x520f15
mov dword [esi + 0xc], 0x11
jmp case.0x51ecbf.0
lea ecx, [esp + 0x74]
mov edx, edi
mov eax, ebx
call fcn.0052a688
mov eax, dword [esp + 0x78]
cmp eax, dword [esp + 0xc]
jge 0x520f15
lea ecx, [esp + 0x7c]
mov edx, edi
mov eax, ebx
call fcn.0052a688
mov eax, dword [esp + 0x7c]
cmp eax, dword [esp + 8]
jge 0x520f15
mov dword [esi + 0xc], 0x11
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
cmp byte [ebx + 0x58], 1
jne case.0x51ecbf.0
cmp dword [0x5b3db8], 0
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je case.0x51ecbf.0
mov eax, dword [esi + 0xc]
sub eax, 2
je 0x520f66
add eax, 0xfffffff8
sub eax, 8
jae case.0x51ecbf.0
mov eax, dword [esi + 0xc]
mov dword [0x5b3db8], eax
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [ebx + 0x248], 0
je case.0x51ecbf.0
mov cl, 0xff
xor edx, edx
mov eax, dword [ebx + 0x248]
call fcn.00531628
jmp case.0x51ecbf.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052675c
mov byte [0x5abbe4], 0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
mov eax, dword [ebx + 0x54]
call fcn.005024e0
pop edx
call fcn.00510634
mov eax, dword [ebx + 0x248]
test eax, eax
je case.0x51ecbf.0
cmp byte [eax + 0x38], 0
je case.0x51ecbf.0
mov edx, dword [ebx + 0x20c]
and edx, 1
cmp edx, 1
je case.0x51ecbf.0
call fcn.005326b8
jmp case.0x51ecbf.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.0x51ecbf.0
mov eax, ebx
call fcn.0052b588
jmp case.0x51ecbf.0
cmp byte [ebx + 0x78], 0
je 0x52152b
cmp dword [ebx + 0x248], 0
je 0x52107c
cmp dword [esi + 4], 0x13
jne 0x52107c
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
cmp dword [ebx + 0x248], 0
je 0x52109b
cmp dword [esi + 4], 0xffffffff
jne 0x52109b
mov edx, esi
mov eax, dword [ebx + 0x248]
call fcn.00530b04
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
cmp eax, 8
jge 0x5210b6
sub eax, 3
je 0x521139
sub eax, 2
je 0x521126
jmp 0x521280
add eax, 0xfffffff8
sub eax, 2
jb 0x5210d2
add eax, 0xfffffff6
sub eax, 2
jb 0x5210d2
add eax, 0xffffffb1
sub eax, 3
jae 0x521280
cmp dword [0x5abbec], 0
je 0x521117
cmp dword [esi + 4], 0x67
jne 0x5210f9
mov eax, dword [0x5abbec]
mov eax, dword [eax + 0x234]
mov edx, dword [eax]
call dword [edx + 0x54]
test al, al
je case.0x51ecbf.0
cmp dword [esi + 4], 0x66
jne 0x521117
mov eax, dword [0x5abbec]
mov eax, dword [eax + 0x234]
mov edx, dword [eax]
call dword [edx + 0x58]
test al, al
je case.0x51ecbf.0
mov edx, dword [esi + 4]
mov eax, ebx
call fcn.00526978
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.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.0x51ecbf.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052675c
mov byte [0x5abbe4], 0
mov eax, dword [ebx + 0x54]
call fcn.005024e0
cmp byte [eax + 0x58], 0
jne 0x52118d
mov eax, 0xc8
call fcn.005123c4
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x1c], 0
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x5211ef
mov eax, dword [0x5b1914]
cmp dword [eax], 0
je case.0x51ecbf.0
lea edx, [esp + 8]
mov eax, ebx
call fcn.005295d4
mov eax, dword [ebx + 0x22c]
call fcn.0051a6dc
add eax, dword [esp + 0xc]
add eax, 4
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsIconic
shl eax, 4
pop ecx
sub ecx, eax
mov edx, dword [esp + 8]
mov eax, ebx
call fcn.00529858
jmp case.0x51ecbf.0
lea edx, [esp + 0x74]
mov eax, ebx
call fcn.005295d4
mov esi, dword [esp + 0x78]
mov dl, 1
mov eax, ebx
call fcn.0051c060
add esi, eax
lea edx, [esp + 0x84]
mov eax, ebx
call fcn.005296b4
lea eax, [esp + 0x84]
xor edx, edx
call fcn.00511ffc
add esi, eax
mov eax, dword [ebx + 0x22c]
call fcn.00450974
xor ecx, ecx
mov edx, dword [ebx + 0x248]
call fcn.0051a6c8
add esi, eax
push esi
mov eax, dword [ebx + 0x22c]
call fcn.00450974
xor ecx, ecx
mov edx, dword [ebx + 0x248]
call fcn.0051a674
mov esi, eax
lea edx, [esp + 0x80]
mov eax, ebx
call fcn.005295d4
add esi, dword [esp + 0x80]
mov edx, esi
mov eax, ebx
pop ecx
call fcn.00529858
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x4c]
call fcn.0041aefc
mov ecx, eax
add ecx, 0x3e8
dec ecx
mov eax, dword [esi + 4]
mov edx, 0x3e8
call fcn.00511ec0
test al, al
je 0x5212e2
mov edx, dword [esi + 4]
mov eax, ebx
call fcn.00526978
mov al, byte [0x525030]
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.0052e588
mov edx, dword [esi + 4]
sub edx, 0x3e8
xor ecx, ecx
call fcn.0052e700
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x521313
push 0
mov ecx, 0xf012
mov edx, 0x112
mov eax, dword [ebx + 0x22c]
call fcn.0044b308
jmp case.0x51ecbf.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052675c
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
jne 0x521370
lea eax, [esp + 0x74]
push eax
movsx ecx, word [esi + 0xa]
xor edx, edx
mov eax, ebx
call fcn.00529b90
mov edi, dword [esp + 0x78]
mov eax, dword [ebx + 0x22c]
call fcn.00450974
mov cl, 1
mov edx, dword [ebx + 0x248]
call fcn.0051a6c8
mov ebp, eax
mov dl, 1
mov eax, ebx
call fcn.0051c218
add ebp, eax
cmp edi, ebp
jle 0x521505
push 0
lea eax, [esp + 0x15]
push eax
push 0
push 0x26
call sub.user32.dll_SystemParametersInfoA
cmp byte [esp + 0x11], 0
je 0x5214f2
cmp byte [ebx + 0x58], 1
jne 0x52144c
mov eax, dword [ebx + 0x22c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x52144c
mov eax, dword [esi + 4]
sub eax, 5
je 0x52144c
mov eax, dword [esi + 4]
sub eax, 2
je 0x5213c1
sub eax, 3
jne 0x5213cf
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 [0x5b3d94], al
lea ecx, [esp + 8]
movsx edx, word [esi + 0xa]
movsx eax, word [esi + 8]
call fcn.004068c4
cmp byte [0x5b3d94], 0
je 0x52141b
push 0
push 0xf010
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
jmp 0x521438
push 0
push 0xf000
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov eax, ebx
call fcn.0052a9b4
jmp case.0x51ecbf.0
cmp dword [esi + 4], 2
jne 0x5214df
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
je 0x5214df
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x24]
cmp byte [eax + 6], 0
je 0x5214df
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne 0x5214df
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x24]
cmp byte [eax + 8], 0xff
je 0x5214df
cmp byte [ebx + 0x94], 0
je 0x5214df
cmp byte [ebx + 0x224], 0
jne 0x5214c2
mov byte [ebx + 0x224], 1
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SetFocus
mov eax, ebx
call fcn.00519d3c
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22e], 0
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
mov edx, dword [eax]
call dword [edx + 0xc4]
jmp case.0x51ecbf.0
mov eax, dword [esi + 4]
sub eax, 3
jne 0x521624
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052675c
mov byte [0x5abbe4], 0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x521593
mov eax, dword [0x5b1914]
cmp dword [eax], 0
je case.0x51ecbf.0
lea edx, [esp + 8]
mov eax, ebx
call fcn.005295d4
mov dl, 1
mov eax, ebx
call fcn.0051c218
mov ecx, eax
add ecx, dword [esp + 0xc]
add ecx, 4
mov edx, dword [esp + 8]
mov eax, ebx
call fcn.00529858
jmp case.0x51ecbf.0
lea edx, [esp + 0x74]
mov eax, ebx
call fcn.005295d4
mov esi, dword [esp + 0x78]
mov dl, 1
mov eax, ebx
call fcn.0051c060
add esi, eax
lea edx, [esp + 0x84]
mov eax, ebx
call fcn.005296b4
lea eax, [esp + 0x84]
xor edx, edx
call fcn.00511ffc
add esi, eax
mov eax, dword [ebx + 0x22c]
call fcn.00450974
xor ecx, ecx
mov edx, dword [ebx + 0x248]
call fcn.0051a6c8
add esi, eax
push esi
mov eax, dword [ebx + 0x22c]
call fcn.00450974
mov cl, 1
mov edx, dword [ebx + 0x248]
call fcn.0051a674
mov esi, eax
lea edx, [esp + 0x80]
mov eax, ebx
call fcn.005295d4
add esi, dword [esp + 0x80]
mov edx, esi
mov eax, ebx
pop ecx
call fcn.00529858
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
cmp dword [esi + 4], 0x2f
jne 0x521698
cmp dword [ebx + 0x1f8], 0
je 0x521698
mov eax, dword [ebx + 0x1f8]
mov edx, dword [0x5190bc]
call fcn.004037f8
test al, al
je 0x521698
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov edi, dword [ebx + 0x1f8]
mov eax, edi
call fcn.00534604
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.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [0x5b1608]
cmp dword [eax], 0
je 0x5216de
mov eax, dword [0x5b1608]
mov eax, dword [eax]
test byte [eax + 0x1c], 0x10
jne 0x5216de
mov eax, dword [0x5b1608]
mov eax, dword [eax]
xor edx, edx
call fcn.00510634
cmp byte [ebx + 0x58], 1
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je case.0x51ecbf.0
lea ecx, [esp + 0x74]
movsx edx, word [esi + 0xa]
movsx eax, word [esi + 8]
call fcn.004068c4
lea edx, [esp + 0x74]
lea ecx, [esp + 8]
mov eax, dword [ebx + 0x22c]
call fcn.00449c6c
mov eax, dword [esp + 8]
mov dword [esp + 4], eax
mov edi, dword [esp + 0xc]
cmp byte [0x5b3d94], 0
je 0x5217a9
cmp byte [0x5abbd4], 0
je 0x521744
mov byte [0x5abbd4], 0
cmp byte [0x5abbcc], 0
je case.0x51ecbf.0
mov ecx, dword [0x5b3da0]
mov edx, dword [0x5b3da4]
mov eax, ebx
call fcn.0052abb4
mov eax, dword [esp + 4]
sub eax, dword [0x5b3db0]
add dword [0x5b3da4], eax
mov eax, edi
sub eax, dword [0x5b3db4]
add dword [0x5b3da0], eax
mov dword [0x5b3db4], edi
mov eax, dword [esp + 4]
mov dword [0x5b3db0], eax
mov ecx, dword [0x5b3da0]
mov edx, dword [0x5b3da4]
mov eax, ebx
call fcn.0052abb4
jmp case.0x51ecbf.0
cmp byte [0x5abbd4], 0
je 0x5217c8
mov eax, dword [esp + 4]
mov dword [0x5b3db0], eax
mov dword [0x5b3db4], edi
mov byte [0x5abbd4], 0
cmp byte [0x5abbcc], 0
je case.0x51ecbf.0
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.0052abb4
mov eax, dword [0x5b3db8]
add eax, 0xfffffff6
cmp eax, 6
ja case.default.0x5217f1
jmp dword [eax*4 + 0x5217f8]
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x40]
add eax, dword [esp + 4]
sub eax, dword [0x5b3db0]
mov dword [0x5b3da4], eax
mov eax, dword [0x5b3dac]
sub eax, dword [0x5b3da4]
cmp eax, dword [0x5b3dc0]
jge 0x521b59
mov eax, dword [0x5b3dac]
sub eax, dword [0x5b3dc0]
mov dword [0x5b3da4], eax
jmp 0x521b59
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x40]
mov edx, dword [ebx + 0x22c]
add eax, dword [edx + 0x48]
add eax, dword [esp + 4]
sub eax, dword [0x5b3db0]
mov dword [0x5b3dac], eax
mov eax, dword [0x5b3dac]
sub eax, dword [0x5b3da4]
cmp eax, dword [0x5b3dc0]
jge 0x521b59
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x40]
add eax, dword [0x5b3dc0]
mov dword [0x5b3dac], eax
jmp 0x521b59
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 [0x5b3db4]
mov dword [0x5b3da8], edi
mov eax, dword [0x5b3da8]
sub eax, dword [0x5b3da0]
cmp eax, dword [0x5b3dbc]
jge 0x521b59
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x44]
add eax, dword [0x5b3dbc]
mov dword [0x5b3da8], eax
jmp 0x521b59
mov eax, dword [ebx + 0x22c]
add edi, dword [eax + 0x44]
sub edi, dword [0x5b3db4]
mov dword [0x5b3da0], edi
mov eax, dword [0x5b3da8]
sub eax, dword [0x5b3da0]
cmp eax, dword [0x5b3dbc]
jge 0x521b59
mov eax, dword [0x5b3da8]
sub eax, dword [0x5b3dbc]
mov dword [0x5b3da0], eax
jmp 0x521b59
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 [0x5b3db4]
mov dword [0x5b3da8], edi
mov eax, dword [0x5b3da8]
sub eax, dword [0x5b3da0]
cmp eax, dword [0x5b3dbc]
jge 0x521981
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x44]
add eax, dword [0x5b3dbc]
mov dword [0x5b3da8], eax
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x40]
add eax, dword [esp + 4]
sub eax, dword [0x5b3db0]
mov dword [0x5b3da4], eax
mov eax, dword [0x5b3dac]
sub eax, dword [0x5b3da4]
cmp eax, dword [0x5b3dc0]
jge 0x521b59
mov eax, dword [0x5b3dac]
sub eax, dword [0x5b3dc0]
mov dword [0x5b3da4], eax
jmp 0x521b59
mov eax, dword [ebx + 0x22c]
add edi, dword [eax + 0x44]
sub edi, dword [0x5b3db4]
mov dword [0x5b3da0], edi
mov eax, dword [0x5b3da8]
sub eax, dword [0x5b3da0]
cmp eax, dword [0x5b3dbc]
jge 0x5219fd
mov eax, dword [0x5b3da8]
sub eax, dword [0x5b3dbc]
mov dword [0x5b3da0], 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 + 4]
sub eax, dword [0x5b3db0]
mov dword [0x5b3dac], eax
mov eax, dword [0x5b3dac]
sub eax, dword [0x5b3da4]
cmp eax, dword [0x5b3dc0]
jge 0x521b59
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x40]
add eax, dword [0x5b3dc0]
mov dword [0x5b3dac], eax
jmp 0x521b59
mov eax, dword [ebx + 0x22c]
add edi, dword [eax + 0x44]
sub edi, dword [0x5b3db4]
mov dword [0x5b3da0], edi
mov eax, dword [0x5b3da8]
sub eax, dword [0x5b3da0]
cmp eax, dword [0x5b3dbc]
jge 0x521a86
mov eax, dword [0x5b3da8]
sub eax, dword [0x5b3dbc]
mov dword [0x5b3da0], eax
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x40]
add eax, dword [esp + 4]
sub eax, dword [0x5b3db0]
mov dword [0x5b3da4], eax
mov eax, dword [0x5b3dac]
sub eax, dword [0x5b3da4]
cmp eax, dword [0x5b3dc0]
jge 0x521b59
mov eax, dword [0x5b3dac]
sub eax, dword [0x5b3dc0]
mov dword [0x5b3da4], eax
jmp 0x521b59
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 [0x5b3db4]
mov dword [0x5b3da8], edi
mov eax, dword [0x5b3da8]
sub eax, dword [0x5b3da0]
cmp eax, dword [0x5b3dbc]
jge 0x521b11
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x44]
add eax, dword [0x5b3dbc]
mov dword [0x5b3da8], 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 + 4]
sub eax, dword [0x5b3db0]
mov dword [0x5b3dac], eax
mov eax, dword [0x5b3dac]
sub eax, dword [0x5b3da4]
cmp eax, dword [0x5b3dc0]
jge 0x521b59
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x40]
add eax, dword [0x5b3dc0]
mov dword [0x5b3dac], eax
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.0052abb4
jmp case.0x51ecbf.0
mov eax, dword [esi + 4]
add eax, 0xfffffffe
sub eax, 2
jb case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov eax, ebx
call fcn.0051b714
test al, al
je 0x521bf8
cmp dword [ebx + 0x248], 0
je 0x521bb7
cmp dword [esi + 4], 0xffffffff
jne 0x521bb7
mov edx, esi
mov eax, dword [ebx + 0x248]
call fcn.00530b04
mov dword [esi + 4], eax
jmp 0x521bc3
mov edx, esi
mov eax, ebx
call fcn.0051d9e0
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add eax, 0xfffffffe
sub eax, 2
jae case.0x51ecbf.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052675c
mov byte [0x5abbe4], 0
movsx ecx, word [esi + 0xa]
movsx edx, word [esi + 8]
mov eax, ebx
call fcn.00529858
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
cmp byte [ebx + 0x78], 0
je 0x522213
cmp dword [ebx + 0x248], 0
je 0x521c34
cmp dword [esi + 4], 0xffffffff
jne 0x521c34
mov edx, esi
mov eax, dword [ebx + 0x248]
call fcn.00530b04
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
cmp eax, 0x15
jg 0x521c5c
je 0x521f6c
sub eax, 8
je 0x521e0d
dec eax
je 0x521cf5
sub eax, 0xb
je 0x521c78
jmp 0x5220b3
sub eax, 0x65
je 0x521fda
dec eax
je 0x522020
dec eax
je 0x522062
jmp 0x5220b3
cmp byte [0x5abbe4], 0
je case.0x51ecbf.0
xor eax, eax
mov dword [ebx + 0x114], eax
push 0
push 0xf060
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x1c], 8
jne case.0x51ecbf.0
mov eax, ebx
call fcn.0052d228
cmp dword [ebx + 0x22c], 0
je case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x57], 0
je case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052675c
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x234]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
jne 0x521d2a
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x234]
mov edx, dword [eax]
call dword [edx + 0x58]
test al, al
je case.0x51ecbf.0
cmp byte [0x5abbe4], 0
je 0x521def
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052675c
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
jne 0x521da3
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
je 0x521d6f
xor edx, edx
mov eax, dword [ebx + 0x22c]
call fcn.00464910
jmp 0x521d76
xor eax, eax
mov dword [0x5abbec], eax
push 0
push 0xf120
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebx + 0x22c]
mov edx, dword [eax]
call dword [edx + 0x80]
jmp 0x521dd6
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x521db9
xor eax, eax
mov dword [0x5abbec], eax
push 0
push 0xf030
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
xor edx, edx
mov eax, dword [ebx + 0x234]
call fcn.0052e10c
mov byte [0x5abbe4], 0
jmp case.0x51ecbf.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052675c
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
cmp byte [0x5abbe4], 0
je 0x521f4e
cmp dword [ebx + 0x248], 0
je 0x521e4e
movsx edx, word [esi + 0xa]
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
sub edx, dword [eax + 0x44]
movsx eax, word [esi + 8]
mov ecx, dword [ebx + 0x248]
mov ecx, dword [ecx + 0x18]
sub eax, dword [ecx + 0x40]
lea ecx, [esp + 8]
call fcn.004068c4
jmp 0x521e62
lea eax, [esp + 8]
push eax
movsx ecx, word [esi + 0xa]
movsx edx, word [esi + 8]
mov eax, ebx
call fcn.00529b90
lea edx, [esp + 8]
lea eax, [ebx + 0xcc]
call fcn.004068cc
test al, al
je 0x521f3b
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052675c
mov eax, dword [0x5b17bc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x22c]
jne 0x521ec3
mov byte [ebx + 0x202], 1
push 0
push 0xf020
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
mov byte [ebx + 0x202], 0
jmp 0x521f28
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x521ef7
push 0
push 0xf120
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
jmp 0x521f28
or dword [ebx + 0x20c], 0x100
push 0
push 0xf020
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.00450974
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.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052675c
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
cmp byte [0x5abbe4], 0
je 0x521fca
push 0
push 0xf180
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052675c
xor edx, edx
mov eax, dword [ebx + 0x234]
call fcn.0052e10c
mov byte [0x5abbe4], 0
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, dword [ebx + 0x22c]
call fcn.0044b308
jmp case.0x51ecbf.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052675c
jmp case.0x51ecbf.0
cmp byte [0x5abbe4], 0
je case.0x51ecbf.0
mov byte [0x5abbe4], 0
push 0
push 0xf060
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.00464268
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.0052675c
jmp case.0x51ecbf.0
cmp byte [0x5abbe4], 0
je 0x52204b
push 0
push 0xf120
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.00464268
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
mov byte [0x5abbe4], 0
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.0052675c
jmp case.0x51ecbf.0
cmp byte [0x5abbe4], 0
je 0x5220a3
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
call fcn.00502288
mov byte [0x5abbe4], 0
push 0
push 0xf020
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.00464268
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052675c
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x4c]
call fcn.0041aefc
mov ecx, eax
add ecx, 0x3e8
dec ecx
mov eax, dword [esi + 4]
mov edx, 0x3e8
call fcn.00511ec0
test al, al
je 0x522126
cmp byte [0x5abbe4], 0
je 0x52210f
mov al, byte [0x525030]
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.0052e588
mov edx, dword [esi + 4]
sub edx, 0x3e8
xor ecx, ecx
call fcn.0052e728
mov byte [0x5abbe4], 0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052675c
jmp 0x522207
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x522192
mov eax, dword [0x5b1914]
cmp dword [eax], 0
je 0x522182
lea edx, [esp + 0x74]
mov eax, ebx
call fcn.005295d4
mov esi, dword [esp + 0x74]
lea eax, [esp + 0x7c]
call fcn.004fb4a4
add esi, dword [esp + 0x7c]
push esi
lea eax, [esp + 0xa8]
call fcn.004fb4a4
mov ecx, dword [esp + 0xac]
mov eax, ebx
pop edx
call fcn.00529858
jmp 0x522207
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp 0x522207
cmp byte [ebx + 0x58], 1
jne 0x5221f9
mov eax, dword [ebx + 0x22c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x5221f9
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
je 0x5221f9
cmp byte [0x5abbcc], 0
je 0x5221f9
lea ecx, [esp + 0x74]
movsx edx, word [esi + 0xa]
movsx eax, word [esi + 8]
call fcn.004068c4
lea edx, [esp + 0x74]
lea ecx, [esp + 8]
mov eax, dword [ebx + 0x22c]
call fcn.00449c6c
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov eax, ebx
call fcn.0052aab4
call sub.user32.dll_ReleaseCapture
jmp 0x522207
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov byte [0x5abbe4], 0
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
xor eax, eax
mov dword [esi + 0xc], eax
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [ebx + 0x204], 0
je 0x522252
lea eax, [ebx + 0x204]
call fcn.0040f2e4
mov eax, dword [ebx + 0x54]
call fcn.005024e0
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00450974
mov edx, 3
pop ecx
call fcn.004fee48
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x2f4], 1
jne 0x5222d8
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x57], 0
je 0x5222d8
mov eax, ebx
call fcn.0051aa5c
test al, al
jne 0x5222d8
mov eax, dword [ebx + 0x54]
mov ax, word [eax + 0x52]
and ax, 0x800
cmp ax, 0x800
je 0x5222c5
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.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
test byte [ebx + 0x1c], 1
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x2f4], 1
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x1c], 8
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
xor ecx, ecx
mov dl, 1
call fcn.0051a994
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x522394
mov eax, dword [0x5b1914]
cmp dword [eax], 0
je 0x522394
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.00464268
test eax, eax
je 0x522394
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.00464268
cmp byte [eax + 0x22b], 2
jne 0x522394
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.00464268
cmp eax, dword [ebx + 0x22c]
jne case.0x51ecbf.0
cmp byte [ebx + 0x9d], 0
jne 0x5223af
mov eax, ebx
call fcn.0052a534
test al, al
je 0x5223af
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 0x5224ba
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x39], 0
je 0x5223dc
mov eax, ebx
call fcn.00527bc4
push 0xcc0020
push 0
push 0
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
call fcn.0042a150
call fcn.004257a0
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.00529d5c
push eax
mov eax, ebx
call fcn.00529cc4
mov edx, eax
mov eax, ebp
pop ecx
call fcn.00448a90
lea eax, [esp + 0x24]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_GetClientRect
lea eax, [esp + 0x24]
xor edx, edx
call fcn.00511ffc
push eax
lea eax, [esp + 0x28]
xor edx, edx
call fcn.00511fe8
push eax
push 0
push 0
push ebp
call sub.gdi32.dll_IntersectClipRect
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
je 0x5226e5
lea ecx, [esp + 0x74]
xor edx, edx
xor eax, eax
call fcn.004068c4
lea eax, [esp + 0x74]
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.004fe8d0
jmp 0x5226e5
cmp byte [ebx + 0x78], 0
je 0x5225fd
mov eax, ebx
call fcn.0051b714
test al, al
jne 0x5225f4
mov eax, dword [ebx + 0x22c]
call fcn.00450974
call fcn.0051b2bc
test al, al
je 0x5225f4
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x39], 0
je 0x5224fb
mov eax, ebx
call fcn.00527bc4
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.0042a150
call fcn.004257a0
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.0042a150
call fcn.004257a0
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.0042a150
call fcn.004257a0
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.0042a150
call fcn.004257a0
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 0x5225fd
mov edx, ebp
mov eax, ebx
call fcn.005260e0
mov eax, ebx
call fcn.00529d5c
push eax
mov eax, ebx
call fcn.00529cc4
mov edx, eax
mov eax, ebp
pop ecx
call fcn.00448a90
lea eax, [esp + 0x24]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_GetClientRect
lea eax, [esp + 0x24]
xor edx, edx
call fcn.00511ffc
push eax
lea eax, [esp + 0x28]
xor edx, edx
call fcn.00511fe8
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 0x52266c
mov cl, 1
mov edx, ebp
mov eax, ebx
call fcn.00526380
jmp 0x5226e5
push ebp
call sub.gdi32.dll_SaveDC
mov dword [esp], eax
push 0
push 0
xor ecx, ecx
mov edx, dword [ebx + 0x22c]
mov eax, ebp
call fcn.004eb8d0
mov cl, 1
mov edx, ebp
mov eax, ebx
call fcn.00526380
mov eax, dword [esp]
push eax
push ebp
call sub.gdi32.dll_RestoreDC
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
je 0x5226e5
lea ecx, [esp + 0x74]
xor edx, edx
xor eax, eax
call fcn.004068c4
lea eax, [esp + 0x74]
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.004fe8d0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x52270e
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.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
call fcn.00464450
mov edx, ebp
call fcn.00425820
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.00464450
xor edx, edx
call fcn.00425820
jmp case.0x51ecbf.0
xor eax, eax
mov dword [esi + 0xc], eax
jmp case.0x51ecbf.0
cmp dword [ebx + 0x234], 0
jne 0x522785
mov eax, ebx
call fcn.0052b588
cmp byte [ebx + 0x78], 0
je 0x5227ec
mov eax, dword [ebx + 0x54]
mov ax, word [eax + 0x52]
and ax, 0x800
cmp ax, 0x800
je case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
mov ax, word [eax + 0x52]
and ax, 0x400
cmp ax, 0x400
je case.0x51ecbf.0
mov eax, ebx
call fcn.0051a618
test al, al
je 0x5227d6
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x248]
cmp dword [eax + 0x38], 0
je case.0x51ecbf.0
mov eax, dword [ebx + 0x20c]
and eax, 0x200
cmp eax, 0x200
je case.0x51ecbf.0
cmp byte [ebx + 0x1fc], 0
je 0x522803
mov byte [ebx + 0x1fc], 0
mov eax, ebx
call fcn.0052d3bc
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x30], 0
je 0x52282a
mov eax, dword [ebx + 0x54]
call fcn.005024f4
mov edx, dword [ebx + 0x54]
mov byte [edx + 0x1c], al
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x1c], 0
jne case.0x51ecbf.0
cmp byte [ebx + 0x78], 0
je 0x5228f4
mov eax, dword [0x5b1188]
cmp byte [eax], 0
je 0x522851
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
je 0x5228f4
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x52286d
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
cmp byte [ebx + 0x203], 0
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je case.0x51ecbf.0
test byte [ebx + 0x1c], 1
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x55], 2
jne case.0x51ecbf.0
cmp dword [ebx + 0x234], 0
je case.0x51ecbf.0
cmp dword [ebx + 0x208], 0
jne 0x5228c4
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x30]
mov eax, dword [ebx + 0x54]
cmp dword [eax + 0x44], 0
jne 0x5228e3
mov eax, dword [ebx + 0x54]
call fcn.005024e0
call fcn.00511038
mov edx, eax
mov eax, ebx
call fcn.0052cfb8
mov eax, ebx
call fcn.0052bfac
xor eax, eax
mov dword [esi + 0xc], eax
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x522c67
mov eax, dword [ebx + 0x54]
mov ax, word [eax + 0x52]
and ax, 0x800
cmp ax, 0x800
je case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x1c], 0
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x54], 0x80
jne 0x522bae
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x522bae
mov eax, dword [ebx + 0x54]
call fcn.00500a20
test al, al
je 0x5229a2
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x522ada
mov eax, dword [ebx + 0x22c]
call fcn.00464268
test eax, eax
je 0x522ada
mov eax, dword [ebx + 0x22c]
call fcn.00464268
cmp byte [eax + 0x22b], 2
jne 0x522ada
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x522a9e
mov eax, dword [ebx + 0x54]
cmp dword [eax + 0x44], 0
je 0x522a9e
mov eax, dword [0x5b1914]
cmp dword [eax], 0
je 0x522a9e
lea eax, [esp + 0x24]
push eax
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_GetClientRect
lea edx, [esp + 0x84]
mov eax, dword [ebx + 0x22c]
call fcn.00449af4
lea edx, [esp + 0x84]
lea eax, [esp + 0x24]
call fcn.004068cc
test al, al
je 0x522a9e
lea edx, [esp + 0x84]
mov eax, dword [ebx + 0x22c]
call fcn.00449af4
lea edx, [esp + 0x8c]
lea eax, [esp + 0x24]
call fcn.004068cc
test al, al
je 0x522a9e
mov eax, dword [ebx + 0x22c]
call fcn.00450974
mov cl, 1
mov edx, dword [ebx + 0x248]
call fcn.0051a6c8
mov edi, eax
mov dl, 1
mov eax, ebx
call fcn.0051c218
add edi, eax
mov eax, ebx
call fcn.00529e50
mov ebp, eax
mov eax, ebx
call fcn.0052a518
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.0042c36c
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.0052bda8
cmp byte [0x5abbe8], 0
je 0x522c5b
mov byte [0x5abbe8], 0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x522c5b
mov dword [0x5abbec], ebx
jmp 0x522c5b
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x1c], 0
jne 0x522c5b
mov eax, dword [ebx + 0x54]
cmp dword [eax + 0x44], 0
je 0x522b9e
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x39], 0
jne 0x522b9e
mov eax, dword [ebx + 0x22c]
call fcn.00449b9c
push eax
lea eax, [esp + 0x88]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00449b58
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.004068a8
lea eax, [esp + 0x84]
push eax
mov eax, dword [esi + 4]
push eax
push 0
push 0
push 0
mov eax, ebx
call fcn.00529d5c
mov edi, eax
mov eax, dword [ebx + 0x22c]
call fcn.00449b9c
add edi, eax
push edi
lea eax, [esp + 0xac]
push eax
mov eax, ebx
call fcn.00529cc4
mov edi, eax
mov eax, dword [ebx + 0x22c]
call fcn.00449b58
add edi, eax
push edi
mov eax, ebx
call fcn.00529d5c
push eax
mov eax, ebx
call fcn.00529cc4
pop edx
pop ecx
call fcn.004068a8
lea ecx, [esp + 0xa8]
mov edx, dword [ebx + 0x54]
mov eax, dword [ebx + 0x22c]
call fcn.00503c70
mov eax, dword [ebx + 0x22c]
call fcn.004fe6b4
jmp 0x522c5b
cmp dword [esi + 4], 0
je 0x522c5b
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x39], 0
jne 0x522c5b
mov eax, dword [ebx + 0x54]
call fcn.00500a20
test al, al
je 0x522c1a
push 0xcc0020
mov eax, ebx
call fcn.00529d5c
push eax
mov eax, ebx
call fcn.00529cc4
push eax
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x44]
call fcn.0042a150
call fcn.004257a0
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 0x522c5b
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.005012bc
push eax
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x4c]
push eax
lea eax, [esp + 0x8c]
push eax
mov eax, dword [ebx + 0x22c]
mov ecx, dword [eax + 0x48]
xor edx, edx
xor eax, eax
call fcn.004068a8
lea edx, [esp + 0x88]
mov eax, dword [esi + 4]
pop ecx
call fcn.004eb634
mov dword [esi + 0xc], 1
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x54], 0x80
jne case.0x51ecbf.0
cmp dword [ebx + 0x248], 0
je 0x522cd1
mov eax, ebx
call fcn.0051aa5c
test al, al
jne 0x522cd1
mov eax, dword [ebx + 0x248]
cmp dword [eax + 0x18], 0
je 0x522cc2
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
call fcn.00450974
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x522cd1
mov cl, 0xff
xor edx, edx
mov eax, dword [ebx + 0x248]
call fcn.00531628
mov eax, dword [ebx + 0x54]
call fcn.00500a20
test al, al
je 0x522d8c
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x522d7c
mov edx, esi
mov eax, ebx
call fcn.0052c79c
cmp byte [0x5abbe8], 0
je 0x522d0d
mov byte [0x5abbe8], 0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x522d72
cmp dword [esi + 4], 0
jne 0x522d35
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_GetDC
mov ebp, eax
lea ecx, [esp + 0x74]
xor edx, edx
xor eax, eax
call fcn.004068c4
lea eax, [esp + 0x74]
push eax
push 0
push 1
mov cl, 1
mov edx, dword [ebx + 0x22c]
mov eax, ebp
call fcn.004fe8d0
cmp dword [esi + 4], 0
jne 0x522d72
push ebp
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_ReleaseDC
xor eax, eax
mov dword [esi + 0xc], eax
jmp 0x522e00
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp 0x522e00
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x522df2
test byte [ebx + 0x1c], 8
jne 0x522dbf
mov eax, dword [ebx + 0x54]
cmp byte [eax + 0x39], 0
je 0x522dbf
push 0xffffffffffffffff
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_InvalidateRect
lea eax, [esp + 0x34]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_BeginPaint
lea eax, [esp + 0x34]
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_EndPaint
xor eax, eax
mov dword [esi + 0xc], eax
jmp 0x522e00
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp byte [ebx + 0x78], 0
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x248], 0
je case.0x51ecbf.0
push 0
push 0
push 0x85
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [0x5b1840]
cmp dword [eax], 0
je case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
call fcn.00450c78
test al, al
je case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
call fcn.0051c318
jmp case.0x51ecbf.0
test byte [ebx + 0x1c], 8
jne 0x523453
cmp byte [ebx + 0x78], 0
je 0x523453
mov eax, dword [ebx + 0x22c]
call fcn.00450c78
test al, al
je 0x523453
cmp dword [ebx + 0x234], 0
jne 0x522eb7
mov eax, ebx
call fcn.0052b588
or dword [ebx + 0x20c], 0x8000
mov eax, dword [ebx + 0x20c]
and eax, 0x80
cmp eax, 0x80
je 0x522ee0
cmp dword [esi + 4], 1
sbb eax, eax
inc eax
mov byte [ebx + 0x224], al
cmp byte [ebx + 0x224], 0
jne 0x522efb
cmp byte [ebx + 0x201], 3
jne 0x522efb
mov byte [ebx + 0x201], 0
jmp 0x522f29
cmp byte [ebx + 0x201], 3
je 0x522f17
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.00502aac
jmp 0x522f29
cmp dword [ebx + 0x248], 0
sete dl
mov eax, dword [ebx + 0x54]
call fcn.00502aac
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x5231b4
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5231b4
cmp word [esi + 4], 0
setne al
cmp al, byte [ebx + 0x224]
je 0x522f6c
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
call fcn.0051a900
test al, al
je 0x523076
cmp dword [ebx + 0x248], 0
jne 0x522f9e
push 0
push 0
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
jmp 0x5230ce
mov eax, dword [ebx + 0x54]
cmp dword [eax + 0x44], 0
je 0x5230ce
mov eax, ebx
call fcn.00529e50
test eax, eax
jle 0x5230ce
mov eax, dword [ebx + 0x248]
cmp dword [eax + 0x18], 0
jne 0x522fd1
mov eax, dword [ebx + 0x248]
call fcn.00532634
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x248]
call fcn.005324cc
push eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
call fcn.00450974
push eax
call sub.user32.dll_SetWindowRgn
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x2e0], 0
je 0x523031
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
call fcn.00450974
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.005195f8
jmp 0x523051
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
call fcn.00450974
mov edx, dword [ebx + 0x54]
mov edx, dword [edx + 0x44]
mov ecx, 0xff
call fcn.005195f8
push 0x613
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
call fcn.00450974
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5230ce
cmp byte [ebx + 0x203], 0
jne 0x523088
cmp byte [ebx + 0x1fc], 0
je 0x5230a1
push 0
push 0
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
jmp 0x5230ce
cmp dword [ebx + 0x248], 0
je 0x5230b5
mov eax, ebx
call fcn.0051a618
test al, al
je 0x5230ce
mov eax, dword [ebx + 0x22c]
cmp word [eax + 0x2ba], 0
jne 0x5230ce
xor edx, edx
mov eax, ebx
call fcn.0051adfc
cmp dword [ebx + 0x248], 0
je 0x5230f2
cmp byte [ebx + 0x203], 0
jne 0x5230f2
call fcn.0051a900
test al, al
jne 0x5230f2
xor edx, edx
mov eax, ebx
call fcn.0051b2d4
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
call fcn.0051a900
test al, al
je 0x523149
cmp dword [ebx + 0x248], 0
jne 0x5231c2
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
push 0x181
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_RedrawWindow
jmp 0x5231c2
cmp byte [ebx + 0x203], 0
jne 0x52315b
cmp byte [ebx + 0x1fc], 0
je 0x523174
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
jmp 0x52318f
cmp dword [ebx + 0x248], 0
je 0x523188
mov eax, ebx
call fcn.0051a618
test al, al
je 0x52318f
mov eax, ebx
call fcn.0051b0f8
cmp byte [ebx + 0x1fc], 0
je 0x5231c2
push 0x85
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_RedrawWindow
jmp 0x5231c2
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [ebx + 0x22c], 0
je 0x5232aa
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x57], 0
je 0x5232aa
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x5232aa
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x2f4], 0x10
je 0x5232aa
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x2f4], 4
je 0x5232aa
mov eax, dword [0x5b1914]
cmp dword [eax], 0
je 0x5232aa
mov eax, dword [0x5b1914]
mov eax, dword [eax]
cmp dword [eax + 0x220], 0
je 0x5232aa
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
mov byte [eax + 0x39], 1
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov dword [eax + 0x230], 0xffffffff
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x220]
call fcn.004bfc2c
push 0
push 0
push 0x85
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
push 0
push 0
push 0x85
mov eax, dword [0x5b1914]
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.00450974
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0x80000
cmp eax, 0x80000
jne 0x5232d9
cmp dword [ebx + 0x1f8], 0
jne 0x5232d9
mov eax, ebx
call fcn.0052d5ac
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x54], 0x40
jne case.0x51ecbf.0
mov eax, ebx
call fcn.0051b714
test al, al
je 0x52338f
mov eax, dword [ebx + 0x20c]
and eax, 0x80
cmp eax, 0x80
je 0x52338f
mov eax, ebx
call fcn.0052a4ac
test al, al
je 0x523367
cmp word [esi + 4], 0
jne 0x523334
mov eax, dword [ebx + 0x22c]
call fcn.00464268
cmp byte [eax + 0x22e], 0
je 0x52338f
cmp word [esi + 4], 0
jne 0x523353
mov eax, dword [ebx + 0x22c]
call fcn.00464268
cmp byte [eax + 0x22e], 0
jne 0x523353
xor eax, eax
jmp 0x523355
mov al, 1
mov byte [ebx + 0x224], al
mov dword [ebx + 0x230], 0xffffffff
jmp 0x52338f
cmp word [esi + 4], 0
setne al
cmp al, byte [ebx + 0x224]
je 0x52338f
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 0x5233ae
mov eax, dword [ebx + 0x1f8]
cmp byte [eax + 0x30], 0
jne 0x523421
mov eax, ebx
call fcn.0052d5ac
cmp dword [ebx + 0x248], 0
je 0x523421
mov eax, dword [ebx + 0x22c]
mov al, byte [eax + 0x22b]
sub al, 1
jb 0x523412
dec al
jne 0x523421
mov eax, dword [0x5b106c]
cmp byte [eax], 0
je 0x5233f2
lea eax, [ebx + 0x248]
call fcn.0040f2e4
xor edx, edx
mov eax, ebx
call fcn.0051b2d4
jmp 0x523421
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x248], 0
je 0x523421
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x248]
call fcn.00531628
jmp 0x523421
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x248]
call fcn.00531628
mov eax, ebx
call fcn.0052b50c
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.00502ab0
test al, al
je case.0x51ecbf.0
cmp dword [ebx + 0x208], 0
jne case.0x51ecbf.0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x30]
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [ebx + 0x248], 0
je case.0x51ecbf.0
mov eax, dword [ebx + 0x20c]
and eax, 0x100
cmp eax, 0x100
je case.0x51ecbf.0
mov cl, 0xff
xor edx, edx
mov eax, dword [ebx + 0x248]
call fcn.00531628
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x523587
mov eax, dword [0x5b1914]
cmp dword [eax], 0
je 0x523587
mov eax, dword [0x5b1914]
mov eax, dword [eax]
test byte [eax + 0x1c], 8
jne 0x523587
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
je 0x523551
mov byte [ebx + 0x9d], 0
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov byte [eax + 0x211], 1
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
mov byte [eax + 0x39], 1
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov dword [eax + 0x230], 0xffffffff
push 0
push 0
push 0x85
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
jmp 0x523587
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
mov byte [eax + 0x39], 1
push 0
push 0
push 0x85
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
mov al, 1
call fcn.0051e15c
mov dword [0x5abbec], ebx
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x523650
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [ebx + 0x204], 0
jne 0x5235d1
cmp byte [ebx + 0x78], 0
je 0x5235d1
lea edx, [ebx + 0x204]
xor ecx, ecx
mov eax, ebx
call fcn.0051b610
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x54], 0x40
jne case.0x51ecbf.0
mov dword [ebx + 0x230], 0xffffffff
cmp word [esi + 4], 1
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
call fcn.005024e0
test byte [eax + 0x1c], 0x10
jne 0x523617
xor edx, edx
mov eax, dword [ebx + 0x54]
call fcn.00502ab0
mov edx, eax
mov eax, ebx
call fcn.0052a938
cmp dword [ebx + 0x234], 0
je 0x52362d
xor edx, edx
mov eax, dword [ebx + 0x234]
call fcn.0052e10c
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x229], 0
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
call fcn.004fe6b4
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
cmp byte [ebx + 0x1fc], 0
je 0x523696
cmp dword [esi + 4], 1
jne 0x523696
mov byte [ebx + 0x1fc], 0
mov eax, ebx
call fcn.0052d3bc
mov eax, dword [ebx + 0x54]
call fcn.005024e0
call fcn.00511038
mov edx, eax
mov eax, ebx
call fcn.0052cfb8
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [esi + 4], 0
jne 0x5236eb
cmp dword [ebx + 0x54], 0
je 0x5236df
mov eax, dword [ebx + 0x54]
cmp dword [eax + 0x44], 0
je 0x5236df
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x1c], 8
jne 0x5236df
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.0052d228
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x30], 0
je case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
call fcn.004fe6b4
jmp case.0x51ecbf.0
cmp byte [ebx + 0x58], 1
jne 0x523759
cmp byte [0x5abbcc], 0
je 0x523759
lea ecx, [esp + 0x74]
movsx edx, word [esi + 0xa]
movsx eax, word [esi + 8]
call fcn.004068c4
lea edx, [esp + 0x74]
lea ecx, [esp + 8]
mov eax, dword [ebx + 0x22c]
call fcn.00449c6c
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov eax, ebx
call fcn.0052aab4
call sub.user32.dll_ReleaseCapture
mov byte [0x5abbcc], 0
mov byte [0x5abbd0], 0
mov eax, dword [esi + 4]
sub eax, 2
je 0x523794
dec eax
jne 0x523894
mov eax, dword [ebx + 0x54]
call fcn.005024e0
cmp byte [eax + 0x58], 0
jne 0x523784
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x1c], 1
mov eax, dword [ebx + 0x22c]
call fcn.00466b84
jmp case.0x51ecbf.0
cmp byte [ebx + 0x43], 0
je 0x5237b8
mov eax, dword [ebx + 0x234]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
jne 0x5237dc
mov eax, dword [ebx + 0x234]
mov edx, dword [eax]
call dword [edx + 0x58]
test al, al
jne 0x5237dc
mov eax, ebx
call fcn.0051b714
test al, al
jne 0x52384b
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x52384b
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
je 0x523800
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x52381f
push 0
push 0xf120
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
jmp 0x52383c
push 0
push 0xf030
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
xor edx, edx
mov eax, dword [ebx + 0x234]
call fcn.0052e10c
jmp 0x52388a
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x52388a
push 0
push 0xf120
push 0x112
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
xor edx, edx
mov eax, dword [ebx + 0x234]
call fcn.0052e10c
xor eax, eax
mov dword [esi + 4], eax
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 2
jne 0x5238c6
mov eax, dword [0x5b1914]
cmp ebx, dword [eax]
jne 0x5238c6
mov eax, dword [0x5b1914]
mov dword [eax], ebx
mov eax, ebx
call fcn.0051a618
test al, al
je 0x523918
mov eax, dword [ebx + 0x54]
call fcn.005024e0
test eax, eax
je 0x523918
mov eax, dword [esi + 8]
cmp dword [eax], 1
jne 0x523918
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.0045d7f0
mov edi, eax
test edi, edi
je 0x523918
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0x44]
mov cl, 1
mov edx, edi
call fcn.00516c28
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
je 0x523ab7
mov ax, word [esi + 4]
sub ax, 0xf012
je 0x523959
sub ax, 0x1e
je 0x52396c
sub ax, 0xf0
je 0x5239cf
jmp 0x523ab7
mov eax, dword [ebx + 0x22c]
mov edx, dword [eax]
call dword [edx + 0x80]
jmp 0x523ab7
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x30], 0
jne 0x523ab7
cmp dword [ebx + 0x1f8], 0
je 0x523ab7
mov eax, dword [ebx + 0x1f8]
cmp byte [eax + 0xec], 0
je 0x523ab7
call fcn.00511f00
mov byte [esp + 0x12], al
xor eax, eax
call fcn.00511f30
mov eax, ebx
call fcn.00519b30
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov al, byte [esp + 0x12]
call fcn.00511f30
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x20c]
and eax, 0x200
cmp eax, 0x200
jne 0x523a2a
and dword [ebx + 0x20c], 0xfffffdff
cmp dword [ebx + 0x248], 0
je 0x5239fe
mov eax, dword [ebx + 0x248]
mov byte [eax + 0x28], 0
call fcn.00511f00
mov byte [esp + 0x12], al
xor eax, eax
call fcn.00511f30
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov al, byte [esp + 0x12]
call fcn.00511f30
jmp case.0x51ecbf.0
mov eax, dword [0x5b17bc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x22c]
je 0x523ab7
call fcn.00511f00
mov byte [esp + 0x12], al
xor eax, eax
call fcn.00511f30
cmp dword [ebx + 0x248], 0
je 0x523a61
mov eax, dword [ebx + 0x248]
cmp dword [eax + 0x18], 0
je 0x523a75
cmp dword [ebx + 0x248], 0
jne 0x523a9b
mov eax, ebx
call fcn.0051e38c
test al, al
je 0x523a9b
cmp dword [ebx + 0x248], 0
je 0x523a89
lea eax, [ebx + 0x248]
call fcn.0040f2e4
mov dl, 1
mov eax, ebx
call fcn.0052cfb8
xor edx, edx
mov eax, ebx
call fcn.0051b2d4
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov al, byte [esp + 0x12]
call fcn.00511f30
jmp case.0x51ecbf.0
cmp byte [ebx + 0x58], 1
jne 0x523b3a
mov eax, dword [ebx + 0x22c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x523b3a
cmp byte [0x5abbcc], 0
jne 0x523b3a
mov eax, dword [esi + 4]
and eax, 0xfff0
cmp eax, 0xf010
jne 0x523b05
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SetCapture
mov byte [0x5abbd4], 1
mov byte [0x5b3d94], 1
jmp 0x523b3a
mov eax, dword [esi + 4]
and eax, 0xfff0
cmp eax, 0xf000
jne 0x523b3a
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SetCapture
xor eax, eax
mov dword [0x5b3db8], eax
mov byte [0x5abbd4], 1
mov byte [0x5b3d94], 0
mov eax, dword [ebx + 0x22c]
mov al, byte [eax + 0x22f]
dec al
je 0x523b57
dec al
je 0x523ee8
jmp 0x523f77
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 2
jne 0x523b7e
cmp dword [esi + 4], 0xf030
je 0x523b7e
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 0
jne 0x523b82
xor eax, eax
jmp 0x523b84
mov al, 1
mov byte [esp + 0x10], al
cmp byte [esp + 0x10], 0
je 0x523b9e
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
call fcn.00502288
mov eax, dword [esi + 4]
and eax, 0xfff0
cmp eax, 0xf060
jg 0x523bc8
je 0x523be1
sub eax, 0xf020
je 0x523dcb
sub eax, 0x10
je 0x523e07
jmp 0x523eb6
sub eax, 0xf100
je 0x523ec4
sub eax, 0x20
je 0x523c89
jmp 0x523eb6
mov eax, dword [0x5b1914]
cmp dword [eax], 0
je 0x523c09
mov eax, dword [0x5b1914]
mov eax, dword [eax]
cmp dword [eax + 0x220], 0
je 0x523c09
cmp byte [esp + 0x10], 0
je 0x523c09
mov al, 1
call fcn.0051e15c
mov eax, dword [0x5b1914]
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 0x523c42
test byte [ebx + 0x1c], 8
jne 0x523c42
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.0052675c
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov byte [eax + 0x1ff], 0
mov eax, dword [0x5b1914]
cmp dword [eax], 0
je case.0x51ecbf.0
mov eax, dword [0x5b1914]
mov eax, dword [eax]
cmp dword [eax + 0x220], 0
je case.0x51ecbf.0
cmp byte [esp + 0x10], 0
je case.0x51ecbf.0
mov al, 1
call fcn.0051e15c
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 1
jne 0x523c9d
mov byte [esp + 0x10], 1
cmp byte [0x5abbe8], 0
jne case.0x51ecbf.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 0x523cf1
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xfff7ffff
push eax
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SetWindowLongA
push 0x505
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.0046429c
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x523dab
inc ebp
xor edi, edi
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
mov edx, edi
call fcn.004642e8
cmp eax, dword [ebx + 0x22c]
je 0x523da7
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
mov edx, edi
call fcn.004642e8
cmp byte [eax + 0x22b], 2
jne 0x523d7f
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
mov edx, edi
call fcn.004642e8
xor edx, edx
call fcn.00464910
push 0x506
push 0
push 0
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
mov edx, edi
call fcn.004642e8
call fcn.00450974
push eax
call sub.user32.dll_RedrawWindow
inc edi
dec ebp
jne 0x523d2b
cmp byte [esp + 0x10], 0
je 0x523db9
mov al, 1
call fcn.0051e15c
mov dl, 1
mov eax, dword [ebx + 0x234]
call fcn.0052e10c
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp byte [esp + 0x10], 0
je 0x523de7
mov al, 1
call fcn.0051e15c
mov dl, 1
mov eax, dword [ebx + 0x234]
call fcn.0052e10c
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov al, 1
call fcn.0051e15c
jmp case.0x51ecbf.0
mov dword [0x5abbec], ebx
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xefffffff
push eax
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
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.00450974
push eax
call sub.user32.dll_GetWindowLongA
or eax, 0x10000000
push eax
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SetWindowLongA
push 0x506
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [0x5b1914]
mov eax, dword [eax]
cmp dword [eax + 0x220], 0
je 0x523ea4
mov al, 1
call fcn.0051e15c
mov dl, 1
mov eax, dword [ebx + 0x234]
call fcn.0052e10c
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [0x5b1914]
cmp dword [eax], 0
je 0x524244
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
xor edx, edx
call fcn.00502450
jmp 0x524244
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [esi + 4]
sub eax, 0xf020
je 0x523f10
sub eax, 0x10
je 0x523f10
sub eax, 0xf0
jne 0x524244
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
mov byte [eax + 0x39], 1
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov dword [eax + 0x230], 0xffffffff
push 0
push 0
push 0x85
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SendMessageA
cmp dword [esi + 4], 0xf030
jne 0x524244
cmp dword [ebx + 0x248], 0
je 0x524244
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x248]
call fcn.00531628
jmp 0x524244
mov eax, dword [esi + 4]
sub eax, 0xf030
je 0x523f88
sub eax, 0xf0
jne 0x523faf
cmp dword [ebx + 0x248], 0
je 0x523faf
mov eax, dword [0x5b106c]
cmp byte [eax], 0
jne 0x523fa4
cmp dword [esi + 4], 0xf120
jne 0x523faf
lea eax, [ebx + 0x248]
call fcn.0040f2e4
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [esi + 4]
sub eax, 0xf020
je 0x5241ec
sub eax, 0x10
je 0x524113
sub eax, 0xd0
je 0x523fe9
sub eax, 0x20
je 0x524113
jmp 0x524244
cmp word [esi + 8], 0x20
jne 0x524244
cmp byte [ebx + 0x43], 0
je 0x524244
mov eax, ebx
call fcn.0051b714
test al, al
je 0x524244
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x52409c
lea edx, [esp + 0x74]
mov eax, ebx
call fcn.005295d4
mov edi, dword [esp + 0x78]
mov dl, 1
mov eax, ebx
call fcn.0051c060
add edi, eax
lea edx, [esp + 0x84]
mov eax, ebx
call fcn.005296b4
lea eax, [esp + 0x84]
xor edx, edx
call fcn.00511ffc
add edi, eax
sub edi, 0x10
push edi
mov eax, dword [ebx + 0x22c]
call fcn.00450974
mov cl, 1
mov edx, dword [ebx + 0x248]
call fcn.0051a674
mov edi, eax
lea edx, [esp + 0x80]
mov eax, ebx
call fcn.005295d4
add edi, dword [esp + 0x80]
mov edx, edi
mov eax, ebx
pop ecx
call fcn.00529858
jmp 0x524244
lea edx, [esp + 0x74]
mov eax, ebx
call fcn.005295d4
mov edi, dword [esp + 0x78]
mov dl, 1
mov eax, ebx
call fcn.0051c060
add edi, eax
lea edx, [esp + 0x84]
mov eax, ebx
call fcn.005296b4
lea eax, [esp + 0x84]
xor edx, edx
call fcn.00511ffc
add edi, eax
push edi
mov eax, dword [ebx + 0x22c]
call fcn.00450974
mov cl, 1
mov edx, dword [ebx + 0x248]
call fcn.0051a674
mov edi, eax
lea edx, [esp + 0x80]
mov eax, ebx
call fcn.005295d4
add edi, dword [esp + 0x80]
mov edx, edi
mov eax, ebx
pop ecx
call fcn.00529858
jmp 0x524244
mov eax, dword [ebx + 0x234]
mov edx, dword [eax]
call dword [edx + 0x48]
test al, al
je 0x524129
mov dword [ebx + 0x38], 9
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052675c
cmp dword [esi + 4], 0xf120
jne 0x524244
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x39], 1
mov byte [ebx + 0x9e], 1
mov eax, ebx
call fcn.0051b714
test al, al
jne 0x524174
push 0xffffffffffffffff
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_SetWindowRgn
jmp 0x524244
mov eax, dword [ebx + 0x54]
call fcn.005024e0
test eax, eax
je 0x5241d0
mov eax, dword [ebx + 0x54]
call fcn.005024e0
call fcn.00511038
test al, al
je 0x5241d0
cmp byte [ebx + 0x79], 0
je 0x5241d0
cmp byte [ebx + 0x78], 0
je 0x5241d0
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x30], 0
jne 0x5241d0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
je 0x5241d0
mov dl, 1
mov eax, ebx
call fcn.0052cfb8
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x248]
call fcn.00531628
push 0x481
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_RedrawWindow
jmp 0x524244
mov eax, dword [ebx + 0x54]
cmp dword [eax + 0x44], 0
je 0x524244
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]
cmp dword [ebx + 0x248], 0
je 0x524244
mov eax, dword [ebx + 0x248]
cmp dword [eax + 0x18], 0
je 0x524244
mov eax, dword [0x5b17bc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x22c]
je 0x524244
mov eax, dword [ebx + 0x248]
add eax, 0x18
call fcn.0040f2e4
mov ax, word [esi + 4]
sub ax, 0xf020
jne case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x52426d
mov byte [ebx + 0x203], 0
cmp dword [ebx + 0x248], 0
je case.0x51ecbf.0
mov eax, dword [ebx + 0x248]
cmp dword [eax + 0x18], 0
je case.0x51ecbf.0
mov eax, dword [ebx + 0x20c]
and eax, 0x100
cmp eax, 0x100
je case.0x51ecbf.0
mov eax, dword [ebx + 0x248]
mov byte [eax + 0x28], 1
mov eax, dword [ebx + 0x248]
add eax, 0x18
call fcn.0040f2e4
mov eax, dword [ebx + 0x248]
mov byte [eax + 0x28], 0
jmp case.0x51ecbf.0
cmp byte [ebx + 0x210], 0
jne 0x524811
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x1c], 1
jne 0x524811
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsZoomed
test eax, eax
jne 0x524500
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 2
cmp eax, 2
je 0x524500
mov eax, dword [esi + 8]
cmp dword [eax + 8], 0
jne 0x524325
mov eax, dword [esi + 8]
cmp dword [eax + 0xc], 0
je 0x524500
mov ebp, dword [esi + 8]
mov eax, dword [0x5b106c]
cmp byte [eax], 0
je 0x52435e
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22b], 0
jne 0x52435e
cmp dword [ebx + 0x248], 0
jne 0x52435e
mov eax, ebx
call fcn.0051e38c
test al, al
je 0x52435e
mov dl, 1
mov eax, ebx
call fcn.0052cfb8
cmp byte [ebx + 0x5a], 0
je 0x52445b
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x1a6], 0
je 0x52445b
lea edx, [esp + 0x24]
mov eax, dword [ebx + 0x22c]
call fcn.0051e374
cmp dword [ebx + 0x248], 0
je 0x5243bc
mov eax, dword [ebx + 0x248]
call fcn.0051a7dc
mov edi, eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x34]
call fcn.005024e0
mov eax, dword [eax + 0xac]
movsx eax, word [eax + 0x32]
add edi, eax
jmp 0x5243be
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 + 0x30]
call fcn.0051e2c0
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 + 0x34]
call fcn.0051e2c0
neg edi
push edi
lea eax, [ebp + 8]
mov ecx, dword [ebx + 0x5c]
mov edx, dword [esp + 0x28]
call fcn.0051e2c0
cmp dword [ebx + 0x248], 0
je 0x52444a
mov eax, dword [ebx + 0x248]
call fcn.0051a7a0
mov edi, eax
neg edi
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x34]
call fcn.005024e0
mov eax, dword [eax + 0xac]
movsx eax, word [eax + 0x32]
sub edi, eax
push edi
lea eax, [ebp + 0xc]
mov ecx, dword [ebx + 0x5c]
mov edx, dword [esp + 0x2c]
call fcn.0051e2c0
jmp 0x52445b
push 0
lea eax, [ebp + 0xc]
mov ecx, dword [ebx + 0x5c]
mov edx, dword [esp + 0x2c]
call fcn.0051e2c0
test byte [ebx + 0x20d], 0x60
je 0x524500
push esi
lea esi, [ebx + 0xb4]
lea edi, [esp + 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [ebx + 0x20c]
and eax, 0x2000
cmp eax, 0x2000
jne 0x5244da
mov eax, dword [ebx + 0x22c]
mov eax, dword [eax + 0x44]
mov edx, dword [esi + 8]
cmp eax, dword [edx + 0xc]
jne 0x5244be
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 0x5244d0
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 0x5244f6
and dword [ebx + 0x20c], 0xffffbfff
xor eax, eax
mov dword [esi + 0xc], eax
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
call fcn.005024e0
test eax, eax
je 0x524811
call fcn.004e7920
test al, al
je 0x524811
cmp byte [ebx + 0x78], 0
je 0x524811
cmp byte [ebx + 0x202], 0
jne 0x524811
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 0x80
cmp eax, 0x80
jne 0x5246db
mov eax, dword [ebx + 0x54]
cmp dword [eax + 0x44], 0
je 0x5246db
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne 0x524811
mov eax, dword [ebx + 0x54]
call fcn.005024e0
cmp byte [eax + 0xa9], 2
je 0x524811
cmp byte [ebx + 0x95], 0
je 0x524811
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x524811
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp word [eax + 4], 0
jbe 0x524811
mov eax, dword [ebx + 0x20c]
and eax, 0x200
cmp eax, 0x200
je 0x524811
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
je 0x524811
or dword [ebx + 0x20c], 0x200
mov dl, 1
mov eax, ebx
call fcn.0051a408
mov edx, dword [ebx + 0x54]
mov dword [edx + 0x44], eax
cmp dword [ebx + 0x248], 0
je 0x5246c0
mov eax, dword [ebx + 0x248]
mov byte [eax + 0x28], 1
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x2e0], 0
je 0x52463a
mov eax, dword [ebx + 0x22c]
movzx edi, byte [eax + 0x2e1]
jmp 0x52463f
mov edi, 0xff
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x248]
call fcn.005324cc
push eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
call fcn.00450974
push eax
call sub.user32.dll_SetWindowRgn
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
call fcn.00450974
mov edx, dword [ebx + 0x54]
mov edx, dword [edx + 0x44]
mov ecx, edi
call fcn.005195f8
push 0x65b
push 0
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x40]
push eax
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
call fcn.00450974
push eax
call sub.user32.dll_SetWindowPos
jmp 0x524811
mov eax, dword [ebx + 0x22c]
call fcn.00450974
call fcn.0051971c
mov dword [ebx + 0xac], eax
jmp 0x524811
cmp dword [ebx + 0x248], 0
je 0x524811
mov eax, dword [ebx + 0x248]
cmp dword [eax + 0x18], 0
je 0x524811
mov eax, dword [esi + 8]
cmp dword [eax + 0x10], 0
je 0x524811
mov eax, dword [esi + 8]
cmp dword [eax + 0x14], 0
je 0x524811
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 0x10
cmp eax, 0x10
jne 0x524811
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 2
cmp eax, 2
je 0x524811
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 1
cmp eax, 1
je 0x524811
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x10]
cmp eax, dword [ebx + 0x1e4]
jl 0x524768
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x14]
cmp eax, dword [ebx + 0x1e8]
jge 0x524811
cmp dword [ebx + 0x204], 0
je 0x524796
mov eax, dword [ebx + 0x204]
mov eax, dword [eax + 0x80]
cmp byte [eax + 6], 0
jne 0x524811
mov eax, dword [ebx + 0x204]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 6], 0
jne 0x524811
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
call fcn.00450c78
test al, al
je 0x524811
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.005324cc
push eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
call fcn.00450974
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 + 0x18]
call fcn.00450974
push eax
mov eax, dword [ebx + 0x22c]
call fcn.00450974
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.0x51ecbf.0
mov eax, dword [0x5b1b90]
mov byte [eax], 1
mov eax, dword [0x5b17bc]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
jne 0x524854
jmp 0x52484a
mov eax, dword [0x5b17bc]
mov eax, dword [eax]
call fcn.0046a088
mov eax, dword [0x5b16a4]
cmp dword [eax], 0
jg 0x52483e
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
call fcn.005024e0
test eax, eax
je 0x524be5
call fcn.004e7920
test al, al
je 0x524be5
cmp byte [ebx + 0x78], 0
je 0x524be5
cmp dword [ebx + 0x248], 0
je 0x524902
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x524902
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0xac]
cmp word [eax + 0x2e], 0
je 0x5248d5
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0xac]
movsx edi, word [eax + 0x2e]
jmp 0x5248e7
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0xac]
movsx edi, word [eax + 0x2c]
mov eax, dword [ebx + 0x22c]
call fcn.0051a6dc
add eax, 4
cmp edi, eax
setl al
mov byte [ebx + 0x1ec], al
jmp 0x524909
mov byte [ebx + 0x1ec], 0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 0x80
cmp eax, 0x80
jne 0x524a99
cmp byte [ebx + 0x202], 0
jne 0x524a99
mov eax, dword [ebx + 0x54]
cmp dword [eax + 0x44], 0
je 0x524a99
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne 0x524a99
mov eax, dword [ebx + 0x54]
call fcn.005024e0
cmp byte [eax + 0xa9], 2
jne 0x5249a7
mov eax, dword [0x5b17bc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x22c]
jne 0x5249a7
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x524a99
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov byte [ebx + 0x203], 0
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x54]
call fcn.005024e0
cmp byte [eax + 0xa9], 2
je 0x524a76
cmp byte [ebx + 0x95], 0
je 0x524a99
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x524a99
mov eax, dword [ebx + 0x22c]
cmp dword [eax + 0x30], 0
jne 0x524a99
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
je 0x524a99
call fcn.0051a900
test al, al
je 0x524a1f
mov eax, dword [ebx + 0x22c]
call fcn.00450974
mov dl, 1
call fcn.0051e2e8
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov byte [ebx + 0x202], 1
mov eax, ebx
call fcn.004fc5bc
mov eax, dword [0x5b17bc]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
jne case.0x51ecbf.0
call fcn.0051a900
test al, al
je 0x524a6a
mov eax, dword [ebx + 0x22c]
call fcn.00450974
xor edx, edx
call fcn.0051e2e8
mov byte [ebx + 0x202], 0
jmp case.0x51ecbf.0
cmp dword [ebx + 0x248], 0
je 0x524a99
mov eax, dword [ebx + 0x248]
cmp dword [eax + 0x18], 0
je 0x524a99
mov eax, dword [ebx + 0x248]
add eax, 0x18
call fcn.0040f2e4
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp byte [ebx + 0x200], 0
jne case.0x51ecbf.0
cmp dword [ebx + 0x248], 0
je case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x57], 0
je case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne case.0x51ecbf.0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 8
cmp eax, 8
je case.0x51ecbf.0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 0x20
cmp eax, 0x20
je case.0x51ecbf.0
mov eax, dword [ebx + 0x20c]
and eax, 0x80
cmp eax, 0x80
je case.0x51ecbf.0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 3
cmp eax, 3
jne 0x524bd1
mov eax, dword [ebx + 0x248]
cmp dword [eax + 0x18], 0
je 0x524bd1
call fcn.0051a900
test al, al
je 0x524b9f
mov eax, dword [0x5b17bc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x22c]
jne 0x524b9f
mov eax, dword [ebx + 0x22c]
call fcn.00450974
mov esi, eax
call sub.user32.dll_GetActiveWindow
cmp esi, eax
jne 0x524b9f
push 0x65b
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
call fcn.00450974
push eax
call sub.user32.dll_SetWindowPos
jmp case.0x51ecbf.0
push 0x65b
push 0
push 0
push 0
push 0
mov eax, dword [ebx + 0x22c]
call fcn.00450974
push eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
call fcn.00450974
push eax
call sub.user32.dll_SetWindowPos
jmp case.0x51ecbf.0
mov cl, 0xff
xor edx, edx
mov eax, dword [ebx + 0x248]
call fcn.00531628
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
cmp byte [ebx + 0x95], 0
je 0x524d75
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x524d75
mov eax, dword [ebx + 0x54]
call fcn.005024e0
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x10]
cmp word [eax + 4], 0
jbe 0x524d75
cmp byte [ebx + 0x78], 0
je 0x524d75
mov eax, dword [ebx + 0x20c]
and eax, 0x200
cmp eax, 0x200
je 0x524d75
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x1c], 8
jne case.0x51ecbf.0
or dword [ebx + 0x20c], 0x200
mov dl, 1
mov eax, ebx
call fcn.0051a408
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.0x51ecbf.0
mov eax, dword [ebx + 0x248]
cmp dword [eax + 0x18], 0
je case.0x51ecbf.0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
call fcn.00450c78
test al, al
je case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x2e0], 0
je 0x524cef
mov eax, dword [ebx + 0x22c]
movzx edi, byte [eax + 0x2e1]
jmp 0x524cf4
mov edi, 0xff
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x248]
call fcn.005324cc
push eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
call fcn.00450974
push eax
call sub.user32.dll_SetWindowRgn
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
call fcn.00450974
mov edx, dword [ebx + 0x54]
mov edx, dword [edx + 0x44]
mov ecx, edi
call fcn.005195f8
push 0x65b
push 0
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x40]
push eax
push 0
mov eax, dword [ebx + 0x248]
mov eax, dword [eax + 0x18]
call fcn.00450974
push eax
call sub.user32.dll_SetWindowPos
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov eax, dword [ebx + 0x22c]
cmp byte [eax + 0x22f], 1
jne 0x524df8
mov eax, dword [0x5b1914]
cmp dword [eax], 0
jne 0x524db7
mov eax, dword [0x5b17bc]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
call fcn.00450974
xor edx, edx
call fcn.004b6eb4
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.00464268
test eax, eax
je 0x524df1
mov eax, dword [0x5b1914]
mov eax, dword [eax]
mov eax, dword [eax + 0x22c]
call fcn.00464268
cmp byte [eax + 0x22b], 2
jne 0x524df1
mov byte [0x5abbe8], 1
jmp 0x524df8
mov byte [0x5abbe8], 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.0x51ecbf.0
mov eax, ebx
call fcn.0052b588
jmp case.0x51ecbf.0
test byte [ebx + 0x1c], 1
jne 0x524ed2
mov eax, dword [ebx + 0x22c]
test byte [eax + 0x1c], 1
jne 0x524ed2
mov eax, dword [esi + 4]
and eax, 0xffff
dec eax
je 0x524e57
mov eax, dword [esi + 4]
and eax, 0xffff
cmp eax, 2
jne 0x524ed2
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
cmp dword [ebx + 0x208], 0
je 0x524e82
cmp word [esi + 4], 1
jne 0x524e82
xor edx, edx
mov eax, dword [ebx + 0x208]
call fcn.0052ec28
push 0
lea eax, [esp + 0x18]
push eax
mov dx, 0x24
xor eax, eax
call fcn.004076b4
mov edx, eax
mov eax, dword [0x5b1168]
mov eax, dword [eax]
mov ecx, 1
call fcn.00511e6c
lea edx, [esp + 0x14]
mov eax, dword [ebx + 0x22c]
call fcn.004ff004
cmp byte [ebx + 0x78], 0
je case.0x51ecbf.0
mov dl, 1
mov eax, dword [ebx + 0x204]
call fcn.004c1bf8
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.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.0x51ecbf.0
cmp dword [ebx + 0x208], 0
je case.0x51ecbf.0
xor edx, edx
mov eax, dword [ebx + 0x208]
call fcn.0052ec28
jmp case.0x51ecbf.0
cmp dword [esi + 4], 0
je 0x524fb6
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
mov eax, dword [esi + 4]
mov edx, dword [0x4460d0]
call fcn.004037f8
test al, al
je 0x524f95
cmp dword [ebx + 0x208], 0
je 0x524f64
mov edx, dword [esi + 4]
mov eax, dword [ebx + 0x208]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
push 0
lea eax, [esp + 0x18]
push eax
mov dx, 0x24
xor eax, eax
call fcn.004076b4
mov edx, eax
mov eax, dword [0x5b1168]
mov eax, dword [eax]
mov ecx, 1
call fcn.00511e6c
lea edx, [esp + 0x14]
mov eax, dword [esi + 4]
call fcn.004ff004
push 1
mov dx, 0x24
xor eax, eax
call fcn.004076b4
mov ecx, eax
mov edx, dword [0x5b1168]
mov edx, dword [edx]
mov eax, dword [esi + 4]
call fcn.0044b308
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
jmp case.0x51ecbf.0
mov edx, esi
mov eax, dword [ebx + 0x21c]
call dword [ebx + 0x218]
add esp, 0xac
pop ebp
pop edi
pop esi
pop ebx
ret