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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffff4c
mov esi, edx
mov ebx, eax
cmp dword [esi], 0xa100
jne 0x524f98
movzx eax, word [esi + 6]
cmp eax, 0x22
jg 0x524b06
je 0x524dab
dec eax
je 0x524cf3
dec eax
je 0x524b24
sub eax, 5
je 0x524d63
sub eax, 0x19
je 0x524d6f
jmp 0x524f98
sub eax, 0x24
je 0x524f71
sub eax, 0x18
je 0x524d37
dec eax
je 0x524d46
jmp 0x524f98
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
cmp eax, dword [esi + 8]
jne 0x524ce1
cmp dword [ebx + 0x230], 0
je 0x524b49
lea eax, [ebx + 0x230]
call fcn.0040ebcc
mov eax, dword [ebx + 0x254]
call fcn.00452748
xor ecx, ecx
xor edx, edx
call fcn.00520d9c
mov eax, esi
mov edx, dword [ebx + 0x50]
call fcn.0051c6b0
mov dword [ebx + 0x258], 0xffffffff
mov dword [ebx + 0x218], 0xffffffff
mov dword [ebx + 0x220], 0xffffffff
mov edx, esi
mov eax, dword [ebx + 0x254]
call fcn.00506360
mov eax, ebx
call fcn.00531444
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
test eax, eax
je 0x524bac
mov al, 1
call fcn.00507d98
mov eax, dword [ebx + 0x254]
test eax, eax
je case.0x5256e8.0
test byte [eax + 0x1c], 8
jne case.0x5256e8.0
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
test eax, eax
je 0x524c7a
xor edx, edx
mov eax, ebx
call fcn.00530360
xor edx, edx
mov eax, ebx
call fcn.00532344
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 2
jne 0x524c07
cmp dword [ebx + 0x248], 0
je 0x524c07
xor edx, edx
mov eax, ebx
call fcn.005311ac
mov eax, ebx
call fcn.005216dc
test al, al
je 0x524c30
cmp byte [ebx + 0x22b], 0
jne 0x524c30
push 0xffffffffffffffff
push 0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SetWindowRgn
mov eax, ebx
call fcn.0052ff40
cmp byte [ebx + 0x5c], 0
je 0x524c56
mov eax, dword [ebx + 0x50]
cmp byte [eax + 9], 0
jne 0x524c56
mov edx, 0xff00000f
mov eax, dword [ebx + 0x254]
call fcn.0044c008
xor edx, edx
mov eax, ebx
call fcn.0053294c
push 0x585
push 0
push 0
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x254]
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [ebx + 0x254]
call fcn.0044f398
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x524cc7
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x254]
call fcn.0044f35c
mov edx, dword [0x43c05c]
call fcn.004038c8
test al, al
je 0x524cc3
mov edx, edi
mov eax, dword [ebx + 0x254]
call fcn.0044f35c
mov edx, eax
xor ecx, ecx
mov eax, ebx
call fcn.005349e4
inc edi
dec ebp
jne 0x524c8f
mov eax, dword [ebx + 0x50]
cmp dword [eax + 0x40], 0
je case.0x5256e8.0
add eax, 0x40
call fcn.0040ebcc
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x254]
call fcn.00506360
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
test byte [eax + 0x1c], 8
jne 0x524f98
cmp dword [ebx + 0x50], 0
je 0x524f98
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
cmp eax, dword [esi + 8]
jne 0x524f98
cmp dword [ebx + 0x25c], 0
jne 0x524f98
mov eax, ebx
call fcn.00530f5c
jmp 0x524f98
mov eax, dword [0x5660f8]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
jmp case.0x5256e8.0
mov eax, ebx
call fcn.0052f774
push eax
mov eax, ebx
call fcn.0052f6e4
pop edx
call fcn.004076c0
mov dword [esi + 0xc], eax
jmp case.0x5256e8.0
mov dword [esi + 0xc], 1
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x50]
mov dx, word [eax + 0x4a]
and dx, 0x400
cmp dx, 0x400
jne 0x524f98
and word [eax + 0x4a], 0xfbff
push 0
push 0
push 0xb015
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SendMessageA
jmp 0x524f98
mov edi, dword [ebx + 0x50]
test edi, edi
je 0x524f98
xor edx, edx
mov eax, edi
call fcn.0051c608
test al, al
je 0x524f98
lea ecx, [esp + 0x84]
xor edx, edx
xor eax, eax
call fcn.004068f8
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x84]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x88]
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x35], 0
je 0x524e1c
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x1c], 0
je 0x524e09
cmp byte [ebx + 0x22c], 0
je 0x524e1c
mov eax, dword [ebx + 0x50]
call fcn.0051a3d8
test al, al
je 0x524e1c
mov eax, ebx
call fcn.0052d3a8
mov eax, dword [esi + 8]
cmp byte [eax + 0x31], 0
je 0x524e3f
mov eax, ebx
call fcn.0052f6e4
mov edx, dword [esi + 8]
add dword [edx + 8], eax
mov eax, ebx
call fcn.0052f774
mov edx, dword [esi + 8]
add dword [edx + 0xc], eax
mov eax, dword [ebx + 0x254]
cmp word [eax + 0x2ba], 0
je 0x524e96
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [esi + 8]
mov dword [edx], eax
mov eax, ebx
call fcn.0052f774
push eax
mov eax, ebx
call fcn.0052f6e4
lea ecx, [esp + 0x88]
pop edx
call fcn.004068f8
mov edi, dword [esi + 8]
mov eax, dword [esp + 0x84]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 0xc], eax
mov byte [edi + 0x30], 2
jmp case.0x5256e8.0
mov edi, dword [ebx + 0x50]
cmp dword [edi + 0x28], 0xffffffff
jle 0x524ed5
push 0
mov eax, edi
call fcn.0051c0c8
mov eax, dword [eax + 0xdc]
mov edx, dword [ebx + 0x50]
imul edx, dword [edx + 0x28], 0x43
mov edx, dword [eax + edx*4 + 8]
dec edx
xor eax, eax
mov al, byte [ebx + 0x24c]
call fcn.0042be1c
mov ecx, eax
mov edx, dword [esi + 8]
mov eax, edi
call fcn.0051a7ac
jmp 0x524ef2
push 0
xor eax, eax
mov al, byte [ebx + 0x24c]
xor edx, edx
call fcn.0042be1c
mov ecx, eax
mov edx, dword [esi + 8]
mov eax, edi
call fcn.0051a7ac
mov eax, dword [esi + 8]
cmp byte [eax + 0x30], 2
jne 0x524f18
cmp byte [eax + 0x31], 0
jne 0x524f18
cmp dword [eax], 0
jne 0x524f18
mov eax, ebx
call fcn.0052d3a8
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [esi + 8]
mov dword [edx], eax
mov eax, dword [esi + 8]
lea edi, [eax + 8]
mov eax, ebx
call fcn.0052f6e4
add dword [edi], eax
mov ebp, dword [edi]
test ebp, ebp
je 0x524f42
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x20]
sub edx, ebp
xor eax, eax
call fcn.0042bee0
mov edx, dword [esi + 8]
mov dword [edx + 0x20], eax
mov eax, ebx
call fcn.0052f774
add dword [edi + 4], eax
mov ebx, dword [edi + 4]
test ebx, ebx
je case.0x5256e8.0
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x24]
sub edx, ebx
xor eax, eax
call fcn.0042bee0
mov edx, dword [esi + 8]
mov dword [edx + 0x24], eax
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x50]
mov dx, word [eax + 0x4a]
and dx, 2
cmp dx, 2
jne 0x524f89
xor edx, edx
call fcn.0051bc94
mov eax, dword [ebx + 0x50]
movzx eax, word [eax + 0x4a]
mov dword [esi + 0xc], eax
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
test byte [eax + 0x1c], 8
jne 0x524fb6
mov dl, 1
mov eax, dword [ebx + 0x50]
call fcn.0051c608
test al, al
jne 0x5253f5
cmp dword [esi], 0xa100
jne 0x52522d
mov ax, word [esi + 6]
dec ax
je 0x524fdd
sub ax, 3
jne 0x52522d
mov dword [esi + 0xc], ebx
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
test byte [eax + 0x1c], 8
jne 0x52522d
cmp dword [ebx + 0x50], 0
je 0x52522d
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
cmp eax, dword [esi + 8]
jne case.0x5256e8.0
mov eax, ebx
call fcn.00532b74
mov al, 1
call fcn.00507d98
mov eax, dword [ebx + 0x50]
call fcn.0051cf5c
mov dword [ebx + 0x218], 0xffffffff
mov eax, ebx
call fcn.00532cb8
mov dword [ebx + 0x218], eax
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov edx, 0x52a890
call fcn.005179ec
mov dword [ebx + 0x220], eax
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
test eax, eax
je 0x52520b
cmp dword [ebx + 0x270], 0
je 0x52509f
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x52509f
mov eax, ebx
call fcn.005349a8
mov esi, eax
mov eax, dword [ebx + 0x254]
call fcn.00520b0c
add eax, 4
cmp esi, eax
setg al
mov byte [ebx + 0x214], al
jmp 0x5250a6
mov byte [ebx + 0x214], 0
mov dl, 1
mov eax, ebx
call fcn.00532344
mov eax, ebx
call fcn.005308e8
mov esi, dword [ebx + 0x254]
cmp byte [esi + 0x22f], 2
jne 0x5250e0
mov eax, esi
call fcn.004660ac
mov edx, dword [0x5663a8]
mov edx, dword [edx]
cmp eax, dword [edx + 0x6c]
jne 0x5250e0
mov byte [ebx + 0x24c], 1
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
test byte [eax + 0x1c], 1
jne 0x5251a4
mov eax, dword [ebx + 0x254]
cmp dword [eax + 0x248], 0
je 0x525111
cmp byte [ebx + 0xc6], 0
je 0x525111
mov byte [ebx + 0xc5], 1
mov dl, 1
mov eax, ebx
call fcn.00530360
cmp byte [ebx + 0xc5], 0
jne 0x525130
mov eax, ebx
call fcn.0052ff40
mov byte [ebx + 0xc5], al
cmp dword [ebx + 0x234], 0
je 0x5251a4
mov eax, dword [ebx + 0x254]
call fcn.0044f398
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x5251a4
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x254]
call fcn.0044f35c
mov edx, dword [0x43c05c]
call fcn.004038c8
test al, al
je 0x5251a0
mov edx, edi
mov eax, dword [ebx + 0x254]
call fcn.0044f35c
mov edx, eax
mov eax, dword [ebx + 0x234]
call fcn.00537e04
test al, al
je 0x5251a0
mov edx, edi
mov eax, dword [ebx + 0x254]
call fcn.0044f35c
mov edx, eax
mov cl, 1
mov eax, ebx
call fcn.005349e4
inc edi
dec ebp
jne 0x52514e
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
mov dword [ebx + 0x258], 0xffffffff
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 2
jne 0x5251cd
mov dl, 1
mov eax, ebx
call fcn.005311ac
cmp byte [ebx + 0x5c], 0
je 0x5251f6
mov eax, dword [ebx + 0x50]
cmp byte [eax + 9], 0
jne 0x5251f6
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
call fcn.0050f678
mov edx, eax
mov eax, dword [ebx + 0x254]
call fcn.0044c008
mov eax, dword [ebx + 0x254]
call fcn.00452748
xor ecx, ecx
mov dl, byte [ebx + 0x78]
call fcn.00520d9c
mov eax, dword [ebx + 0x234]
test eax, eax
jne 0x525221
mov eax, ebx
call fcn.00531400
jmp case.0x5256e8.0
xor edx, edx
call fcn.00537a64
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, dword [esi]
sub eax, 0x47
je 0x52525b
sub eax, 0x3b
je 0x525333
sub eax, 0xafc1
je 0x5253e7
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
test eax, eax
je case.0x5256e8.0
call fcn.0053ff38
test al, al
je case.0x5256e8.0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 0x80
cmp eax, 0x80
jne case.0x5256e8.0
cmp byte [ebx + 0x95], 0
je case.0x5256e8.0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne case.0x5256e8.0
cmp byte [ebx + 0x22e], 0
jne case.0x5256e8.0
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
cmp byte [eax + 0x3c], 0
je case.0x5256e8.0
cmp byte [ebx + 0x78], 0
je case.0x5256e8.0
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je case.0x5256e8.0
xor eax, eax
mov dword [0x56588c], eax
mov byte [ebx + 0x22e], 1
mov eax, ebx
call fcn.005036c0
cmp byte [0x565880], 0
jne 0x52530a
mov eax, dword [ebx + 0x254]
call fcn.00452748
mov cl, 1
xor edx, edx
call fcn.005248e8
mov byte [ebx + 0x22e], 0
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
jne case.0x5256e8.0
cmp dword [0x56830c], 0
je case.0x5256e8.0
mov eax, dword [0x56830c]
cmp dword [eax + 0x248], 0
je case.0x5256e8.0
mov eax, dword [0x56830c]
test byte [eax + 0x1c], 8
jne case.0x5256e8.0
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x254]
test byte [eax + 0x1c], 8
jne case.0x5256e8.0
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x50]
mov dl, 1
call fcn.0051c608
test al, al
je case.0x5256e8.0
mov eax, dword [0x56830c]
call fcn.00530830
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x254]
call fcn.004660ac
test eax, eax
jne case.0x5256e8.0
push 0x507
push 0
push 0
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x254]
mov eax, dword [eax + 0x254]
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x5256e8.0
mov edx, esi
mov eax, ebx
call fcn.00532d94
jmp case.0x5256e8.0
mov eax, dword [esi]
cmp eax, 0xa4
jg 0x52555a
je 0x5283f8
cmp eax, 0x2c
jg 0x5254bb
je 0x529617
cmp eax, 0x24
ja case.0x525420.0
jmp dword [eax*4 + 0x525427]
cmp eax, 0x81
jg 0x525511
je 0x52782f
cmp eax, 0x4e
jg 0x5254f1
je 0x52a791
sub eax, 0x46
je 0x52a099
dec eax
je 0x52a0e8
sub eax, 3
je 0x525d80
jmp case.0x525420.0
sub eax, 0x7b
je 0x525e59
sub eax, 2
je 0x526002
sub eax, 3
je 0x525f51
jmp case.0x525420.0
cmp eax, 0xa0
jg 0x52553c
je 0x525ce7
sub eax, 0x84
je 0x52755b
dec eax
je 0x528a1f
dec eax
je 0x52919d
jmp case.0x525420.0
sub eax, 0xa1
je 0x52785c
dec eax
je 0x52849a
dec eax
je 0x529477
jmp case.0x525420.0
cmp eax, 0x323
jg 0x525622
je 0x525e10
cmp eax, 0x212
jg 0x5255d0
je 0x52752e
cmp eax, 0x200
jg 0x5255b0
je 0x527f39
sub eax, 0xa5
je 0x52841a
sub eax, 0x6d
je 0x529699
sub eax, 5
je 0x525fe2
sub eax, 0xa
je 0x5284a8
jmp case.0x525420.0
sub eax, 0x202
je 0x52849a
sub eax, 0xe
je 0x52a694
dec eax
je 0x5273d3
jmp case.0x525420.0
cmp eax, 0x2a3
jg 0x525602
je 0x52779b
sub eax, 0x214
je 0x52776c
add eax, 0xfffffff3
sub eax, 2
jb 0x5292f7
sub eax, 0xf
je 0x525ed3
jmp case.0x525420.0
sub eax, 0x313
je 0x5260dc
sub eax, 4
je 0x52856d
dec eax
je case.0x5256e8.0
jmp case.0x525420.0
cmp eax, 0xb015
jg 0x525682
je 0x5284f8
cmp eax, 0xb00b
jg 0x525662
je 0x5293cf
sub eax, 0x326
je 0x525de6
sub eax, 0x9dda
je 0x5256d5
sub eax, 0x300
je 0x525d3e
jmp case.0x525420.0
sub eax, 0xb00c
je 0x5269d7
sub eax, 7
je 0x5277d3
dec eax
je 0x52779b
jmp case.0x525420.0
cmp eax, 0xb03a
jg 0x5256b1
je 0x5284b2
sub eax, 0xb019
je 0x52611e
sub eax, 0x13
je 0x52a7cf
sub eax, 7
je 0x52915a
jmp case.0x525420.0
sub eax, 0xb043
je 0x525d22
sub eax, 9
je 0x528a15
sub eax, 0xc01
je 0x528a15
jmp case.0x525420.0
movzx eax, word [esi + 6]
cmp eax, 0x3e
ja case.0x5256e8.0
mov al, byte [eax + 0x5256ef]
jmp dword [eax*4 + 0x52572e]
cmp dword [ebx + 0x254], 0
je case.0x5256e8.0
mov eax, dword [ebx + 0x254]
test byte [eax + 0x1c], 1
jne case.0x5256e8.0
cmp dword [ebx + 0x234], 0
je case.0x5256e8.0
cmp dword [esi + 8], 0
je 0x5257b1
mov edx, dword [esi + 8]
mov eax, dword [ebx + 0x234]
call fcn.00537a64
jmp case.0x5256e8.0
mov edx, dword [ebx + 0x254]
mov eax, dword [ebx + 0x234]
call fcn.00537a64
jmp case.0x5256e8.0
cmp dword [ebx + 0x50], 0
je case.0x5256e8.0
cmp byte [0x565880], 0
jne 0x5257ef
mov eax, dword [ebx + 0x50]
call fcn.0051a3d8
test al, al
je 0x5257ef
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x1c], 0
jne 0x5257f3
xor eax, eax
jmp 0x5257f5
mov al, 1
and eax, 0x7f
mov dword [esi + 0xc], eax
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x1c], 0
je case.0x5256e8.0
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x1c], 0
push 0x401
push 0
push 0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
jmp case.0x5256e8.0
cmp dword [esi + 8], 1
jne 0x52584c
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
mov eax, ebx
call fcn.00521b5c
jmp case.0x5256e8.0
cmp word [esi + 4], 1
sete dl
mov eax, dword [ebx + 0x50]
call fcn.0051c604
mov eax, dword [ebx + 0x50]
call fcn.0051c0d8
test al, al
je case.0x5256e8.0
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
cmp eax, dword [esi + 8]
jne case.0x5256e8.0
cmp dword [ebx + 0x234], 0
jne 0x5258a7
mov eax, ebx
call fcn.00531400
jmp 0x5258b4
xor edx, edx
mov eax, dword [ebx + 0x234]
call fcn.00537a64
cmp byte [ebx + 0x78], 0
je 0x5258d2
cmp byte [ebx + 0xa6], 0
je 0x5258d2
lea edx, [ebx + 0x230]
xor ecx, ecx
mov eax, ebx
call fcn.00521a60
mov eax, dword [ebx + 0x254]
cmp dword [eax + 0x30], 0
je 0x5258f6
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
je 0x5258f6
mov eax, dword [ebx + 0x50]
and word [eax + 0x4a], 0xfffe
mov dword [ebx + 0x258], 0xffffffff
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
test byte [eax + 0x1c], 1
jne 0x525928
mov eax, ebx
call fcn.0052ff40
xor edx, edx
mov eax, dword [ebx + 0x50]
call fcn.0051c608
mov edx, eax
mov eax, ebx
call fcn.00530360
mov eax, ebx
call fcn.005216dc
test al, al
je 0x525937
mov byte [ebx + 0x34], 1
mov eax, ebx
call fcn.00534840
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x57], 0
je case.0x5256e8.0
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
call fcn.005196e4
mov edx, eax
mov eax, ebx
call fcn.0053294c
cmp byte [0x565880], 0
jne 0x525a1a
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 2
jne 0x5259d6
mov eax, dword [ebx + 0x254]
call fcn.004660ac
test eax, eax
je 0x5259d6
mov eax, dword [ebx + 0x254]
call fcn.004660ac
cmp byte [eax + 0x22b], 2
jne 0x5259d6
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, ebx
call fcn.0053309c
push 0xffffffffffffffff
push 0
mov eax, dword [ebx + 0x254]
call fcn.004660ac
call fcn.00452748
push eax
call sub.user32.dll_InvalidateRect
jmp 0x525a1a
push 0x545
push 0
push 0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 2
jne 0x525a1a
push 0x545
push 0
push 0
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x254]
push eax
call sub.user32.dll_RedrawWindow
cmp byte [ebx + 0x5c], 0
je 0x525a43
mov eax, dword [ebx + 0x50]
cmp byte [eax + 9], 0
jne 0x525a43
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
call fcn.0050f678
mov edx, eax
mov eax, dword [ebx + 0x254]
call fcn.0044c008
cmp dword [ebx + 0x248], 0
je 0x525a57
mov eax, dword [ebx + 0x248]
call fcn.004de08c
xor edx, edx
mov eax, dword [ebx + 0x50]
call fcn.0051c604
cmp dword [ebx + 0x25c], 0
je 0x525a75
mov eax, dword [ebx + 0x25c]
call fcn.00536e18
mov edx, esi
mov eax, ebx
call fcn.00531494
cmp dword [ebx + 0x270], 0
je case.0x5256e8.0
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x270]
call fcn.0053a8ec
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0xdc]
mov edx, dword [ebx + 0x50]
imul edx, dword [edx + 0x28], 0x43
mov edi, dword [eax + edx*4 + 0xa8]
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0xdc]
mov edx, dword [ebx + 0x50]
imul edx, dword [edx + 0x28], 0x43
add edi, dword [eax + edx*4 + 0xb4]
test edi, edi
jle 0x525ae4
mov dword [esi + 8], 1
jmp 0x525b23
mov eax, dword [ebx + 0x50]
cmp dword [eax + 0x24], 0
jl 0x525b17
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0xd4]
mov edx, dword [ebx + 0x50]
mov edx, dword [edx + 0x24]
mov ecx, edx
shl edx, 3
sub edx, ecx
mov ax, word [eax + edx*8 + 0x22]
and ax, 4
cmp ax, 4
je 0x525b1b
xor eax, eax
jmp 0x525b1d
mov al, 1
and eax, 0x7f
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xc], eax
jmp case.0x5256e8.0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x50]
call fcn.0051ad80
mov dword [esi + 0xc], eax
jmp case.0x5256e8.0
mov dword [esi + 0xc], ebx
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
cmp eax, dword [esi + 8]
jne case.0x5256e8.0
mov al, 1
call fcn.00507d98
mov eax, dword [ebx + 0x50]
call fcn.0051cf5c
mov dword [ebx + 0x218], 0xffffffff
mov eax, ebx
call fcn.00532cb8
mov dword [ebx + 0x218], eax
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov edx, 0x52a890
call fcn.005179ec
mov dword [ebx + 0x220], eax
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
test eax, eax
je case.0x5256e8.0
mov eax, ebx
call fcn.005308e8
mov al, 1
call fcn.00507d98
mov dl, byte [ebx + 0x78]
mov eax, ebx
call fcn.00532344
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0x44]
call fcn.00509d68
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
mov dword [ebx + 0x258], 0xffffffff
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, ebx
call fcn.0053309c
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 2
jne case.0x5256e8.0
mov dl, 1
mov eax, ebx
call fcn.005311ac
jmp case.0x5256e8.0
mov cl, 1
or edx, 0xffffffff
mov eax, ebx
call fcn.0052bb34
mov byte [0x5658f0], 0
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x50]
call fcn.0051c2b8
test al, al
je case.0x5256e8.0
push 0
push 0
push 0xb
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SendMessageA
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x50]
call fcn.0051c2b8
test al, al
je case.0x5256e8.0
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SendMessageA
push 0x585
push 0
push 0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_RedrawWindow
cmp ebx, dword [0x56830c]
jne case.0x5256e8.0
push 0x581
push 0
push 0
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x254]
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x5256e8.0
mov eax, esi
mov edx, dword [ebx + 0x50]
call fcn.0051d07c
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x34], 0
je case.0x5256e8.0
mov eax, ebx
call fcn.0052d3a8
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je case.0x5256e8.0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
pop edx
call fcn.00518c20
mov edx, esi
mov eax, ebx
call fcn.00532ff0
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov edx, esi
mov eax, ebx
call fcn.00532d94
jmp case.0x5256e8.0
mov eax, dword [esi + 4]
dec eax
je 0x525d64
sub eax, 2
je 0x525d51
dec eax
je 0x525d74
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
call fcn.004689c8
jmp case.0x5256e8.0
mov dword [esi + 0xc], 1
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
cmp dword [esi + 0xc], 0
jne case.0x5256e8.0
mov eax, dword [ebx + 0x254]
call fcn.00452748
cmp eax, dword [0x5652c4]
jne case.0x5256e8.0
cmp byte [0x5652cc], 0
jne case.0x5256e8.0
mov byte [0x5652cc], 1
cmp dword [esi + 8], 0
je 0x525dda
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov edx, eax
mov eax, esi
call fcn.0050deb4
mov byte [0x5652cc], 0
jmp case.0x5256e8.0
cmp byte [0x56530c], 0
je case.0x5256e8.0
mov eax, dword [ebx + 0x254]
call fcn.00452748
mov edx, ebx
call fcn.0051f830
and eax, 0x7f
mov dword [esi + 0xc], eax
jmp case.0x5256e8.0
cmp byte [0x56530c], 0
je case.0x5256e8.0
cmp word [esi + 0xa], 0
je case.0x5256e8.0
cmp word [esi + 8], 0
je case.0x5256e8.0
movzx eax, word [esi + 8]
push eax
mov eax, dword [ebx + 0x254]
call fcn.00452748
movzx ecx, word [esi + 0xa]
mov edx, ebx
call fcn.0051f5b8
and eax, 0x7f
mov dword [esi + 0xc], eax
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp dword [eax + 0x7c], 0
je 0x525e8b
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov al, byte [eax + 0x58]
push eax
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0x44]
mov edx, dword [ebx + 0x254]
mov edx, dword [edx + 0x7c]
pop ecx
call fcn.0050b2c0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
cmp dword [esi + 4], 1
jne 0x525eba
mov edx, dword [ebx + 0xc0]
dec edx
xor eax, eax
call fcn.0042bee0
mov dword [ebx + 0xc0], eax
jmp 0x525ec0
inc dword [ebx + 0xc0]
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
cmp dword [ebx + 0x270], 0
je case.0x5256e8.0
cmp dword [0x56826c], 0
je case.0x5256e8.0
mov eax, dword [0x56826c]
mov ebp, dword [eax + 8]
dec ebp
test ebp, ebp
jl case.0x5256e8.0
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [0x56826c]
call fcn.00419a74
test eax, eax
je 0x525f3a
mov edx, edi
mov eax, dword [0x56826c]
call fcn.00419a74
mov eax, dword [eax + 0x30]
xor ecx, ecx
mov edx, 0x12
call fcn.005061b4
inc edi
dec ebp
jne 0x525f0f
jmp case.0x5256e8.0
mov edx, esi
mov eax, ebx
call fcn.005329fc
jmp case.0x5256e8.0
test byte [ebx + 0x1c], 1
jne 0x525fcf
cmp dword [esi + 8], 0
je 0x525fcf
cmp byte [0x565880], 0
jne 0x525fcf
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x1a6], 0
je 0x525fcf
call fcn.00520d08
test al, al
jne 0x525f95
push 0
push 0
push 0xb
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SendMessageA
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
call fcn.00520d08
test al, al
jne 0x525fc3
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SendMessageA
mov eax, ebx
call fcn.00521b5c
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
cmp byte [eax + 0x58], 0
je case.0x5256e8.0
mov edx, esi
mov eax, ebx
call fcn.00532610
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, dword [ebx + 0x25c]
test eax, eax
je 0x526051
cmp dword [eax + 0x98], 0
je 0x526051
mov edx, dword [ebx + 0x254]
test byte [edx + 0x228], 1
setne dl
mov ecx, dword [eax + 0x98]
cmp dl, byte [ecx + 0x3e]
je 0x526051
xor edx, edx
call fcn.00536e1c
mov eax, ebx
call fcn.00521b5c
jmp case.0x5256e8.0
cmp dword [esi + 4], 0xffffffec
jne case.0x5256e8.0
mov eax, dword [ebx + 0x238]
and eax, 0x80
cmp eax, 0x80
je case.0x5256e8.0
mov eax, dword [ebx + 0x238]
and eax, 0x100
cmp eax, 0x100
je case.0x5256e8.0
mov eax, dword [ebx + 0x238]
and eax, 0x400
cmp eax, 0x400
je case.0x5256e8.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.0x5256e8.0
cmp dword [ebx + 0x270], 0
je case.0x5256e8.0
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x270]
call fcn.0053a8ec
jmp case.0x5256e8.0
lea edx, [esp + 0x84]
mov eax, dword [0x566334]
mov eax, dword [eax]
call fcn.00457038
mov eax, dword [esp + 0x88]
push eax
lea edx, [esp + 0x90]
mov eax, dword [0x566334]
mov eax, dword [eax]
call fcn.00457038
mov edx, dword [esp + 0x90]
mov eax, ebx
pop ecx
call fcn.0052f264
jmp case.0x5256e8.0
mov dword [esp + 4], 0xff
cmp byte [ebx + 0x78], 0
je 0x5265e0
cmp byte [ebx + 0xa6], 0
je 0x5265e0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x1a6], 0
je 0x52657d
cmp byte [eax + 0x22f], 1
jne 0x526182
cmp dword [ebx + 0x234], 0
je 0x52616f
mov edx, eax
mov eax, dword [ebx + 0x234]
call fcn.00537a64
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 2
jne 0x52619a
mov dl, 1
mov eax, ebx
call fcn.005311ac
and dword [ebx + 0x238], 0xfffffdff
cmp dword [ebx + 0x270], 0
je 0x5261b7
mov eax, dword [ebx + 0x270]
mov byte [eax + 0x28], 0
cmp dword [ebx + 0x224], 0
je 0x5261e0
mov eax, dword [ebx + 0x224]
mov edx, dword [0x51f464]
call fcn.004038c8
test al, al
je 0x5261e0
lea eax, [ebx + 0x224]
call fcn.0040ebcc
cmp byte [0x5652c8], 0
je 0x526227
mov eax, dword [ebx + 0x254]
call fcn.00452a4c
test al, al
je 0x526227
mov eax, dword [0x5660f8]
mov eax, dword [eax]
cmp dword [eax + 0x44], 0
je 0x526217
mov eax, dword [0x5660f8]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x254]
jne 0x526227
mov eax, dword [ebx + 0x254]
call fcn.00452748
call fcn.00522720
mov eax, ebx
call fcn.00530ee0
cmp dword [ebx + 0x234], 0
je 0x526248
mov edx, dword [ebx + 0x254]
mov eax, dword [ebx + 0x234]
call fcn.00537a64
cmp byte [ebx + 0x95], 0
je 0x526293
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
je 0x52626c
mov eax, dword [ebx + 0x254]
cmp dword [eax + 0x30], 0
jne 0x526293
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0xc]
cmp byte [eax + 6], 0
je 0x526293
mov eax, dword [ebx + 0x254]
call fcn.00452748
cmp eax, dword [0x5652c4]
jne 0x526297
xor eax, eax
jmp 0x526299
mov al, 1
mov byte [ebx + 0x22f], al
mov byte [esp + 0x11], 0
cmp byte [ebx + 0x22f], 0
je 0x52637e
mov dl, 1
mov eax, dword [ebx + 0x50]
call fcn.0051c604
mov byte [ebx + 0x22c], 1
mov eax, dword [ebx + 0x254]
call fcn.00452748
mov cl, 1
mov dl, 1
call fcn.005248e8
mov byte [esp + 0x11], al
mov dword [esp + 4], 0xff
cmp byte [esp + 0x11], 0
je 0x5262fb
xor edx, edx
mov eax, ebx
call fcn.00521724
mov byte [ebx + 0x23c], 0
jmp 0x526319
mov eax, dword [ebx + 0x254]
movzx eax, byte [eax + 0x2e1]
mov dword [esp + 4], eax
xor edx, edx
mov eax, dword [ebx + 0x254]
call fcn.00469450
mov eax, dword [ebx + 0x254]
call fcn.0044f398
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x526388
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x254]
call fcn.0044f35c
cmp byte [eax + 0x57], 0
je 0x526378
mov edx, edi
mov eax, dword [ebx + 0x254]
call fcn.0044f35c
mov edx, dword [0x55d0a0]
call fcn.004038c8
test al, al
jne 0x526378
push 0
mov edx, edi
mov eax, dword [ebx + 0x254]
call fcn.0044f35c
xor ecx, ecx
mov edx, 0xb
call fcn.0044d034
inc edi
dec ebp
jne 0x52632e
jmp 0x526388
xor edx, edx
mov eax, dword [ebx + 0x50]
call fcn.0051c604
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
call fcn.005196e4
mov edx, eax
mov eax, ebx
call fcn.0053294c
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
xor edx, edx
mov eax, dword [ebx + 0x50]
call fcn.0051c608
test al, al
jne 0x526467
cmp byte [ebx + 0x22f], 0
je 0x526467
mov eax, dword [ebx + 0x254]
call fcn.0044f398
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x526415
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x254]
call fcn.0044f35c
cmp byte [eax + 0x57], 0
je 0x526411
push 0
mov edx, edi
mov eax, dword [ebx + 0x254]
call fcn.0044f35c
mov ecx, 1
mov edx, 0xb
call fcn.0044d034
inc edi
dec ebp
jne 0x5263e0
push 0xffffffffffffffec
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xfff7ffff
push eax
push 0xffffffffffffffec
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SetWindowLongA
push 0x81
push 0
push 0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_RedrawWindow
mov byte [ebx + 0x23c], 0
jmp case.0x5256e8.0
lea edx, [ebx + 0x230]
xor ecx, ecx
mov eax, ebx
call fcn.00521a60
cmp byte [ebx + 0x22f], 0
je 0x526531
mov eax, dword [ebx + 0x254]
call fcn.0044f398
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x5264cd
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x254]
call fcn.0044f35c
cmp byte [eax + 0x57], 0
je 0x5264c9
push 0
mov edx, edi
mov eax, dword [ebx + 0x254]
call fcn.0044f35c
mov ecx, 1
mov edx, 0xb
call fcn.0044d034
inc edi
dec ebp
jne 0x526498
cmp byte [esp + 0x11], 0
je 0x5264e8
mov eax, dword [ebx + 0x254]
call fcn.00452748
mov cl, 1
xor edx, edx
call fcn.005248e8
mov byte [ebx + 0x22f], 0
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0xc]
movzx edi, word [eax + 4]
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0x6c]
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.00502d40
mov byte [ebx + 0x23c], 0
jmp 0x52654b
push 0x81
push 0
push 0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
jne case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22b], 2
jne case.0x5256e8.0
mov al, 1
call fcn.0052479c
jmp case.0x5256e8.0
cmp dword [ebx + 0x270], 0
je 0x5265cd
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x5265c2
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x10]
movzx eax, word [eax + 4]
mov ecx, 0xc
xor edx, edx
div ecx
test eax, eax
je 0x5265c2
cmp byte [ebx + 0x95], 0
jne 0x5265cd
lea eax, [ebx + 0x270]
call fcn.0040ebcc
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
call fcn.00520d08
test al, al
je 0x52661d
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x1a6], 0
je 0x52661d
push 0
push 1
push 0xb
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x1c], 0
call fcn.00520d08
test al, al
je case.0x5256e8.0
push 0x181
push 0
push 0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
je 0x526788
cmp dword [esi + 4], 1
jne 0x5266f1
cmp dword [ebx + 0x270], 0
je 0x526680
mov eax, dword [ebx + 0x270]
mov byte [eax + 0x28], 0
mov eax, dword [ebx + 0x238]
and eax, 0x400
cmp eax, 0x400
jne 0x52669e
mov dword [ebx + 0x238], 0x400
jmp 0x5266a6
xor eax, eax
mov dword [ebx + 0x238], eax
call fcn.00520d08
test al, al
je 0x5266f1
cmp byte [0x565880], 0
jne 0x5266f1
push 0xffffffffffffffec
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0x80000
cmp eax, 0x80000
je 0x5266f1
push 0x481
push 0
push 0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [esi + 8]
dec eax
je 0x526701
sub eax, 2
je 0x52674f
jmp 0x526788
cmp byte [ebx + 0x22d], 0
je 0x526788
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x526728
mov byte [ebx + 0x22d], 2
jmp 0x526788
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x526746
mov byte [ebx + 0x22d], 3
jmp 0x526788
mov byte [ebx + 0x22d], 1
jmp 0x526788
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x526788
mov eax, dword [0x5660f8]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x254]
jne 0x526788
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
cmp dword [esi + 4], 1
jne case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
jne 0x5267c8
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22b], 2
jne 0x5267c8
mov eax, dword [0x56830c]
call fcn.00530830
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 2
jne 0x526829
mov eax, dword [ebx + 0x254]
call fcn.004660e0
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x526829
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x254]
call fcn.0046612c
call fcn.00452748
mov edx, 7
call fcn.0050625c
test al, al
jne 0x526825
mov edx, edi
mov eax, dword [ebx + 0x254]
call fcn.0046612c
call fcn.00452748
xor edx, edx
call fcn.004d52e8
inc edi
dec ebp
jne 0x5267ec
mov eax, dword [ebx + 0x254]
cmp dword [eax + 0x30], 0
je case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
je case.0x5256e8.0
mov eax, dword [ebx + 0x50]
and word [eax + 0x4a], 0xfffe
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
call fcn.00452a4c
test al, al
je 0x5269c4
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5269c4
mov eax, dword [ebx + 0x254]
test byte [eax + 0x54], 0x40
jne 0x5269c4
cmp byte [ebx + 0x78], 0
je 0x5269c4
cmp dword [ebx + 0xcc], 0
je 0x5268bb
lea eax, [ebx + 0xcc]
call fcn.0040ebcc
cmp dword [ebx + 0xd0], 0
je 0x5268cf
lea eax, [ebx + 0xd0]
call fcn.0040ebcc
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
jne 0x526922
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22b], 2
jne 0x526922
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x35], 1
xor edx, edx
mov eax, dword [0x56830c]
call fcn.005211f8
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, dword [0x56830c]
call fcn.00521500
jmp 0x5269a3
call fcn.00520d08
test al, al
jne 0x52696c
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
xor edx, edx
mov eax, ebx
call fcn.005211f8
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, ebx
call fcn.00521500
push 0
push 0
push 0x85
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SendMessageA
jmp 0x5269a3
cmp dword [ebx + 0x270], 0
jne 0x52697e
xor edx, edx
mov eax, ebx
call fcn.005211f8
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, ebx
call fcn.00521b5c
cmp dword [ebx + 0x270], 0
jne 0x5269a3
mov eax, ebx
call fcn.00521500
cmp dword [ebx + 0x270], 0
je case.0x5256e8.0
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x270]
call fcn.0053a8ec
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
cmp byte [ebx + 0x78], 0
je case.0x5256e8.0
mov esi, dword [ebx + 0x270]
test esi, esi
je 0x526a14
cmp dword [esi + 0x18], 0
je 0x526a14
mov eax, dword [ebx + 0x254]
mov edx, dword [eax]
call dword [edx + 0x50]
mov edx, eax
mov eax, dword [esi + 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
push 0
push 0
push 0x85
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SendMessageA
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, ebx
call fcn.0052ff40
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, ebx
call fcn.0052ff40
cmp dword [0x56830c], 0
je case.0x5256e8.0
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x254]
call fcn.004660ac
test eax, eax
je case.0x5256e8.0
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x254]
call fcn.004660ac
cmp byte [eax + 0x22b], 2
jne 0x526abc
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x248]
call fcn.004de12c
jmp case.0x5256e8.0
mov dl, 1
mov eax, ebx
call fcn.00532344
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x1c], 0
jne 0x527394
mov eax, ebx
call fcn.00520e08
test al, al
je 0x526c94
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov edi, dword [eax + 0x18c]
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov edx, edi
call fcn.0051154c
test al, al
je 0x526c94
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0xd4]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8]
call fcn.0053fcfc
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0xd4]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8]
call fcn.0053fd34
mov edi, eax
lea eax, [ebx + 0x204]
xor edx, edx
call fcn.0053f0f4
mov ebp, eax
mov eax, dword [ebx + 0x254]
call fcn.0044b86c
cmp ebp, eax
jl 0x526b87
lea eax, [ebx + 0x204]
xor edx, edx
call fcn.0053f108
mov ebp, eax
mov eax, dword [ebx + 0x254]
call fcn.0044b8b0
cmp ebp, eax
jge 0x526bf2
mov eax, dword [ebx + 0x50]
call fcn.0051a3d8
test al, al
jne 0x526bf2
lea eax, [ebx + 0x204]
xor edx, edx
call fcn.0053f0f4
test eax, eax
je 0x526bf2
mov eax, dword [ebx + 0x210]
push eax
lea eax, [esp + 0x38]
push eax
mov edx, dword [ebx + 0x210]
sub edx, edi
mov eax, dword [ebx + 0x20c]
sub eax, dword [esp + 0xc]
mov ecx, dword [ebx + 0x20c]
call fcn.004068dc
mov eax, dword [ebx + 0x50]
call fcn.0051a3d8
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_InvalidateRect
lea eax, [ebx + 0x204]
xor edx, edx
call fcn.0053f0f4
mov ebp, eax
mov eax, dword [ebx + 0x254]
call fcn.0044b86c
cmp ebp, eax
jg 0x526c2e
lea eax, [ebx + 0x204]
xor edx, edx
call fcn.0053f108
mov ebp, eax
mov eax, dword [ebx + 0x254]
call fcn.0044b8b0
cmp ebp, eax
jle 0x526c94
mov eax, dword [ebx + 0x254]
call fcn.0044b8b0
push eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [ebx + 0x254]
call fcn.0044b86c
push eax
mov eax, dword [ebx + 0x254]
call fcn.0044b8b0
sub eax, edi
push eax
mov eax, dword [ebx + 0x254]
call fcn.0044b86c
sub eax, dword [esp + 0x14]
pop edx
pop ecx
call fcn.004068dc
mov eax, dword [ebx + 0x50]
call fcn.0051a3d8
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_InvalidateRect
lea eax, [ebx + 0x204]
xor edx, edx
call fcn.0053f0f4
mov edi, eax
mov eax, dword [ebx + 0x254]
call fcn.0044b86c
cmp edi, eax
jg 0x526ce5
lea eax, [ebx + 0x204]
xor edx, edx
call fcn.0053f108
mov edi, eax
mov eax, dword [ebx + 0x254]
call fcn.0044b8b0
cmp edi, eax
jg 0x526ce5
lea eax, [ebx + 0x204]
xor edx, edx
call fcn.0053f0f4
test eax, eax
jne 0x526e53
push 0x52a8a0
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov edx, dword [ebx + 0x50]
mov ecx, dword [edx + 4]
mov edx, dword [ebx + 0x50]
mov edx, dword [edx + 0x28]
call fcn.00517a44
mov edi, eax
cmp edi, 0xffffffff
jle 0x526d9c
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0xd4]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8]
call fcn.0053fcfc
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0xd4]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8]
call fcn.0053fd34
mov edi, eax
mov eax, dword [ebx + 0x210]
push eax
lea eax, [esp + 0x38]
push eax
mov edx, dword [ebx + 0x210]
sub edx, edi
mov eax, dword [ebx + 0x20c]
sub eax, dword [esp + 0xc]
mov ecx, dword [ebx + 0x20c]
call fcn.004068dc
mov eax, dword [ebx + 0x50]
call fcn.0051a3d8
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_InvalidateRect
push 0x52a8b4
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov edx, dword [ebx + 0x50]
mov ecx, dword [edx + 4]
mov edx, dword [ebx + 0x50]
mov edx, dword [edx + 0x28]
call fcn.00517a44
mov edi, eax
cmp edi, 0xffffffff
jle 0x526e53
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0xd4]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8]
call fcn.0053fcfc
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0xd4]
mov edx, edi
shl edx, 3
sub edx, edi
lea eax, [eax + edx*8]
call fcn.0053fd34
mov edi, eax
mov eax, dword [ebx + 0x210]
push eax
lea eax, [esp + 0x38]
push eax
mov edx, dword [ebx + 0x210]
sub edx, edi
mov eax, dword [ebx + 0x20c]
sub eax, dword [esp + 0xc]
mov ecx, dword [ebx + 0x20c]
call fcn.004068dc
mov eax, dword [ebx + 0x50]
call fcn.0051a3d8
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_InvalidateRect
cmp dword [ebx + 0xcc], 0
je 0x526e67
lea eax, [ebx + 0xcc]
call fcn.0040ebcc
cmp dword [ebx + 0xd0], 0
je 0x526e7b
lea eax, [ebx + 0xd0]
call fcn.0040ebcc
mov dword [ebx + 0x258], 0xffffffff
mov eax, dword [ebx + 0x238]
and eax, 0x80
cmp eax, 0x80
jne 0x526e9e
mov eax, ebx
call fcn.00520174
mov eax, dword [ebx + 0x254]
cmp dword [eax + 0x30], 0
jne 0x526ed1
cmp byte [ebx + 0xa6], 0
je 0x526ed1
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x1c], 1
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x1c], 0
jmp 0x526edf
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
cmp byte [0x565880], 0
jne 0x527354
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x1a6], 0
je 0x52734d
mov eax, ebx
call fcn.0052faa4
test al, al
je 0x5272b7
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x526f30
cmp byte [ebx + 0x22a], 0
jne 0x5272b7
mov byte [ebx + 0x34], 1
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
mov eax, dword [ebx + 0x50]
cmp dword [eax + 0x40], 0
je 0x526f88
mov eax, dword [ebx + 0x50]
call fcn.0051a3d8
test al, al
je 0x526f7c
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov edx, dword [ebx + 0x254]
cmp eax, dword [edx + 0x48]
jg 0x526f80
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x20]
mov edx, dword [ebx + 0x254]
cmp eax, dword [edx + 0x4c]
jg 0x526f80
xor eax, eax
jmp 0x526f82
mov al, 1
mov byte [esp + 0x10], al
jmp 0x526f8d
mov byte [esp + 0x10], 0
cmp byte [ebx + 0x78], 0
je 0x52725b
cmp byte [0x5652f0], 0
je 0x526fc3
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22b], 2
jne 0x526fc3
cmp dword [ebx + 0x270], 0
je 0x526fc3
lea eax, [ebx + 0x270]
call fcn.0040ebcc
mov eax, dword [ebx + 0x270]
test eax, eax
je 0x527076
cmp dword [eax + 0x18], 0
jne 0x526fdc
call fcn.0053bad8
cmp dword [ebx + 0x230], 0
je 0x527003
mov eax, dword [ebx + 0x230]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 0x24], 0
jne 0x527010
mov eax, dword [ebx + 0x230]
mov eax, dword [eax + 0x78]
cmp byte [eax + 0x24], 0
jne 0x527010
cmp byte [ebx + 0x54], 0
jne 0x527010
or dword [ebx + 0x238], 1
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x270]
call fcn.0053a8ec
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x1c], 1
and dword [ebx + 0x238], 0xfffffffe
mov eax, dword [ebx + 0x270]
mov byte [eax + 0x28], 1
push 0x61b
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x18]
call fcn.00452748
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [ebx + 0x270]
mov byte [eax + 0x28], 0
mov dl, 1
mov eax, ebx
call fcn.00521724
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x1c], 0
jmp 0x527086
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, ebx
call fcn.0053309c
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x1c], 0
jne case.0x5256e8.0
mov eax, dword [ebx + 0x50]
mov ax, word [eax + 0x4c]
and ax, 2
cmp ax, 2
jne 0x5270c2
lea eax, [ebx + 0x204]
xor edx, edx
call fcn.0053f108
mov esi, eax
mov eax, dword [ebx + 0x254]
call fcn.0044b8b0
cmp esi, eax
jne 0x5270f1
mov eax, dword [ebx + 0x50]
mov ax, word [eax + 0x4c]
and ax, 1
cmp ax, 1
jne 0x527122
lea eax, [ebx + 0x204]
xor edx, edx
call fcn.0053f0f4
mov esi, eax
mov eax, dword [ebx + 0x254]
call fcn.0044b86c
cmp esi, eax
je 0x527122
push 0
lea eax, [esp + 0x18]
push eax
mov dx, 0x14
mov ax, 1
call fcn.00407790
mov edx, eax
xor ecx, ecx
mov eax, 0xa100
call fcn.0053efd0
lea edx, [esp + 0x14]
mov eax, dword [ebx + 0x254]
call fcn.00506360
cmp dword [ebx + 0x270], 0
je 0x527234
mov eax, dword [ebx + 0x230]
test eax, eax
je 0x52716b
cmp dword [eax + 0x7c], 0
je 0x52716b
cmp dword [eax + 0x78], 0
je 0x52716b
mov eax, dword [ebx + 0x230]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 0x24], 0
jne 0x527234
mov eax, dword [ebx + 0x230]
mov eax, dword [eax + 0x78]
cmp byte [eax + 0x24], 0
jne 0x527234
mov eax, dword [ebx + 0x270]
cmp dword [eax + 0x18], 0
jne 0x527182
mov eax, dword [ebx + 0x270]
call fcn.0053bad8
push 0x101
push 0
push 0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_RedrawWindow
cmp dword [ebx + 0x270], 0
je 0x527229
mov eax, dword [ebx + 0x270]
cmp dword [eax + 0x18], 0
je 0x527229
push 0x61b
push 0
push 0
push 0
push 0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x18]
call fcn.00452748
push eax
call sub.user32.dll_SetWindowPos
cmp dword [ebx + 0x270], 0
je 0x52721d
mov eax, dword [ebx + 0x270]
cmp dword [eax + 0x18], 0
je 0x52721d
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x270]
call fcn.0053b970
push eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x18]
call fcn.00452748
push eax
call sub.user32.dll_SetWindowRgn
mov eax, dword [ebx + 0x270]
mov byte [eax + 0x28], 0
jmp 0x52724e
xor edx, edx
mov eax, ebx
call fcn.00521724
jmp 0x52724e
push 0x921
push 0
push 0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [ebx + 0x254]
call fcn.005057fc
jmp 0x527277
cmp byte [esp + 0x10], 0
je 0x527277
push 0
push 0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_InvalidateRect
mov eax, dword [ebx + 0x254]
call fcn.0044b8b0
push eax
lea eax, [esp + 0x98]
push eax
mov eax, dword [ebx + 0x254]
call fcn.0044b86c
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.004068dc
lea esi, [esp + 0x94]
lea edi, [ebx + 0x204]
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.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 2
jne 0x5272d2
mov eax, dword [ebx + 0x50]
call fcn.0051a3d8
test al, al
jne 0x5272e1
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
jne 0x5272f3
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, ebx
call fcn.0053309c
jmp 0x527354
mov eax, dword [esi + 4]
sub eax, 2
jne 0x527354
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
jne 0x527354
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22b], 2
jne 0x527354
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x35], 1
mov eax, dword [0x56830c]
mov byte [eax + 0x23e], 1
push 0x481
push 0
push 0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_RedrawWindow
jmp 0x527354
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
mov eax, dword [ebx + 0x254]
call fcn.0044b8b0
push eax
lea eax, [esp + 0x98]
push eax
mov eax, dword [ebx + 0x254]
call fcn.0044b86c
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.004068dc
lea esi, [esp + 0x94]
lea edi, [ebx + 0x204]
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.0x5256e8.0
mov byte [ebx + 0x34], 1
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov eax, ebx
call fcn.00532b74
xor eax, eax
call fcn.004de4a4
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 2
jne 0x52751b
cmp byte [ebx + 0x22b], 0
jne 0x52751b
mov eax, dword [ebx + 0x254]
call fcn.004660ac
test eax, eax
je 0x52751b
mov eax, dword [ebx + 0x254]
call fcn.004660ac
cmp byte [eax + 0x22b], 2
jne 0x52751b
mov byte [ebx + 0x22b], 1
cmp dword [0x5658fc], 0
jne 0x527447
mov ecx, dword [0x5660f8]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x461bec]
call fcn.00464818
mov dword [0x5658fc], eax
mov eax, dword [0x5658fc]
mov dword [eax + 0xc], 0xffffff9e
xor edx, edx
mov eax, dword [0x5658fc]
call fcn.0046565c
mov edx, 0x52a8c8
mov eax, dword [0x5658fc]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [0x5658fc]
mov dword [eax + 0x2bc], ebx
mov dword [eax + 0x2b8], 0x5314c4
xor edx, edx
mov eax, dword [0x5658fc]
call fcn.00465fdc
push 0x58
push 0xf
call sub.user32.dll_GetSystemMetrics
dec eax
add eax, 4
push eax
push 0x3c
mov eax, dword [ebx + 0x254]
call fcn.00452748
xor ecx, ecx
mov edx, dword [ebx + 0x270]
call fcn.00520aa4
mov edi, eax
mov eax, dword [ebx + 0x254]
call fcn.00520b0c
mov edx, dword [ebx + 0x254]
add eax, dword [edx + 0x44]
add edi, eax
push edi
mov eax, dword [ebx + 0x254]
call fcn.00452748
xor ecx, ecx
mov edx, dword [ebx + 0x270]
call fcn.00520aa4
push eax
lea edx, [esp + 0xa8]
mov eax, dword [ebx + 0x254]
call fcn.0044b808
mov eax, dword [esp + 0xb0]
sub eax, 0x3c
pop edx
sub eax, edx
push eax
push 0
mov eax, dword [0x5658fc]
call fcn.00452748
push eax
call sub.user32.dll_SetWindowPos
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov byte [ebx + 0x22b], 0
cmp dword [0x5658fc], 0
je 0x527548
mov eax, 0x5658fc
call fcn.0040ebcc
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
cmp byte [ebx + 0x228], 0
je 0x527572
mov byte [ebx + 0x228], 0
mov eax, ebx
call fcn.00532e9c
mov dl, 1
mov eax, ebx
call fcn.00522620
test eax, eax
je 0x527585
cmp byte [ebx + 0x78], 0
jne 0x527598
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov edx, esi
mov eax, ebx
call fcn.00523f84
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
add eax, 0xfffffff8
sub eax, 2
jb 0x5275b4
sub eax, 0xa
jne 0x5275cc
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
jne 0x5275cc
mov dl, 1
mov eax, ebx
call fcn.00532344
mov eax, dword [esi + 0xc]
sub eax, 3
jb 0x5275e5
sub eax, 2
je 0x5275e5
add eax, 0xfffffffb
sub eax, 8
jae 0x527721
mov eax, ebx
call fcn.00520e08
test al, al
je 0x52770e
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov edi, dword [eax + 0x18c]
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov edx, edi
call fcn.0051154c
test al, al
je 0x52770e
lea eax, [esp + 8]
push eax
movsx ecx, word [esi + 0xa]
movsx edx, word [esi + 8]
mov eax, ebx
call fcn.0052f5b0
cmp dword [ebx + 0x270], 0
je 0x5276c8
lea ecx, [esp + 0x84]
mov edx, edi
mov eax, ebx
call fcn.005300b0
mov ebp, dword [esp + 0x88]
mov eax, dword [ebx + 0x270]
call fcn.00520bd0
sub ebp, eax
lea edx, [esp + 0x94]
mov eax, ebx
call fcn.00532b3c
sub ebp, dword [esp + 0x98]
cmp ebp, dword [esp + 0xc]
jge 0x52770e
lea ecx, [esp + 0x8c]
mov edx, edi
mov eax, ebx
call fcn.005300b0
mov edi, dword [esp + 0x8c]
mov eax, dword [ebx + 0x270]
call fcn.00520c0c
sub edi, eax
lea edx, [esp + 0xa4]
mov eax, ebx
call fcn.00532b3c
sub edi, dword [esp + 0xa4]
cmp edi, dword [esp + 8]
jge 0x52770e
mov dword [esi + 0xc], 0x11
jmp case.0x5256e8.0
lea ecx, [esp + 0x84]
mov edx, edi
mov eax, ebx
call fcn.005300b0
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0xc]
jge 0x52770e
lea ecx, [esp + 0x8c]
mov edx, edi
mov eax, ebx
call fcn.005300b0
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 8]
jge 0x52770e
mov dword [esi + 0xc], 0x11
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
cmp byte [ebx + 0x54], 1
jne case.0x5256e8.0
cmp dword [0x56841c], 0
jne case.0x5256e8.0
mov eax, dword [ebx + 0x254]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je case.0x5256e8.0
mov eax, dword [esi + 0xc]
sub eax, 2
je 0x52775f
add eax, 0xfffffff8
sub eax, 8
jae case.0x5256e8.0
mov eax, dword [esi + 0xc]
mov dword [0x56841c], eax
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
cmp dword [ebx + 0x270], 0
je case.0x5256e8.0
mov cl, 0xff
xor edx, edx
mov eax, dword [ebx + 0x270]
call fcn.0053a8ec
jmp case.0x5256e8.0
cmp dword [ebx + 0x38], 0x7d0
jl 0x5277ad
cmp dword [ebx + 0x270], 0
jne 0x5277b9
mov cl, 1
or edx, 0xffffffff
mov eax, ebx
call fcn.0052bb34
mov byte [0x5658f0], 0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
pop edx
call fcn.00518c20
mov eax, dword [ebx + 0x270]
test eax, eax
je case.0x5256e8.0
cmp byte [eax + 0x38], 0
je case.0x5256e8.0
mov edx, dword [ebx + 0x238]
and edx, 1
cmp edx, 1
je case.0x5256e8.0
call fcn.0053bb5c
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
je case.0x5256e8.0
mov eax, ebx
call fcn.00530f5c
jmp case.0x5256e8.0
cmp byte [ebx + 0x78], 0
je 0x527dc3
cmp dword [ebx + 0x270], 0
je 0x527888
cmp dword [esi + 4], 0x13
jne 0x527888
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
cmp dword [ebx + 0x270], 0
je 0x5278a7
cmp dword [esi + 4], 0xffffffff
jne 0x5278a7
mov edx, esi
mov eax, dword [ebx + 0x270]
call fcn.00539bb8
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
cmp eax, 8
jge 0x5278c2
sub eax, 3
je 0x527945
sub eax, 2
je 0x527932
jmp 0x527a82
add eax, 0xfffffff8
sub eax, 2
jb 0x5278de
add eax, 0xfffffff6
sub eax, 2
jb 0x5278de
add eax, 0xffffffb1
sub eax, 3
jae 0x527a82
cmp dword [0x5658f8], 0
je 0x527923
cmp dword [esi + 4], 0x67
jne 0x527905
mov eax, dword [0x5658f8]
mov eax, dword [eax + 0x25c]
mov edx, dword [eax]
call dword [edx + 0x54]
test al, al
je case.0x5256e8.0
cmp dword [esi + 4], 0x66
jne 0x527923
mov eax, dword [0x5658f8]
mov eax, dword [eax + 0x25c]
mov edx, dword [eax]
call dword [edx + 0x58]
test al, al
je case.0x5256e8.0
mov edx, dword [esi + 4]
mov eax, ebx
call fcn.0052bf94
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
xor eax, eax
mov dword [esi + 0xc], eax
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
cmp dword [esi + 0xc], 0
jne case.0x5256e8.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052bb34
mov byte [0x5658f0], 0
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
cmp byte [eax + 0x58], 0
jne 0x527999
mov eax, 0xc8
call fcn.0053f590
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x1c], 0
jne case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
jne 0x5279fa
cmp dword [0x56830c], 0
je case.0x5256e8.0
lea edx, [esp + 8]
mov eax, ebx
call fcn.0052f158
mov eax, dword [ebx + 0x254]
call fcn.00520b0c
add eax, dword [esp + 0xc]
add eax, 4
push eax
mov eax, dword [ebx + 0x254]
call fcn.00452748
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.0052f264
jmp case.0x5256e8.0
lea edx, [esp + 0x84]
mov eax, ebx
call fcn.0052f158
mov esi, dword [esp + 0x88]
mov dl, 1
mov eax, ebx
call fcn.00522478
add esi, eax
lea eax, [ebx + 0x96]
xor edx, edx
call fcn.0053f108
add esi, eax
mov eax, dword [ebx + 0x254]
call fcn.00452748
xor ecx, ecx
mov edx, dword [ebx + 0x270]
call fcn.00520af8
add esi, eax
push esi
mov eax, dword [ebx + 0x254]
call fcn.00452748
xor ecx, ecx
mov edx, dword [ebx + 0x270]
call fcn.00520aa4
mov esi, eax
lea edx, [esp + 0x90]
mov eax, ebx
call fcn.0052f158
add esi, dword [esp + 0x90]
mov edx, esi
mov eax, ebx
pop ecx
call fcn.0052f264
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x48]
call fcn.0041a808
mov ecx, eax
add ecx, 0x3e8
dec ecx
mov eax, dword [esi + 4]
mov edx, 0x3e8
call fcn.0053f024
test al, al
je 0x527ae4
mov edx, dword [esi + 4]
mov eax, ebx
call fcn.0052bf94
mov al, byte [0x52a8d4]
push eax
movsx eax, word [esi + 8]
push eax
movsx eax, word [esi + 0xa]
push eax
mov edx, dword [esi + 4]
sub edx, 0x3e8
mov eax, dword [ebx + 0x48]
call fcn.005372f0
mov edx, dword [esi + 4]
sub edx, 0x3e8
xor ecx, ecx
call fcn.00537468
jmp case.0x5256e8.0
mov eax, dword [esi + 4]
mov ecx, 0x8cf
mov edx, 0x7d0
call fcn.0053f024
test al, al
je 0x527b61
cmp dword [ebx + 0xb8], 0
je case.0x5256e8.0
mov edx, dword [esi + 4]
sub edx, 0x7d0
mov eax, dword [ebx + 0xb8]
mov eax, dword [eax + 0x38]
call fcn.004c9198
cmp byte [eax + 0x30], 2
je 0x527b2e
mov edx, dword [esi + 4]
mov eax, ebx
call fcn.0052bf94
movsx eax, word [esi + 8]
push eax
movsx eax, word [esi + 0xa]
push eax
mov edx, dword [esi + 4]
sub edx, 0x7d0
mov eax, dword [ebx + 0xb8]
mov eax, dword [eax + 0x38]
call fcn.004c9198
mov cl, byte [0x52a8d4]
xor edx, edx
call fcn.004c89ac
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x527b92
push 0
mov ecx, 0xf012
mov edx, 0x112
mov eax, dword [ebx + 0x254]
call fcn.0044d034
jmp case.0x5256e8.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052bb34
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22b], 2
jne 0x527bf5
lea eax, [esp + 0x84]
push eax
movsx ecx, word [esi + 0xa]
xor edx, edx
mov eax, ebx
call fcn.0052f5b0
mov edi, dword [esp + 0x88]
mov eax, dword [ebx + 0x254]
call fcn.00452748
mov cl, 1
mov edx, dword [ebx + 0x270]
call fcn.00520af8
mov ebp, eax
mov dl, 1
mov eax, ebx
call fcn.00522620
add ebp, eax
cmp edi, ebp
jle 0x527d8a
push 0
lea eax, [esp + 0x15]
push eax
push 0
push 0x26
call sub.user32.dll_SystemParametersInfoA
cmp byte [esp + 0x11], 0
je 0x527d77
cmp byte [ebx + 0x54], 1
jne 0x527cd1
mov eax, dword [ebx + 0x254]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x527cd1
mov eax, dword [esi + 4]
sub eax, 5
je 0x527cd1
mov eax, dword [esi + 4]
sub eax, 2
je 0x527c46
sub eax, 3
jne 0x527c54
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, dword [esi + 4]
add eax, 0xfffffff6
sub eax, 8
setb al
xor al, 1
mov byte [0x5683f8], al
lea ecx, [esp + 8]
movsx edx, word [esi + 0xa]
movsx eax, word [esi + 8]
call fcn.004068f8
cmp byte [0x5683f8], 0
je 0x527ca0
push 0
push 0xf010
push 0x112
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SendMessageA
jmp 0x527cbd
push 0
push 0xf000
push 0x112
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SendMessageA
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov eax, ebx
call fcn.005303dc
jmp case.0x5256e8.0
cmp dword [esi + 4], 2
jne 0x527d64
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
je 0x527d64
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x24]
cmp byte [eax + 6], 0
je 0x527d64
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne 0x527d64
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x24]
cmp byte [eax + 8], 0xff
je 0x527d64
cmp byte [ebx + 0x94], 0
je 0x527d64
cmp byte [ebx + 0x24c], 0
jne 0x527d47
mov byte [ebx + 0x24c], 1
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SetFocus
mov eax, ebx
call fcn.00520478
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22e], 0
jne case.0x5256e8.0
mov eax, dword [ebx + 0x254]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je case.0x5256e8.0
mov eax, dword [ebx + 0x254]
mov edx, dword [eax]
call dword [edx + 0xc4]
jmp case.0x5256e8.0
mov eax, dword [esi + 4]
sub eax, 3
jne 0x527eb2
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052bb34
mov byte [0x5658f0], 0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
jne 0x527e2a
cmp dword [0x56830c], 0
je case.0x5256e8.0
lea edx, [esp + 8]
mov eax, ebx
call fcn.0052f158
mov dl, 1
mov eax, ebx
call fcn.00522620
mov ecx, eax
add ecx, dword [esp + 0xc]
add ecx, 4
mov edx, dword [esp + 8]
mov eax, ebx
call fcn.0052f264
jmp case.0x5256e8.0
lea edx, [esp + 0x84]
mov eax, ebx
call fcn.0052f158
mov esi, dword [esp + 0x88]
mov dl, 1
mov eax, ebx
call fcn.00522478
add esi, eax
lea eax, [ebx + 0x96]
xor edx, edx
call fcn.0053f108
add esi, eax
mov eax, dword [ebx + 0x254]
call fcn.00452748
xor ecx, ecx
mov edx, dword [ebx + 0x270]
call fcn.00520af8
add esi, eax
push esi
mov eax, dword [ebx + 0x254]
call fcn.00452748
mov cl, 1
mov edx, dword [ebx + 0x270]
call fcn.00520aa4
mov esi, eax
lea edx, [esp + 0x90]
mov eax, ebx
call fcn.0052f158
add esi, dword [esp + 0x90]
mov edx, esi
mov eax, ebx
pop ecx
call fcn.0052f264
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
cmp dword [esi + 4], 0x2f
jne 0x527f26
cmp dword [ebx + 0x224], 0
je 0x527f26
mov eax, dword [ebx + 0x224]
mov edx, dword [0x51f464]
call fcn.004038c8
test al, al
je 0x527f26
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
mov edi, dword [ebx + 0x224]
mov eax, edi
call fcn.0053db88
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 + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
cmp dword [0x568324], 0
je 0x527f67
mov eax, dword [0x568324]
test byte [eax + 0x1c], 0x10
jne 0x527f67
xor edx, edx
mov eax, dword [0x568324]
call fcn.00518c20
cmp byte [ebx + 0x54], 1
jne case.0x5256e8.0
mov eax, dword [ebx + 0x254]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je case.0x5256e8.0
lea ecx, [esp + 0x84]
movsx edx, word [esi + 0xa]
movsx eax, word [esi + 8]
call fcn.004068f8
lea edx, [esp + 0x84]
lea ecx, [esp + 8]
mov eax, dword [ebx + 0x254]
call fcn.0044b980
mov eax, dword [esp + 8]
mov dword [esp + 4], eax
mov edi, dword [esp + 0xc]
cmp byte [0x5683f8], 0
je 0x528038
cmp byte [0x5658e0], 0
je 0x527fd3
mov byte [0x5658e0], 0
cmp byte [0x5658dc], 0
je case.0x5256e8.0
mov ecx, dword [0x568404]
mov edx, dword [0x568408]
mov eax, ebx
call fcn.005305dc
mov eax, dword [esp + 4]
sub eax, dword [0x568414]
add dword [0x568408], eax
mov eax, edi
sub eax, dword [0x568418]
add dword [0x568404], eax
mov dword [0x568418], edi
mov eax, dword [esp + 4]
mov dword [0x568414], eax
mov ecx, dword [0x568404]
mov edx, dword [0x568408]
mov eax, ebx
call fcn.005305dc
jmp case.0x5256e8.0
cmp byte [0x5658e0], 0
je 0x528057
mov eax, dword [esp + 4]
mov dword [0x568414], eax
mov dword [0x568418], edi
mov byte [0x5658e0], 0
cmp byte [0x5658dc], 0
je case.0x5256e8.0
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.005305dc
mov eax, dword [0x56841c]
add eax, 0xfffffff6
cmp eax, 6
ja case.default.0x528080
jmp dword [eax*4 + 0x528087]
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x40]
add eax, dword [esp + 4]
sub eax, dword [0x568414]
mov dword [0x568408], eax
mov eax, dword [0x568410]
sub eax, dword [0x568408]
cmp eax, dword [0x568424]
jge 0x5283e8
mov eax, dword [0x568410]
sub eax, dword [0x568424]
mov dword [0x568408], eax
jmp 0x5283e8
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x40]
mov edx, dword [ebx + 0x254]
add eax, dword [edx + 0x48]
add eax, dword [esp + 4]
sub eax, dword [0x568414]
mov dword [0x568410], eax
mov eax, dword [0x568410]
sub eax, dword [0x568408]
cmp eax, dword [0x568424]
jge 0x5283e8
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x40]
add eax, dword [0x568424]
mov dword [0x568410], eax
jmp 0x5283e8
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x44]
mov edx, dword [ebx + 0x254]
add eax, dword [edx + 0x4c]
add edi, eax
sub edi, dword [0x568418]
mov dword [0x56840c], edi
mov eax, dword [0x56840c]
sub eax, dword [0x568404]
cmp eax, dword [0x568420]
jge 0x5283e8
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x44]
add eax, dword [0x568420]
mov dword [0x56840c], eax
jmp 0x5283e8
mov eax, dword [ebx + 0x254]
add edi, dword [eax + 0x44]
sub edi, dword [0x568418]
mov dword [0x568404], edi
mov eax, dword [0x56840c]
sub eax, dword [0x568404]
cmp eax, dword [0x568420]
jge 0x5283e8
mov eax, dword [0x56840c]
sub eax, dword [0x568420]
mov dword [0x568404], eax
jmp 0x5283e8
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x44]
mov edx, dword [ebx + 0x254]
add eax, dword [edx + 0x4c]
add edi, eax
sub edi, dword [0x568418]
mov dword [0x56840c], edi
mov eax, dword [0x56840c]
sub eax, dword [0x568404]
cmp eax, dword [0x568420]
jge 0x528210
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x44]
add eax, dword [0x568420]
mov dword [0x56840c], eax
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x40]
add eax, dword [esp + 4]
sub eax, dword [0x568414]
mov dword [0x568408], eax
mov eax, dword [0x568410]
sub eax, dword [0x568408]
cmp eax, dword [0x568424]
jge 0x5283e8
mov eax, dword [0x568410]
sub eax, dword [0x568424]
mov dword [0x568408], eax
jmp 0x5283e8
mov eax, dword [ebx + 0x254]
add edi, dword [eax + 0x44]
sub edi, dword [0x568418]
mov dword [0x568404], edi
mov eax, dword [0x56840c]
sub eax, dword [0x568404]
cmp eax, dword [0x568420]
jge 0x52828c
mov eax, dword [0x56840c]
sub eax, dword [0x568420]
mov dword [0x568404], eax
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x40]
mov edx, dword [ebx + 0x254]
add eax, dword [edx + 0x48]
add eax, dword [esp + 4]
sub eax, dword [0x568414]
mov dword [0x568410], eax
mov eax, dword [0x568410]
sub eax, dword [0x568408]
cmp eax, dword [0x568424]
jge 0x5283e8
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x40]
add eax, dword [0x568424]
mov dword [0x568410], eax
jmp 0x5283e8
mov eax, dword [ebx + 0x254]
add edi, dword [eax + 0x44]
sub edi, dword [0x568418]
mov dword [0x568404], edi
mov eax, dword [0x56840c]
sub eax, dword [0x568404]
cmp eax, dword [0x568420]
jge 0x528315
mov eax, dword [0x56840c]
sub eax, dword [0x568420]
mov dword [0x568404], eax
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x40]
add eax, dword [esp + 4]
sub eax, dword [0x568414]
mov dword [0x568408], eax
mov eax, dword [0x568410]
sub eax, dword [0x568408]
cmp eax, dword [0x568424]
jge 0x5283e8
mov eax, dword [0x568410]
sub eax, dword [0x568424]
mov dword [0x568408], eax
jmp 0x5283e8
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x44]
mov edx, dword [ebx + 0x254]
add eax, dword [edx + 0x4c]
add edi, eax
sub edi, dword [0x568418]
mov dword [0x56840c], edi
mov eax, dword [0x56840c]
sub eax, dword [0x568404]
cmp eax, dword [0x568420]
jge 0x5283a0
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x44]
add eax, dword [0x568420]
mov dword [0x56840c], eax
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x40]
mov edx, dword [ebx + 0x254]
add eax, dword [edx + 0x48]
add eax, dword [esp + 4]
sub eax, dword [0x568414]
mov dword [0x568410], eax
mov eax, dword [0x568410]
sub eax, dword [0x568408]
cmp eax, dword [0x568424]
jge 0x5283e8
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x40]
add eax, dword [0x568424]
mov dword [0x568410], eax
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.005305dc
jmp case.0x5256e8.0
mov eax, dword [esi + 4]
add eax, 0xfffffffe
sub eax, 2
jb case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov eax, ebx
call fcn.005216dc
test al, al
je 0x528487
cmp dword [ebx + 0x270], 0
je 0x528446
cmp dword [esi + 4], 0xffffffff
jne 0x528446
mov edx, esi
mov eax, dword [ebx + 0x270]
call fcn.00539bb8
mov dword [esi + 4], eax
jmp 0x528452
mov edx, esi
mov eax, ebx
call fcn.00523f84
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
add eax, 0xfffffffe
sub eax, 2
jae case.0x5256e8.0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052bb34
mov byte [0x5658f0], 0
movsx ecx, word [esi + 0xa]
movsx edx, word [esi + 8]
mov eax, ebx
call fcn.0052f264
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov edx, esi
mov eax, ebx
call fcn.00535928
jmp case.0x5256e8.0
xor eax, eax
mov dword [esi + 0xc], eax
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
cmp dword [ebx + 0x230], 0
je 0x5284d4
lea eax, [ebx + 0x230]
call fcn.0040ebcc
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
push eax
mov eax, dword [ebx + 0x254]
call fcn.00452748
mov edx, 3
pop ecx
call fcn.005061b4
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
test byte [eax + 0x2f4], 1
jne 0x52855a
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x57], 0
je 0x52855a
mov eax, ebx
call fcn.00520e50
test al, al
jne 0x52855a
mov eax, dword [ebx + 0x50]
mov ax, word [eax + 0x4a]
and ax, 0x800
cmp ax, 0x800
je 0x528547
mov dword [ebx + 0x258], 0xffffffff
mov byte [ebx + 0x23e], 1
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
test byte [ebx + 0x1c], 1
jne case.0x5256e8.0
mov eax, dword [ebx + 0x254]
test byte [eax + 0x2f4], 1
jne case.0x5256e8.0
mov eax, dword [ebx + 0x254]
test byte [eax + 0x1c], 8
jne case.0x5256e8.0
mov eax, dword [ebx + 0x254]
call fcn.00452748
xor ecx, ecx
mov dl, 1
call fcn.00520d9c
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
jne 0x52860f
cmp dword [0x56830c], 0
je 0x52860f
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x254]
call fcn.004660ac
test eax, eax
je 0x52860f
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x254]
call fcn.004660ac
cmp byte [eax + 0x22b], 2
jne 0x52860f
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x254]
call fcn.004660ac
cmp eax, dword [ebx + 0x254]
jne case.0x5256e8.0
cmp byte [ebx + 0xc5], 0
jne 0x52862a
mov eax, ebx
call fcn.0052ff40
test al, al
je 0x52862a
mov byte [ebx + 0xc5], 1
mov eax, dword [esi + 8]
and eax, 8
cmp eax, 8
jne 0x52864d
mov eax, dword [esi + 8]
push eax
mov ecx, dword [esi + 4]
mov edx, 0x14
mov eax, ebx
call fcn.0053309c
jmp case.0x5256e8.0
mov ebp, dword [esi + 4]
mov eax, dword [ebx + 0x50]
mov dword [eax + 0x50], ebp
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x1c], 0
cmp dword [ebx + 0x270], 0
je 0x52875e
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x35], 0
je 0x52867a
mov eax, ebx
call fcn.0052d3a8
push 0xcc0020
push 0
push 0
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
call fcn.00429b20
call fcn.00425170
push eax
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
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.0052f774
push eax
mov eax, ebx
call fcn.0052f6e4
mov edx, eax
mov eax, ebp
pop ecx
call fcn.0044a7a4
lea eax, [esp + 0x34]
push eax
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_GetClientRect
lea eax, [esp + 0x34]
xor edx, edx
call fcn.0053f108
push eax
lea eax, [esp + 0x38]
xor edx, edx
call fcn.0053f0f4
push eax
push 0
push 0
push ebp
call sub.gdi32.dll_IntersectClipRect
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 2
je 0x52898f
lea ecx, [esp + 0x84]
xor edx, edx
xor eax, eax
call fcn.004068f8
lea eax, [esp + 0x84]
push eax
push 0
mov eax, dword [ebx + 0x238]
and eax, 0x200
cmp eax, 0x200
sete al
xor al, 1
push eax
mov cl, 1
mov edx, dword [ebx + 0x254]
mov eax, ebp
call fcn.00505a50
jmp 0x52898f
cmp byte [ebx + 0x78], 0
je 0x5288a1
mov eax, ebx
call fcn.005216dc
test al, al
jne 0x528898
mov eax, dword [ebx + 0x254]
call fcn.00452748
call fcn.005216c4
test al, al
je 0x528898
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x35], 0
je 0x52879f
mov eax, ebx
call fcn.0052d3a8
mov eax, dword [ebx + 0x254]
mov edi, dword [eax + 0x16c]
add edi, 3
push 0xcc0020
push 0
push 0
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
call fcn.00429b20
call fcn.00425170
push eax
push edi
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x48]
push eax
push 0
push 0
push ebp
call sub.gdi32.dll_BitBlt
push 0xcc0020
push edi
push 0
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
call fcn.00429b20
call fcn.00425170
push eax
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
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 + 0x254]
mov eax, dword [eax + 0x4c]
sub eax, edi
push eax
push edi
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
call fcn.00429b20
call fcn.00425170
push eax
push edi
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x48]
sub eax, edi
push eax
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x4c]
sub eax, edi
push eax
push edi
push ebp
call sub.gdi32.dll_BitBlt
push 0xcc0020
push edi
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x2c]
sub eax, edi
push eax
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
call fcn.00429b20
call fcn.00425170
push eax
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
push edi
push edi
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x2c]
sub eax, edi
push eax
push ebp
call sub.gdi32.dll_BitBlt
jmp 0x5288a1
mov edx, ebp
mov eax, ebx
call fcn.0052b2e0
mov eax, ebx
call fcn.0052f774
push eax
mov eax, ebx
call fcn.0052f6e4
mov edx, eax
mov eax, ebp
pop ecx
call fcn.0044a7a4
lea eax, [esp + 0x34]
push eax
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_GetClientRect
lea eax, [esp + 0x34]
xor edx, edx
call fcn.0053f108
push eax
lea eax, [esp + 0x38]
xor edx, edx
call fcn.0053f0f4
push eax
push 0
push 0
push ebp
call sub.gdi32.dll_IntersectClipRect
mov eax, dword [ebx + 0x50]
mov ax, word [eax + 0x4a]
and ax, 1
cmp ax, 1
je 0x528910
mov cl, 1
mov edx, ebp
mov eax, ebx
call fcn.0052b5b8
jmp 0x52898f
push ebp
call sub.gdi32.dll_SaveDC
mov dword [esp], eax
push 0
push 0
xor ecx, ecx
mov edx, dword [ebx + 0x254]
mov eax, ebp
call fcn.005441a8
mov cl, 1
mov edx, ebp
mov eax, ebx
call fcn.0052b5b8
mov eax, dword [esp]
push eax
push ebp
call sub.gdi32.dll_RestoreDC
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 2
je 0x52898f
lea ecx, [esp + 0x84]
xor edx, edx
xor eax, eax
call fcn.004068f8
lea eax, [esp + 0x84]
push eax
push 0
mov eax, dword [ebx + 0x238]
and eax, 0x200
cmp eax, 0x200
sete al
xor al, 1
push eax
mov cl, 1
mov edx, dword [ebx + 0x254]
mov eax, ebp
call fcn.00505a50
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 2
jne 0x5289b8
push 0
push ebp
push 0x317
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x254]
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebx + 0x50]
xor edx, edx
mov dword [eax + 0x50], edx
mov eax, dword [ebx + 0x254]
cmp word [eax + 0x2ba], 0
je case.0x5256e8.0
mov eax, dword [ebx + 0x254]
call fcn.00466294
mov edx, ebp
call fcn.004251f0
mov esi, dword [ebx + 0x254]
mov edx, dword [ebx + 0x254]
mov eax, dword [esi + 0x2bc]
call dword [esi + 0x2b8]
mov eax, dword [ebx + 0x254]
call fcn.00466294
xor edx, edx
call fcn.004251f0
jmp case.0x5256e8.0
xor eax, eax
mov dword [esi + 0xc], eax
jmp case.0x5256e8.0
cmp dword [ebx + 0x25c], 0
jne 0x528a2f
mov eax, ebx
call fcn.00530f5c
cmp byte [ebx + 0x78], 0
je 0x528a96
mov eax, dword [ebx + 0x50]
mov ax, word [eax + 0x4a]
and ax, 0x800
cmp ax, 0x800
je case.0x5256e8.0
mov eax, dword [ebx + 0x50]
mov ax, word [eax + 0x4a]
and ax, 0x400
cmp ax, 0x400
je case.0x5256e8.0
mov eax, ebx
call fcn.00520a48
test al, al
je 0x528a80
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x248]
cmp dword [eax + 0x38], 0
je case.0x5256e8.0
mov eax, dword [ebx + 0x238]
and eax, 0x200
cmp eax, 0x200
je case.0x5256e8.0
cmp byte [ebx + 0x228], 0
je 0x528aad
mov byte [ebx + 0x228], 0
mov eax, ebx
call fcn.00532e9c
mov eax, dword [ebx + 0x254]
cmp dword [eax + 0x30], 0
je 0x528ad4
mov eax, dword [ebx + 0x50]
call fcn.0051c0d8
mov edx, dword [ebx + 0x50]
mov byte [edx + 0x1c], al
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x1c], 0
jne case.0x5256e8.0
cmp byte [ebx + 0x78], 0
je 0x528be9
cmp byte [0x565880], 0
je 0x528afa
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
je 0x528be9
cmp byte [ebx + 0x22f], 0
jne case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x1a6], 0
je case.0x5256e8.0
test byte [ebx + 0x1c], 1
jne case.0x5256e8.0
mov eax, dword [ebx + 0x254]
test byte [eax + 0x55], 2
jne case.0x5256e8.0
cmp dword [ebx + 0x25c], 0
je case.0x5256e8.0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x528b5f
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
jmp 0x528ba9
lea eax, [esp + 0x24]
push eax
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x24]
xor edx, edx
call fcn.0053f0f4
mov edx, dword [ebx + 0x254]
cmp eax, dword [edx + 0x48]
jne case.0x5256e8.0
lea eax, [esp + 0x24]
xor edx, edx
call fcn.0053f108
mov edx, dword [ebx + 0x254]
cmp eax, dword [edx + 0x4c]
jne case.0x5256e8.0
cmp dword [ebx + 0x234], 0
jne 0x528bb9
mov eax, ebx
call fcn.00531400
mov eax, dword [ebx + 0x50]
cmp dword [eax + 0x40], 0
jne 0x528bd8
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
call fcn.005196e4
mov edx, eax
mov eax, ebx
call fcn.0053294c
mov eax, ebx
call fcn.005319dc
xor eax, eax
mov dword [esi + 0xc], eax
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x1a6], 0
je 0x528f66
cmp byte [ebx + 0xa6], 0
je 0x528f66
mov eax, dword [ebx + 0x50]
mov ax, word [eax + 0x4a]
and ax, 0x800
cmp ax, 0x800
je case.0x5256e8.0
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x1c], 0
jne case.0x5256e8.0
mov eax, dword [ebx + 0x254]
test byte [eax + 0x54], 0x80
jne 0x528ead
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x528ead
mov eax, dword [ebx + 0x50]
call fcn.0051a3d8
test al, al
je 0x528ca4
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 2
jne 0x528dd9
mov eax, dword [ebx + 0x254]
call fcn.004660ac
test eax, eax
je 0x528dd9
mov eax, dword [ebx + 0x254]
call fcn.004660ac
cmp byte [eax + 0x22b], 2
jne 0x528dd9
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
jne 0x528d9d
mov eax, dword [ebx + 0x50]
cmp dword [eax + 0x40], 0
je 0x528d9d
cmp dword [0x56830c], 0
je 0x528d9d
lea eax, [esp + 0x34]
push eax
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_GetClientRect
lea edx, [esp + 0x94]
mov eax, dword [ebx + 0x254]
call fcn.0044b808
lea edx, [esp + 0x94]
lea eax, [esp + 0x34]
call fcn.00406900
test al, al
je 0x528d9d
lea edx, [esp + 0x94]
mov eax, dword [ebx + 0x254]
call fcn.0044b808
lea edx, [esp + 0x9c]
lea eax, [esp + 0x34]
call fcn.00406900
test al, al
je 0x528d9d
mov eax, dword [ebx + 0x254]
call fcn.00452748
mov cl, 1
mov edx, dword [ebx + 0x270]
call fcn.00520af8
mov edi, eax
mov dl, 1
mov eax, ebx
call fcn.00522620
add edi, eax
mov eax, ebx
call fcn.0052f868
mov ebp, eax
mov eax, ebx
call fcn.0052ff24
imul ebp, eax
add edi, ebp
inc edi
push edi
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x20]
pop edx
call fcn.0042be1c
mov edx, eax
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
mov edx, dword [esi + 4]
mov eax, ebx
call fcn.00531784
cmp byte [0x5658f4], 0
je 0x528f5a
mov byte [0x5658f4], 0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
jne 0x528f5a
mov dword [0x5658f8], ebx
jmp 0x528f5a
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x1c], 0
jne 0x528f5a
mov eax, dword [ebx + 0x50]
cmp dword [eax + 0x40], 0
je 0x528e9d
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x35], 0
jne 0x528e9d
mov eax, dword [ebx + 0x254]
call fcn.0044b8b0
push eax
lea eax, [esp + 0x98]
push eax
mov eax, dword [ebx + 0x254]
call fcn.0044b86c
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.004068dc
lea eax, [esp + 0x94]
push eax
mov eax, dword [esi + 4]
push eax
push 0
push 0
push 0
mov eax, ebx
call fcn.0052f774
mov edi, eax
mov eax, dword [ebx + 0x254]
call fcn.0044b8b0
add edi, eax
push edi
lea eax, [esp + 0xbc]
push eax
mov eax, ebx
call fcn.0052f6e4
mov edi, eax
mov eax, dword [ebx + 0x254]
call fcn.0044b86c
add edi, eax
push edi
mov eax, ebx
call fcn.0052f774
push eax
mov eax, ebx
call fcn.0052f6e4
pop edx
pop ecx
call fcn.004068dc
lea ecx, [esp + 0xb8]
mov edx, dword [ebx + 0x50]
mov eax, dword [ebx + 0x254]
call fcn.0051db68
mov eax, dword [ebx + 0x254]
call fcn.005057fc
jmp 0x528f5a
cmp dword [esi + 4], 0
je 0x528f5a
mov eax, dword [ebx + 0x50]
cmp byte [eax + 0x35], 0
jne 0x528f5a
mov eax, dword [ebx + 0x50]
call fcn.0051a3d8
test al, al
je 0x528f19
push 0xcc0020
mov eax, ebx
call fcn.0052f774
push eax
mov eax, ebx
call fcn.0052f6e4
push eax
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
call fcn.00429b20
call fcn.00425170
push eax
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x4c]
push eax
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x48]
push eax
push 0
push 0
mov eax, dword [esi + 4]
push eax
call sub.gdi32.dll_BitBlt
jmp 0x528f5a
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x50]
call fcn.0051ad80
push eax
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x4c]
push eax
lea eax, [esp + 0x9c]
push eax
mov eax, dword [ebx + 0x254]
mov ecx, dword [eax + 0x48]
xor edx, edx
xor eax, eax
call fcn.004068dc
lea edx, [esp + 0x98]
mov eax, dword [esi + 4]
pop ecx
call fcn.00543f0c
mov dword [esi + 0xc], 1
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
cmp byte [ebx + 0xa6], 0
je 0x529147
mov eax, dword [ebx + 0x254]
test byte [eax + 0x54], 0x80
jne case.0x5256e8.0
cmp dword [ebx + 0x270], 0
je 0x528fdd
mov eax, ebx
call fcn.00520e50
test al, al
jne 0x528fdd
mov eax, dword [ebx + 0x270]
cmp dword [eax + 0x18], 0
je 0x528fce
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x18]
call fcn.00452748
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x528fdd
mov cl, 0xff
xor edx, edx
mov eax, dword [ebx + 0x270]
call fcn.0053a8ec
mov eax, dword [ebx + 0x50]
call fcn.0051a3d8
test al, al
je 0x5290a0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x1a6], 0
je 0x529090
mov edx, esi
mov eax, ebx
call fcn.00532144
cmp byte [0x5658f4], 0
je 0x529019
mov byte [0x5658f4], 0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 2
jne 0x529089
cmp dword [esi + 4], 0
jne 0x529043
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_GetDC
mov ebp, eax
jmp 0x529046
mov ebp, dword [esi + 4]
lea ecx, [esp + 0x84]
xor edx, edx
xor eax, eax
call fcn.004068f8
lea eax, [esp + 0x84]
push eax
push 0
push 1
mov cl, 1
mov edx, dword [ebx + 0x254]
mov eax, ebp
call fcn.00505a50
cmp dword [esi + 4], 0
jne 0x529089
push ebp
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_ReleaseDC
xor eax, eax
mov dword [esi + 0xc], eax
jmp 0x52910b
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp 0x52910b
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x1a6], 0
je 0x5290fd
test byte [ebx + 0x1c], 8
jne 0x5290ca
push 0xffffffffffffffff
push 0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_InvalidateRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_BeginPaint
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_EndPaint
xor eax, eax
mov dword [esi + 0xc], eax
jmp 0x52910b
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
cmp byte [ebx + 0x78], 0
jne case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp dword [eax + 0x248], 0
je case.0x5256e8.0
push 0
push 0
push 0x85
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SendMessageA
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
cmp dword [0x5652c4], 0
je case.0x5256e8.0
mov eax, dword [ebx + 0x254]
call fcn.00452a4c
test al, al
je case.0x5256e8.0
mov eax, dword [ebx + 0x254]
call fcn.00452748
call fcn.00522720
jmp case.0x5256e8.0
mov edx, esi
mov eax, ebx
call fcn.00534bc8
jmp case.0x5256e8.0
mov edx, esi
mov eax, ebx
call fcn.00535220
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
cmp dword [0x5680ac], 0
je 0x5291e5
mov eax, dword [0x5680ac]
cmp byte [eax + 0x57], 0
je 0x5291e5
mov eax, dword [0x5680ac]
call fcn.004689c8
cmp dword [esi + 4], 1
jne case.0x5256e8.0
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je case.0x5256e8.0
mov eax, dword [ebx + 0x238]
and eax, 0x100
cmp eax, 0x100
je case.0x5256e8.0
cmp dword [ebx + 0x270], 0
je 0x52923a
mov cl, 0xff
xor edx, edx
mov eax, dword [ebx + 0x270]
call fcn.0053a8ec
jmp case.0x5256e8.0
mov eax, dword [0x5660f8]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x254]
jne case.0x5256e8.0
cmp dword [esi + 4], 1
jne case.0x5256e8.0
mov eax, dword [0x5660f8]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp byte [eax + 0x22b], 1
jne case.0x5256e8.0
mov eax, dword [0x5660f8]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
call fcn.00452748
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne case.0x5256e8.0
cmp dword [ebx + 0x224], 0
je 0x5292aa
mov eax, dword [ebx + 0x224]
cmp byte [eax + 0xec], 0
jne case.0x5256e8.0
mov eax, dword [0x5660f8]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
xor edx, edx
call fcn.00466754
push 0xffffffffffffffff
push 0
mov eax, dword [0x5660f8]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
call fcn.00452748
push eax
call sub.user32.dll_InvalidateRect
push 0x585
push 0
push 0
mov eax, dword [0x5660f8]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
call fcn.00452748
push eax
call sub.user32.dll_RedrawWindow
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
jne 0x5293c4
cmp dword [0x56830c], 0
je 0x5293c4
mov eax, dword [0x56830c]
test byte [eax + 0x1c], 8
jne 0x5293c4
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22b], 2
je 0x529392
mov byte [ebx + 0xc5], 0
mov eax, dword [0x56830c]
mov byte [eax + 0x23e], 1
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x35], 1
mov eax, dword [0x56830c]
mov dword [eax + 0x258], 0xffffffff
push 0
push 0
push 0x85
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SendMessageA
jmp 0x5293c4
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x35], 1
push 0
push 0
push 0x85
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SendMessageA
mov al, 1
call fcn.0052479c
mov dword [0x5658f8], ebx
jmp case.0x5256e8.0
cmp byte [ebx + 0x228], 0
je 0x529402
cmp dword [esi + 4], 1
jne 0x529402
mov byte [ebx + 0x228], 0
mov eax, ebx
call fcn.00532e9c
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
call fcn.005196e4
mov edx, eax
mov eax, ebx
call fcn.0053294c
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
cmp dword [esi + 4], 0
jne 0x529457
cmp dword [ebx + 0x50], 0
je 0x52944b
mov eax, dword [ebx + 0x50]
cmp dword [eax + 0x40], 0
je 0x52944b
mov eax, dword [ebx + 0x254]
test byte [eax + 0x1c], 8
jne 0x52944b
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [ebx + 0x50]
mov eax, dword [eax + 0x40]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, ebx
call fcn.00532b74
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp dword [eax + 0x30], 0
je case.0x5256e8.0
mov eax, dword [ebx + 0x254]
call fcn.005057fc
jmp case.0x5256e8.0
cmp byte [ebx + 0x54], 1
jne 0x5294cb
cmp byte [0x5658dc], 0
je 0x5294cb
lea ecx, [esp + 0x84]
movsx edx, word [esi + 0xa]
movsx eax, word [esi + 8]
call fcn.004068f8
lea edx, [esp + 0x84]
lea ecx, [esp + 8]
mov eax, dword [ebx + 0x254]
call fcn.0044b980
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov eax, ebx
call fcn.005304dc
call sub.user32.dll_ReleaseCapture
mov byte [0x5658dc], 0
mov eax, dword [esi + 4]
sub eax, 2
je 0x5294ff
dec eax
jne 0x529604
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
cmp byte [eax + 0x58], 0
jne 0x5294ef
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x1c], 1
mov eax, dword [ebx + 0x254]
call fcn.004689c8
jmp case.0x5256e8.0
mov eax, ebx
call fcn.0052fd4c
test al, al
je 0x529528
mov eax, dword [ebx + 0x25c]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
jne 0x52954c
mov eax, dword [ebx + 0x25c]
mov edx, dword [eax]
call dword [edx + 0x58]
test al, al
jne 0x52954c
mov eax, ebx
call fcn.005216dc
test al, al
jne 0x5295bb
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x5295bb
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22b], 2
je 0x529570
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x52958f
push 0
push 0xf120
push 0x112
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SendMessageA
jmp 0x5295ac
push 0
push 0xf030
push 0x112
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SendMessageA
xor edx, edx
mov eax, dword [ebx + 0x25c]
call fcn.00536e1c
jmp 0x5295fa
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x5295fa
push 0
push 0xf120
push 0x112
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SendMessageA
xor edx, edx
mov eax, dword [ebx + 0x25c]
call fcn.00536e1c
xor eax, eax
mov dword [esi + 4], eax
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 2
jne 0x529634
cmp ebx, dword [0x56830c]
jne 0x529634
mov dword [0x56830c], ebx
mov eax, ebx
call fcn.00520a48
test al, al
je 0x529686
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
test eax, eax
je 0x529686
mov eax, dword [esi + 8]
cmp dword [eax], 1
jne 0x529686
mov eax, dword [esi + 8]
mov edx, dword [eax + 8]
mov eax, dword [ebx + 0x254]
mov eax, dword [eax + 0x248]
xor ecx, ecx
call fcn.0045f5c4
mov edi, eax
test edi, edi
je 0x529686
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0x44]
mov cl, 1
mov edx, edi
call fcn.0050aff8
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
je 0x5298ef
mov ax, word [esi + 4]
sub ax, 0xf012
je 0x5296d5
sub ax, 0xe
je 0x52974b
sub ax, 0x10
je 0x5296e8
sub ax, 0xf0
je 0x5297ac
jmp 0x5298ef
mov eax, dword [ebx + 0x254]
mov edx, dword [eax]
call dword [edx + 0x80]
jmp 0x5298ef
mov eax, dword [ebx + 0x254]
cmp dword [eax + 0x30], 0
jne 0x5298ef
cmp dword [ebx + 0x224], 0
je 0x5298ef
mov eax, dword [ebx + 0x224]
cmp byte [eax + 0xec], 0
je 0x5298ef
call fcn.0053f064
mov byte [esp + 0x12], al
xor eax, eax
call fcn.0053f094
mov eax, ebx
call fcn.0051ff68
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov al, byte [esp + 0x12]
call fcn.0053f094
jmp case.0x5256e8.0
mov eax, dword [0x5660f8]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x254]
je 0x5298ef
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x5298ef
call fcn.0053f064
mov byte [esp + 0x12], al
xor eax, eax
call fcn.0053f094
mov eax, ebx
call fcn.0051fd58
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov al, byte [esp + 0x12]
call fcn.0053f094
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x238]
and eax, 0x200
cmp eax, 0x200
jne 0x529807
and dword [ebx + 0x238], 0xfffffdff
cmp dword [ebx + 0x270], 0
je 0x5297db
mov eax, dword [ebx + 0x270]
mov byte [eax + 0x28], 0
call fcn.0053f064
mov byte [esp + 0x12], al
xor eax, eax
call fcn.0053f094
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov al, byte [esp + 0x12]
call fcn.0053f094
jmp case.0x5256e8.0
mov eax, dword [0x5660f8]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x254]
je 0x5298ef
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x5298a0
call fcn.0053f064
mov byte [esp + 0x12], al
xor eax, eax
call fcn.0053f094
mov eax, ebx
call fcn.0051ff68
cmp dword [ebx + 0x270], 0
je 0x529884
mov eax, dword [ebx + 0x270]
cmp dword [eax + 0x18], 0
jne 0x529884
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov byte [ebx + 0x22c], 0
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x270]
call fcn.0053a8ec
jmp 0x529892
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov al, byte [esp + 0x12]
call fcn.0053f094
jmp case.0x5256e8.0
cmp dword [ebx + 0x270], 0
je 0x5298b5
mov eax, dword [ebx + 0x270]
cmp dword [eax + 0x18], 0
je 0x5298c9
cmp dword [ebx + 0x270], 0
jne 0x5298ef
mov eax, ebx
call fcn.005249d8
test al, al
je 0x5298ef
cmp dword [ebx + 0x270], 0
je 0x5298dd
lea eax, [ebx + 0x270]
call fcn.0040ebcc
mov dl, 1
mov eax, ebx
call fcn.0053294c
xor edx, edx
mov eax, ebx
call fcn.00521724
cmp byte [ebx + 0x54], 1
jne 0x529972
mov eax, dword [ebx + 0x254]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x529972
cmp byte [0x5658dc], 0
jne 0x529972
mov eax, dword [esi + 4]
and eax, 0xfff0
cmp eax, 0xf010
jne 0x52993d
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SetCapture
mov byte [0x5658e0], 1
mov byte [0x5683f8], 1
jmp 0x529972
mov eax, dword [esi + 4]
and eax, 0xfff0
cmp eax, 0xf000
jne 0x529972
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SetCapture
xor eax, eax
mov dword [0x56841c], eax
mov byte [0x5658e0], 1
mov byte [0x5683f8], 0
mov eax, dword [ebx + 0x254]
mov al, byte [eax + 0x22f]
dec al
je 0x52998f
dec al
je 0x529d2d
jmp 0x529db8
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22b], 2
jne 0x5299b6
cmp dword [esi + 4], 0xf030
je 0x5299b6
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22b], 0
jne 0x5299ba
xor eax, eax
jmp 0x5299bc
mov al, 1
mov byte [esp + 0x10], al
cmp byte [esp + 0x10], 0
je 0x5299dd
cmp dword [0x56830c], 0
je 0x5299dd
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x50]
call fcn.0051be6c
mov eax, dword [esi + 4]
and eax, 0xfff0
cmp eax, 0xf060
jg 0x529a07
je 0x529a20
sub eax, 0xf020
je 0x529c0c
sub eax, 0x10
je 0x529c48
jmp 0x529cfe
sub eax, 0xf100
je 0x529d0c
sub eax, 0x20
je 0x529acb
jmp 0x529cfe
cmp dword [0x56830c], 0
je 0x529d0c
cmp dword [0x56830c], 0
je 0x529a52
mov eax, dword [0x56830c]
cmp dword [eax + 0x248], 0
je 0x529a52
cmp byte [esp + 0x10], 0
je 0x529a52
mov al, 1
call fcn.0052479c
mov eax, dword [0x56830c]
mov byte [eax + 0x22b], 1
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, dword [ebx + 0x254]
test byte [eax + 0x1c], 8
jne 0x529a89
test byte [ebx + 0x1c], 8
jne 0x529a89
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.0052bb34
mov eax, dword [0x56830c]
mov byte [eax + 0x22b], 0
cmp dword [0x56830c], 0
je case.0x5256e8.0
mov eax, dword [0x56830c]
cmp dword [eax + 0x248], 0
je case.0x5256e8.0
cmp byte [esp + 0x10], 0
je case.0x5256e8.0
mov al, 1
call fcn.0052479c
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22b], 1
jne 0x529adf
mov byte [esp + 0x10], 1
cmp byte [0x5658f4], 0
jne case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
cmp byte [ebx + 0x78], 0
je 0x529b33
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xfff7ffff
push eax
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SetWindowLongA
push 0x505
push 0
push 0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_RedrawWindow
cmp dword [0x56830c], 0
je 0x529bec
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x254]
call fcn.004660e0
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x529bec
inc ebp
xor edi, edi
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x254]
mov edx, edi
call fcn.0046612c
cmp eax, dword [ebx + 0x254]
je 0x529be8
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x254]
mov edx, edi
call fcn.0046612c
cmp byte [eax + 0x22b], 2
jne 0x529bc2
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x254]
mov edx, edi
call fcn.0046612c
xor edx, edx
call fcn.00466754
push 0x506
push 0
push 0
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x254]
mov edx, edi
call fcn.0046612c
call fcn.00452748
push eax
call sub.user32.dll_RedrawWindow
inc edi
dec ebp
jne 0x529b74
cmp byte [esp + 0x10], 0
je 0x529bfa
mov al, 1
call fcn.0052479c
mov dl, 1
mov eax, dword [ebx + 0x25c]
call fcn.00536e1c
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
cmp byte [esp + 0x10], 0
je 0x529c28
mov al, 1
call fcn.0052479c
mov dl, 1
mov eax, dword [ebx + 0x25c]
call fcn.00536e1c
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
mov al, 1
call fcn.0052479c
jmp case.0x5256e8.0
mov dword [0x5658f8], ebx
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xefffffff
push eax
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SetWindowLongA
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_GetWindowLongA
or eax, 0x10000000
push eax
push 0xfffffffffffffff0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SetWindowLongA
push 0x506
push 0
push 0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_RedrawWindow
cmp dword [0x56830c], 0
je 0x529cec
mov eax, dword [0x56830c]
cmp dword [eax + 0x248], 0
je 0x529cec
mov al, 1
call fcn.0052479c
mov dl, 1
mov eax, dword [ebx + 0x25c]
call fcn.00536e1c
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
cmp dword [0x56830c], 0
je 0x52a016
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x50]
xor edx, edx
call fcn.0051c03c
jmp 0x52a016
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, dword [esi + 4]
sub eax, 0xf020
je 0x529d55
sub eax, 0x10
je 0x529d55
sub eax, 0xf0
jne 0x52a016
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x35], 1
mov eax, dword [0x56830c]
mov dword [eax + 0x258], 0xffffffff
push 0
push 0
push 0x85
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SendMessageA
cmp dword [esi + 4], 0xf030
jne 0x52a016
cmp dword [ebx + 0x270], 0
je 0x52a016
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x270]
call fcn.0053a8ec
jmp 0x52a016
mov eax, dword [esi + 4]
sub eax, 0xf030
jne 0x529de8
cmp dword [ebx + 0x270], 0
je 0x529de8
cmp byte [0x5652f0], 0
jne 0x529ddd
cmp dword [esi + 4], 0xf120
jne 0x529de8
lea eax, [ebx + 0x270]
call fcn.0040ebcc
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, dword [esi + 4]
sub eax, 0xf030
je 0x529f36
sub eax, 0xd0
je 0x529e19
sub eax, 0x20
je 0x529f36
jmp 0x52a016
cmp word [esi + 8], 0x20
jne 0x52a016
mov eax, ebx
call fcn.0052fd4c
test al, al
je 0x52a016
mov eax, ebx
call fcn.005216dc
test al, al
je 0x52a016
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x529ec8
lea edx, [esp + 0x84]
mov eax, ebx
call fcn.0052f158
mov edi, dword [esp + 0x88]
mov dl, 1
mov eax, ebx
call fcn.00522478
add edi, eax
lea eax, [ebx + 0x96]
xor edx, edx
call fcn.0053f108
add edi, eax
sub edi, 0x10
push edi
mov eax, dword [ebx + 0x254]
call fcn.00452748
mov cl, 1
mov edx, dword [ebx + 0x270]
call fcn.00520aa4
mov edi, eax
lea edx, [esp + 0x90]
mov eax, ebx
call fcn.0052f158
add edi, dword [esp + 0x90]
mov edx, edi
mov eax, ebx
pop ecx
call fcn.0052f264
jmp 0x52a016
lea edx, [esp + 0x84]
mov eax, ebx
call fcn.0052f158
mov edi, dword [esp + 0x88]
mov dl, 1
mov eax, ebx
call fcn.00522478
add edi, eax
lea eax, [ebx + 0x96]
xor edx, edx
call fcn.0053f108
add edi, eax
push edi
mov eax, dword [ebx + 0x254]
call fcn.00452748
mov cl, 1
mov edx, dword [ebx + 0x270]
call fcn.00520aa4
mov edi, eax
lea edx, [esp + 0x90]
mov eax, ebx
call fcn.0052f158
add edi, dword [esp + 0x90]
mov edx, edi
mov eax, ebx
pop ecx
call fcn.0052f264
jmp 0x52a016
mov eax, dword [ebx + 0x25c]
mov edx, dword [eax]
call dword [edx + 0x48]
test al, al
je 0x529f4c
mov dword [ebx + 0x38], 9
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.0052bb34
cmp dword [esi + 4], 0xf120
jne 0x52a016
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 1
mov eax, ebx
call fcn.005216dc
test al, al
jne 0x529f90
push 0xffffffffffffffff
push 0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_SetWindowRgn
jmp 0x52a016
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
test eax, eax
je 0x529ffc
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
call fcn.005196e4
test al, al
je 0x529ffc
cmp byte [ebx + 0x79], 0
je 0x529ffc
cmp byte [ebx + 0x78], 0
je 0x529ffc
mov eax, dword [ebx + 0x254]
cmp dword [eax + 0x30], 0
jne 0x529ffc
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
je 0x529ffc
mov dl, 1
mov eax, ebx
call fcn.0053294c
cmp dword [ebx + 0x270], 0
je 0x529ffc
mov byte [ebx + 0x22c], 0
mov cl, 0xff
mov dl, 1
mov eax, dword [ebx + 0x270]
call fcn.0053a8ec
push 0x481
push 0
push 0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_RedrawWindow
mov ax, word [esi + 4]
sub ax, 0xf020
jne case.0x5256e8.0
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x52a03f
mov byte [ebx + 0x22f], 0
cmp dword [ebx + 0x270], 0
je case.0x5256e8.0
mov eax, dword [ebx + 0x270]
cmp dword [eax + 0x18], 0
je case.0x5256e8.0
mov eax, dword [ebx + 0x238]
and eax, 0x100
cmp eax, 0x100
je case.0x5256e8.0
mov eax, dword [ebx + 0x270]
mov byte [eax + 0x28], 1
mov eax, dword [ebx + 0x270]
add eax, 0x18
call fcn.0040ebcc
mov eax, dword [ebx + 0x270]
mov byte [eax + 0x28], 0
jmp case.0x5256e8.0
mov edx, esi
mov eax, ebx
call fcn.005352d8
jmp case.0x5256e8.0
mov byte [0x5652d8], 1
mov eax, dword [0x5660f8]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
jne 0x52a0d5
jmp 0x52a0cc
mov eax, dword [0x5660f8]
mov eax, dword [eax]
call fcn.0046bf5c
cmp dword [0x5652dc], 0
jg 0x52a0c0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
test eax, eax
je 0x52a459
call fcn.0053ff38
test al, al
je 0x52a459
cmp byte [ebx + 0x78], 0
je 0x52a459
cmp dword [ebx + 0x270], 0
je 0x52a151
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x52a151
mov eax, ebx
call fcn.005349a8
mov edi, eax
mov eax, dword [ebx + 0x254]
call fcn.00520b0c
add eax, 4
cmp edi, eax
setg al
mov byte [ebx + 0x214], al
jmp 0x52a158
mov byte [ebx + 0x214], 0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 0x80
cmp eax, 0x80
jne 0x52a30d
cmp byte [ebx + 0x22e], 0
jne 0x52a30d
mov eax, dword [ebx + 0x50]
cmp dword [eax + 0x40], 0
je 0x52a30d
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne 0x52a30d
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
cmp byte [eax + 0xcc], 2
jne 0x52a1f6
mov eax, dword [0x5660f8]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x254]
jne 0x52a1f6
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x52a30d
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov byte [ebx + 0x22f], 0
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
cmp byte [eax + 0xcc], 2
je 0x52a2ea
cmp byte [ebx + 0x95], 0
je 0x52a2c5
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x52a2c5
mov eax, dword [ebx + 0x254]
cmp dword [eax + 0x30], 0
jne 0x52a2c5
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
je 0x52a2c5
call fcn.00520d08
test al, al
je 0x52a26c
mov eax, dword [ebx + 0x254]
call fcn.00452748
mov cl, 1
mov dl, 1
call fcn.005248e8
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov byte [ebx + 0x22e], 1
mov eax, ebx
call fcn.005036c0
mov eax, dword [0x5660f8]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
jne case.0x5256e8.0
call fcn.00520d08
test al, al
je 0x52a2b9
mov eax, dword [ebx + 0x254]
call fcn.00452748
mov cl, 1
xor edx, edx
call fcn.005248e8
mov byte [ebx + 0x22e], 0
jmp case.0x5256e8.0
cmp dword [ebx + 0x270], 0
je 0x52a30d
mov eax, dword [ebx + 0x270]
cmp dword [eax + 0x18], 0
je 0x52a30d
mov eax, dword [ebx + 0x270]
add eax, 0x18
call fcn.0040ebcc
jmp 0x52a30d
cmp dword [ebx + 0x270], 0
je 0x52a30d
mov eax, dword [ebx + 0x270]
cmp dword [eax + 0x18], 0
je 0x52a30d
mov eax, dword [ebx + 0x270]
add eax, 0x18
call fcn.0040ebcc
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
cmp byte [ebx + 0x22c], 0
jne case.0x5256e8.0
cmp dword [ebx + 0x270], 0
je case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x57], 0
je case.0x5256e8.0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne case.0x5256e8.0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 8
cmp eax, 8
je case.0x5256e8.0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 0x20
cmp eax, 0x20
je case.0x5256e8.0
mov eax, dword [ebx + 0x238]
and eax, 0x80
cmp eax, 0x80
je case.0x5256e8.0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
and eax, 3
cmp eax, 3
jne 0x52a445
mov eax, dword [ebx + 0x270]
cmp dword [eax + 0x18], 0
je 0x52a445
call fcn.00520d08
test al, al
je 0x52a413
mov eax, dword [0x5660f8]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
cmp eax, dword [ebx + 0x254]
jne 0x52a413
mov eax, dword [ebx + 0x254]
call fcn.00452748
mov esi, eax
call sub.user32.dll_GetActiveWindow
cmp esi, eax
jne 0x52a413
push 0x65b
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x18]
call fcn.00452748
push eax
call sub.user32.dll_SetWindowPos
jmp case.0x5256e8.0
push 0x65b
push 0
push 0
push 0
push 0
mov eax, dword [ebx + 0x254]
call fcn.00452748
push eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x18]
call fcn.00452748
push eax
call sub.user32.dll_SetWindowPos
jmp case.0x5256e8.0
mov cl, 0xff
xor edx, edx
mov eax, dword [ebx + 0x270]
call fcn.0053a8ec
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
cmp byte [ebx + 0x95], 0
je 0x52a5e0
mov eax, dword [ebx + 0x50]
call fcn.0051c0c8
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x52a5e0
cmp byte [ebx + 0x78], 0
je 0x52a5e0
mov eax, dword [ebx + 0x238]
and eax, 0x200
cmp eax, 0x200
je 0x52a5e0
mov eax, dword [ebx + 0x254]
cmp dword [eax + 0x30], 0
jne 0x52a5e0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, dword [ebx + 0x254]
test byte [eax + 0x1c], 8
jne case.0x5256e8.0
or dword [ebx + 0x238], 0x200
mov dl, 1
mov eax, ebx
call fcn.00520830
mov edx, dword [ebx + 0x50]
mov dword [edx + 0x40], eax
and dword [ebx + 0x238], 0xfffffdff
mov eax, dword [ebx + 0x50]
mov byte [eax + 0x35], 0
cmp dword [ebx + 0x270], 0
je case.0x5256e8.0
mov eax, dword [ebx + 0x270]
cmp dword [eax + 0x18], 0
je case.0x5256e8.0
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x18]
call fcn.00452a4c
test al, al
je case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x2e0], 0
je 0x52a55a
mov eax, dword [ebx + 0x254]
movzx edi, byte [eax + 0x2e1]
jmp 0x52a55f
mov edi, 0xff
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebx + 0x270]
call fcn.0053b970
push eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x18]
call fcn.00452748
push eax
call sub.user32.dll_SetWindowRgn
push 0
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x18]
call fcn.00452748
mov edx, dword [ebx + 0x50]
mov edx, dword [edx + 0x40]
mov ecx, edi
call fcn.0051fa38
push 0x65b
push 0
push 0
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x40]
push eax
push 0
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x18]
call fcn.00452748
push eax
call sub.user32.dll_SetWindowPos
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
jne 0x52a667
cmp dword [0x56830c], 0
jne 0x52a621
mov eax, dword [0x5660f8]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
call fcn.00452748
xor edx, edx
call fcn.004d52e8
cmp dword [0x56830c], 0
je 0x52a660
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x254]
call fcn.004660ac
test eax, eax
je 0x52a660
mov eax, dword [0x56830c]
mov eax, dword [eax + 0x254]
call fcn.004660ac
cmp byte [eax + 0x22b], 2
jne 0x52a660
mov byte [0x5658f4], 1
jmp 0x52a667
mov byte [0x5658f4], 0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x22f], 1
je case.0x5256e8.0
mov eax, ebx
call fcn.00530f5c
jmp case.0x5256e8.0
cmp dword [ebx + 0x254], 0
je 0x52a77e
test byte [ebx + 0x1c], 1
jne 0x52a77e
mov eax, dword [ebx + 0x254]
test byte [eax + 0x1c], 1
jne 0x52a77e
cmp word [esi + 4], 1
je 0x52a6cd
cmp word [esi + 4], 2
jne 0x52a77e
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
cmp dword [ebx + 0x234], 0
je 0x52a730
cmp word [esi + 4], 1
jne 0x52a730
cmp dword [esi + 8], 0
je 0x52a723
mov edx, dword [0x5660f8]
mov edx, dword [edx]
mov eax, dword [esi + 8]
call fcn.00524a28
test eax, eax
jne 0x52a714
xor edx, edx
mov eax, dword [ebx + 0x234]
call fcn.00537a64
jmp 0x52a730
mov edx, eax
mov eax, dword [ebx + 0x234]
call fcn.0053750c
jmp 0x52a730
xor edx, edx
mov eax, dword [ebx + 0x234]
call fcn.00537a64
push 0
lea eax, [esp + 0x18]
push eax
mov dx, 0x24
xor eax, eax
call fcn.00407790
mov edx, eax
mov ecx, 1
mov eax, 0xa100
call fcn.0053efd0
lea edx, [esp + 0x14]
mov eax, dword [ebx + 0x254]
call fcn.00506360
cmp byte [ebx + 0x78], 0
je case.0x5256e8.0
mov dl, 1
mov eax, dword [ebx + 0x230]
call fcn.004e0cd4
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, dword [esi + 8]
mov eax, dword [eax + 8]
sub eax, 0xfffffdd9
jne case.0x5256e8.0
cmp dword [ebx + 0x234], 0
je case.0x5256e8.0
xor edx, edx
mov eax, dword [ebx + 0x234]
call fcn.00537a64
jmp case.0x5256e8.0
cmp dword [esi + 4], 0
je 0x52a85d
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov eax, dword [esi + 4]
mov edx, dword [0x447bf4]
call fcn.004038c8
test al, al
je 0x52a83f
cmp dword [ebx + 0x234], 0
je 0x52a810
mov edx, dword [esi + 4]
mov eax, dword [ebx + 0x234]
call fcn.0053750c
push 0
lea eax, [esp + 0x18]
push eax
mov dx, 0x24
xor eax, eax
call fcn.00407790
mov edx, eax
mov ecx, 1
mov eax, 0xa100
call fcn.0053efd0
lea edx, [esp + 0x14]
mov eax, dword [esi + 4]
call fcn.00506360
push 1
mov dx, 0x24
xor eax, eax
call fcn.00407790
mov ecx, eax
mov eax, dword [esi + 4]
mov edx, 0xa100
call fcn.0044d034
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp case.0x5256e8.0
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
add esp, 0xb4
pop ebp
pop edi
pop esi
pop ebx
ret