Function at 0x5312ff
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
push 0x2f8
mov eax, 0x5e0753
call fcn.00506dfb
mov ebx, ecx
mov dword [ebp - 0x2e8], ebx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x2f0], eax
xor eax, eax
cmp dword [ebx], eax
jne 0x53133e
xor al, al
jmp 0x531eb2
lea edi, [ebx + 0x17c]
mov byte [ebp - 0x2e4], al
push eax
mov ecx, edi
mov dword [ebp - 0x2fc], edi
call fcn.00523b78
mov esi, eax
test esi, esi
je 0x5313dc
lea eax, [ebx + 0x134]
mov ebx, eax
push 0
mov ecx, edi
call fcn.005245f3
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x53138e
add ecx, 0x38
call fcn.00537121
test al, al
je 0x53138e
mov ecx, dword [esi + 4]
push esi
add ecx, 0x38
call fcn.00537137
mov ecx, ebx
xor edi, edi
call fcn.00523ef7
test eax, eax
jle 0x5313b6
push edi
mov ecx, ebx
call fcn.005234cc
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
mov ecx, ebx
inc edi
call fcn.00523ef7
cmp edi, eax
jl 0x53139b
xor eax, eax
mov ecx, esi
inc eax
push eax
call fcn.0052ff5d
mov edi, dword [ebp - 0x2fc]
mov ecx, edi
push 0
call fcn.00523b78
mov esi, eax
test esi, esi
jne 0x531366
mov ebx, dword [ebp - 0x2e8]
and dword [ebp - 0x2d8], 0
lea ecx, [ebx + 0x158]
call fcn.00523ef7
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0x2cc]
test eax, eax
jle 0x531451
mov ecx, dword [ebp - 0x2d8]
push ecx
lea ecx, [ebx + 0x158]
mov byte [ebp - 0x2d1], 0
call fcn.005234cc
lea ecx, [ebp - 0x2d1]
push ecx
push edi
push dword [ebp - 0x2d0]
mov edx, dword [eax]
mov ecx, eax
push esi
call dword [edx]
cmp byte [ebp - 0x2d1], 0
jne 0x5314cd
inc dword [ebp - 0x2d8]
lea ecx, [ebx + 0x158]
call fcn.00523ef7
mov ecx, dword [ebp - 0x2d8]
cmp ecx, eax
jl 0x531401
mov eax, 0x111
cmp esi, eax
ja 0x532637
je 0x532617
cmp esi, 0x47
ja 0x532258
je 0x5321c1
cmp esi, 0x10
ja 0x531f9a
je 0x531eba
sub esi, 5
je 0x531dad
dec esi
sub esi, 1
je 0x531d49
sub esi, 1
je 0x531d03
sub esi, 7
jne 0x531e21
push esi
lea eax, [ebp - 0x228]
xorps xmm0, xmm0
push eax
push dword [ebx]
movups xmmword [ebp - 0x228], xmm0
call dword [sym.imp.USER32.dll_GetUpdateRect]
test eax, eax
jne 0x5314dd
xor eax, eax
inc eax
jmp 0x5321b6
mov ecx, dword [ebp - 0x2f0]
mov dword [ecx], eax
xor eax, eax
inc eax
jmp 0x531eb2
cmp dword [ebx + 0x70], 0
jne 0x531516
push 0x40
lea eax, [ebp - 0x2c8]
push 0
push eax
call fcn.0056b050
add esp, 0xc
lea eax, [ebp - 0x2c8]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_BeginPaint]
lea eax, [ebp - 0x2c8]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_EndPaint]
jmp 0x5314c5
lea eax, [ebp - 0x238]
xorps xmm0, xmm0
push eax
push dword [ebx]
movups xmmword [ebp - 0x238], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
mov edi, dword [ebp - 0x230]
mov esi, dword [ebp - 0x22c]
sub edi, dword [ebp - 0x238]
sub esi, dword [ebp - 0x234]
cmp byte [ebx + 0x112], 0
mov dword [ebp - 0x2d0], edi
mov dword [ebp - 0x2e4], esi
mov byte [ebp - 0x2d1], 0
je 0x53165d
lea eax, [ebp - 0x238]
mov byte [ebx + 0x112], 0
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x53165d
mov ecx, dword [ebx + 0x70]
call fcn.0053935a
mov ecx, dword [ebx + 0x70]
test al, al
je 0x5315b4
sub esp, 0x10
lea esi, [ebp - 0x238]
mov edi, esp
xor eax, eax
inc eax
mov byte [ebp - 0x2d1], al
mov eax, dword [ecx]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [eax + 0xc8]
jmp 0x53161a
mov eax, dword [ecx]
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 0x534ed2
call dword [eax + 0x1d0]
mov dword [ebp - 0x2d8], eax
test eax, eax
je 0x531626
mov ebx, dword [eax]
mov ecx, eax
call dword [ebx + 0xc4]
mov ecx, dword [ebp - 0x2d8]
sub esp, 0x10
mov esi, eax
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [ebx + 0xc8]
mov ebx, dword [ebp - 0x2e8]
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 0x534ed2
mov ecx, dword [ebx + 0x70]
mov eax, dword [ecx]
call dword [eax + 0x1d0]
mov dword [ebp - 0x2d8], eax
test eax, eax
jne 0x5315d2
mov edi, dword [ebp - 0x2d0]
mov esi, dword [ebp - 0x2e4]
cmp byte [ebx + 0x110], 0
je 0x531649
xor eax, eax
mov ecx, ebx
push eax
push eax
push eax
push str.windowinit
push dword [ebx + 0x70]
mov byte [ebx + 0x110], al
call fcn.00533ccf
xor eax, eax
mov ecx, ebx
push eax
push eax
push eax
push str.windowsized
push dword [ebx + 0x70]
call fcn.00533ccf
push 0x40
lea eax, [ebp - 0x288]
push 0
push eax
call fcn.0056b050
add esp, 0xc
lea eax, [ebp - 0x288]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_BeginPaint]
cmp byte [ebx + 0x114], 0
je 0x53190f
mov esi, dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xffffffffffffffec
push dword [ebx]
call esi
mov ecx, 0x80000
test ecx, eax
jne 0x5316b4
or eax, ecx
push eax
push 0xffffffffffffffec
push dword [ebx]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0xffffffffffffffec
push dword [ebx]
call esi
cmp byte [ebp - 0x2d1], 0
je 0x5316f7
cmp dword [ebx + 0xc], 0
lea esi, [ebp - 0x238]
lea edi, [ebp - 0x228]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
je 0x5316e0
push dword [ebx + 0xc]
call dword [sym.imp.GDI32.dll_DeleteDC]
and dword [ebx + 0xc], 0
cmp dword [ebx + 0x10], 0
je 0x5316f3
push dword [ebx + 0x10]
call dword [sym.imp.GDI32.dll_DeleteObject]
and dword [ebx + 0x10], 0
and dword [ebx + 0x14], 0
cmp dword [ebx + 0xc], 0
jne 0x53172c
push dword [ebx + 8]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, dword [ebp - 0x2e4]
push 0x20
mov dword [ebx + 0xc], eax
lea eax, [ebx + 0x14]
push eax
push esi
push dword [ebp - 0x2d0]
push dword [ebx + 8]
call fcn.00551145
add esp, 0x14
mov dword [ebx + 0x10], eax
jmp 0x531732
mov esi, dword [ebp - 0x2e4]
mov edi, esi
mov ecx, esi
sub edi, dword [ebp - 0x224]
sub ecx, dword [ebp - 0x21c]
cmp ecx, edi
jge 0x5317a6
mov esi, dword [ebp - 0x2d0]
mov edx, dword [ebp - 0x220]
sub edx, dword [ebp - 0x228]
shl esi, 2
mov dword [ebp - 0x2fc], esi
mov esi, ecx
imul esi, dword [ebp - 0x2d0]
shl edx, 2
mov dword [ebp - 0x2d8], edx
add esi, dword [ebp - 0x228]
shl esi, 2
sub edi, ecx
mov eax, dword [ebx + 0x14]
push edx
add eax, esi
push 0
push eax
call fcn.0055f45a
add esi, dword [ebp - 0x2fc]
add esp, 0xc
mov edx, dword [ebp - 0x2d8]
sub edi, 1
jne 0x53177e
mov esi, dword [ebp - 0x2e4]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebx + 0x70]
lea edx, [ebp - 0x228]
push 0
push edx
push dword [ebx + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x1f0]
lea ecx, [ebx + 0x164]
xor edi, edi
call fcn.00523ef7
test eax, eax
jle 0x531810
lea esi, [ebx + 0x164]
push edi
mov ecx, esi
call fcn.005234cc
push 0
lea ecx, [ebp - 0x228]
push ecx
mov edx, dword [eax]
mov ecx, eax
push dword [ebx + 0xc]
call dword [edx + 0x220]
mov ecx, esi
inc edi
call fcn.00523ef7
cmp edi, eax
jl 0x5317e0
mov esi, dword [ebp - 0x2e4]
lea edi, [ebx + 0x220]
mov ecx, edi
call fcn.005272ba
test al, al
je 0x531873
xor eax, eax
mov ecx, edi
mov dword [ebp - 0x304], eax
mov dword [ebp - 0x300], eax
mov dword [ebp - 0x2fc], eax
lea eax, [ebp - 0x304]
push eax
call fcn.00526fe1
test al, al
je 0x531ca3
push esi
push dword [ebp - 0x2d0]
mov ecx, edi
push 0
push 0
push dword [ebx + 0xc]
call fcn.0052762f
lea eax, [ebp - 0x304]
mov ecx, edi
push eax
call fcn.00527198
jmp 0x531ca3
mov al, byte [ebx + 4]
xorps xmm0, xmm0
mov byte [ebp - 0x2d6], al
xor eax, eax
inc eax
mov word [ebp - 0x2d8], 0
mov byte [ebp - 0x2d5], al
lea eax, [ebp - 0x248]
push eax
push dword [ebx]
movups xmmword [ebp - 0x248], xmm0
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x248]
xor ecx, ecx
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2d0]
push 2
mov dword [ebp - 0x2ec], eax
lea eax, [ebp - 0x2d8]
push eax
push ecx
lea eax, [ebp - 0x300]
mov dword [ebp - 0x2e8], esi
push eax
push dword [ebx + 0xc]
lea eax, [ebp - 0x2ec]
mov dword [ebp - 0x300], ecx
push eax
lea eax, [ebp - 0x2f4]
mov dword [ebp - 0x2fc], ecx
push eax
push ecx
push dword [ebx]
call dword [sym.imp.USER32.dll_UpdateLayeredWindow]
jmp 0x531ca3
call fcn.005240b0
test al, al
je 0x531a94
lea ecx, [ebx + 0x220]
call fcn.005272ba
test al, al
je 0x531a11
xor eax, eax
lea ecx, [ebx + 0x220]
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 0x2d8], eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.00526fe1
test al, al
je 0x531ca3
lea eax, [ebx + 0xc]
push eax
lea eax, [ebx + 0x18]
push eax
push 2
lea eax, [ebp - 0x238]
push eax
push dword [ebp - 0x2e0]
lea ecx, [ebx + 0x30]
call fcn.0055a0c8
mov ecx, dword [ebx + 0x70]
lea edx, [ebp - 0x228]
push 1
push edx
push dword [ebx + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x1f0]
and dword [ebp - 0x2fc], 0
lea ecx, [ebx + 0x164]
call fcn.00523ef7
test eax, eax
jle 0x5319eb
mov edi, dword [ebp - 0x2fc]
lea esi, [ebx + 0x164]
push edi
mov ecx, esi
call fcn.005234cc
push 1
lea ecx, [ebp - 0x228]
push ecx
mov edx, dword [eax]
mov ecx, eax
push dword [ebx + 0xc]
call dword [edx + 0x220]
mov ecx, esi
inc edi
call fcn.00523ef7
cmp edi, eax
jl 0x5319b5
mov esi, dword [ebp - 0x2e4]
mov edi, dword [ebp - 0x2d0]
push esi
push edi
push 0
push 0
push dword [ebx + 0xc]
lea esi, [ebx + 0x220]
mov ecx, esi
call fcn.0052762f
lea eax, [ebp - 0x2e0]
mov ecx, esi
push eax
call fcn.00527198
jmp 0x531a83
lea esi, [ebx + 0xc]
push esi
lea eax, [ebx + 0x18]
push eax
push 2
lea eax, [ebp - 0x238]
push eax
push dword [ebp - 0x288]
lea ecx, [ebx + 0x30]
call fcn.0055a0c8
mov ecx, dword [ebx + 0x70]
lea edx, [ebp - 0x228]
push 0
push edx
push dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x1f0]
lea edi, [ebx + 0x164]
xor esi, esi
mov ecx, edi
call fcn.00523ef7
test eax, eax
jle 0x531a83
push esi
mov ecx, edi
call fcn.005234cc
push 0
lea ecx, [ebp - 0x228]
push ecx
mov edx, dword [eax]
mov ecx, eax
push dword [ebx + 0xc]
call dword [edx + 0x220]
mov ecx, edi
inc esi
call fcn.00523ef7
cmp esi, eax
jl 0x531a59
xor eax, eax
lea ecx, [ebx + 0x30]
inc eax
push eax
call fcn.0055a0fc
jmp 0x531ca3
cmp byte [ebp - 0x2d1], 0
je 0x531ac3
cmp dword [ebx + 0xc], 0
je 0x531ab0
push dword [ebx + 0xc]
call dword [sym.imp.GDI32.dll_DeleteDC]
and dword [ebx + 0xc], 0
cmp dword [ebx + 0x10], 0
je 0x531ac3
push dword [ebx + 0x10]
call dword [sym.imp.GDI32.dll_DeleteObject]
and dword [ebx + 0x10], 0
cmp dword [ebx + 0xc], 0
jne 0x531af1
cmp dword [ebx + 0x10], 0
jne 0x531af1
push dword [ebx + 8]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push 0x20
mov dword [ebx + 0xc], eax
lea eax, [ebx + 0x14]
push eax
push esi
push edi
push dword [ebx + 8]
call fcn.00551145
add esp, 0x14
mov dword [ebx + 0x10], eax
push dword [ebx + 0x10]
push dword [ebx + 0xc]
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebx + 0xc]
mov dword [ebp - 0x2e8], eax
call dword [sym.imp.GDI32.dll_SaveDC]
lea ecx, [ebx + 0x220]
mov dword [ebp - 0x2d8], eax
call fcn.005272ba
test al, al
je 0x531beb
xor eax, eax
lea ecx, [ebx + 0x220]
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 0x2f0], eax
lea eax, [ebp - 0x2f8]
push eax
call fcn.00526fe1
test al, al
je 0x531c85
mov ecx, dword [ebx + 0x70]
lea edx, [ebp - 0x228]
push 1
push edx
push dword [ebx + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x1f0]
and dword [ebp - 0x2fc], 0
lea ecx, [ebx + 0x164]
call fcn.00523ef7
test eax, eax
jle 0x531bc2
mov edi, dword [ebp - 0x2fc]
lea esi, [ebx + 0x164]
push edi
mov ecx, esi
call fcn.005234cc
push 1
lea ecx, [ebp - 0x228]
push ecx
mov edx, dword [eax]
mov ecx, eax
push dword [ebx + 0xc]
call dword [edx + 0x220]
mov ecx, esi
inc edi
call fcn.00523ef7
cmp edi, eax
jl 0x531b8c
mov esi, dword [ebp - 0x2e4]
mov edi, dword [ebp - 0x2d0]
push esi
push edi
push 0
push 0
push dword [ebx + 0xc]
lea esi, [ebx + 0x220]
mov ecx, esi
call fcn.0052762f
lea eax, [ebp - 0x2f8]
mov ecx, esi
push eax
call fcn.00527198
jmp 0x531c85
mov ecx, dword [ebx + 0x70]
lea edx, [ebp - 0x228]
push 0
push edx
push dword [ebx + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x1f0]
lea edi, [ebx + 0x164]
xor esi, esi
mov ecx, edi
call fcn.00523ef7
test eax, eax
jle 0x531c3f
push esi
mov ecx, edi
call fcn.005234cc
push 0
lea ecx, [ebp - 0x228]
push ecx
mov edx, dword [eax]
mov ecx, eax
push dword [ebx + 0xc]
call dword [edx + 0x220]
mov ecx, edi
inc esi
call fcn.00523ef7
cmp esi, eax
jl 0x531c15
mov eax, dword [ebp - 0x21c]
sub eax, dword [ebp - 0x224]
push 0xcc0020
push dword [ebp - 0x224]
push dword [ebp - 0x228]
push dword [ebx + 0xc]
push eax
mov eax, dword [ebp - 0x220]
sub eax, dword [ebp - 0x228]
push eax
push dword [ebp - 0x224]
push dword [ebp - 0x228]
push dword [ebp - 0x288]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0x2d8]
push dword [ebx + 0xc]
call dword [sym.imp.GDI32.dll_RestoreDC]
push dword [ebp - 0x2e8]
push dword [ebx + 0xc]
call dword [sym.imp.GDI32.dll_SelectObject]
lea eax, [ebp - 0x288]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_EndPaint]
cmp byte [ebx + 0x112], 0
je 0x531cc7
push 0
push 0
push dword [ebx]
call dword [sym.imp.USER32.dll_InvalidateRect]
cmp byte [ebx + 0x111], 0
je 0x5314d5
xor eax, eax
mov byte [ebx + 0x111], 0
inc eax
lea ecx, [ebx + 0x1cc]
push eax
call fcn.0056035f
xor eax, eax
mov ecx, ebx
push eax
push eax
push eax
push str.windowshow
push dword [ebx + 0x70]
call fcn.00533ccf
jmp 0x5314d5
cmp dword [ebx + 0x74], 0
je 0x531e21
push 0xffffffffffffffff
push 0
push 0x200
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [ebx + 0x74]
test edx, edx
je 0x531e21
push 8
pop ecx
xor eax, eax
mov byte [ebp - 0x26c], 0
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x268], 0x1a
jmp 0x531d72
mov edx, dword [ebx + 0x74]
test edx, edx
je 0x531e21
push 8
pop ecx
xor eax, eax
mov byte [ebp - 0x26c], 0
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x268], 0x1b
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x264], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x74]
mov dword [ebp - 0x260], eax
lea edx, [ebp - 0x26c]
mov eax, dword [ecx]
push edx
jmp 0x53293d
mov edx, dword [ebx + 0x74]
test edx, edx
je 0x531e0e
push 8
xor eax, eax
mov byte [ebp - 0x26c], 0
pop ecx
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x268], 0x1c
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x264], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x74]
lea edx, [ebp - 0x26c]
mov dword [ebp - 0x260], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x1dc]
mov ecx, dword [ebx + 0x70]
test ecx, ecx
je 0x531e1a
call fcn.005393e3
mov ecx, ebx
call fcn.005345f2
lea edi, [ebx + 0x17c]
push 0
mov ecx, edi
call fcn.00523b78
mov esi, eax
test esi, esi
je 0x531eac
add ebx, 0x134
push 0
mov ecx, edi
call fcn.005245f3
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x531e64
add ecx, 0x38
call fcn.00537121
test al, al
je 0x531e64
mov ecx, dword [esi + 4]
push esi
add ecx, 0x38
call fcn.00537137
mov ecx, ebx
xor edi, edi
call fcn.00523ef7
test eax, eax
jle 0x531e8c
push edi
mov ecx, ebx
call fcn.005234cc
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
mov ecx, ebx
inc edi
call fcn.00523ef7
cmp edi, eax
jl 0x531e71
xor eax, eax
mov ecx, esi
inc eax
push eax
call fcn.0052ff5d
mov edi, dword [ebp - 0x2fc]
mov ecx, edi
push 0
call fcn.00523b78
mov esi, eax
test esi, esi
jne 0x531e3c
mov al, byte [ebp - 0x2e4]
call fcn.00506da5
ret 0x10
xor eax, eax
mov byte [ebp - 0x26c], 0
push 8
pop ecx
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebx + 0x84]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebx + 0x88]
mov dword [ebp - 0x258], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x78]
mov dword [ebp - 0x260], eax
test ecx, ecx
je 0x531f30
mov dword [ebp - 0x268], 0xb
lea edx, [ebp - 0x26c]
mov dword [ebp - 0x264], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x1dc]
mov ecx, dword [ebx + 0x7c]
test ecx, ecx
je 0x531f56
mov dword [ebp - 0x268], 0xf
lea edx, [ebp - 0x26c]
mov dword [ebp - 0x264], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x1dc]
xor eax, eax
mov dword [ebx + 0x74], eax
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x7c], eax
call dword [sym.imp.USER32.dll_GetFocus]
mov edi, dword [sym.imp.USER32.dll_SetFocus]
mov esi, eax
push esi
call edi
test esi, esi
jne 0x531e21
push 4
push dword [ebx]
call dword [sym.imp.USER32.dll_GetWindow]
test eax, eax
je 0x531e21
push eax
call edi
jmp 0x531e21
cmp esi, 0x14
je 0x5321ab
cmp esi, 0x20
je 0x5320b3
cmp esi, 0x24
jne 0x531e21
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0x270]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x270]
mov dword [ebp - 0x270], 0x28
push eax
xor eax, eax
inc eax
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_MonitorFromWindow]
push eax
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
lea esi, [ebp - 0x25c]
xor eax, eax
lea edi, [ebp - 0x238]
inc eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0x24c], eax
je 0x532020
mov eax, dword [ebp - 0x258]
neg eax
push eax
mov eax, dword [ebp - 0x25c]
neg eax
push eax
lea eax, [ebp - 0x238]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [ebp - 0x2cc]
mov ecx, dword [ebp - 0x238]
mov edx, dword [ebp - 0x234]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x230]
sub eax, ecx
mov ecx, dword [ebp - 0x2cc]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x22c]
sub eax, edx
mov dword [ecx + 0xc], eax
lea eax, [ebp - 0x2dc]
push eax
mov ecx, ebx
call fcn.00530df2
lea eax, [ebp - 0x2ec]
mov ecx, ebx
push eax
call fcn.00530d87
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x2cc]
test ecx, ecx
jle 0x532083
mov dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0x2d8]
test ecx, ecx
jle 0x532090
mov dword [eax + 0x1c], ecx
mov ecx, dword [ebp - 0x2ec]
test ecx, ecx
jle 0x53209d
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x2e8]
test ecx, ecx
jle 0x531e21
mov dword [eax + 0x24], ecx
jmp 0x531e21
cmp byte [ebx + 0x130], 0
je 0x531e21
xor eax, eax
inc eax
cmp di, ax
jne 0x531e21
cmp byte [ebx + 0x12e], 0
jne 0x5321b6
and dword [ebp - 0x2dc], 0
lea eax, [ebp - 0x2dc]
and dword [ebp - 0x2d8], 0
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x2dc]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebp - 0x2d8]
mov ecx, ebx
push dword [ebp - 0x2dc]
call fcn.0053079d
mov esi, eax
test esi, esi
je 0x531e21
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x10]
test al, 2
je 0x531e21
xor eax, eax
mov byte [ebp - 0x26c], 0
push 8
pop ecx
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x268], 0x1d
mov dword [ebp - 0x258], eax
call fcn.00524231
mov word [ebp - 0x252], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x260], eax
lea ecx, [ebp - 0x26c]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x1dc]
jmp 0x5314c5
mov ecx, dword [ebp - 0x2f0]
xor eax, eax
inc eax
mov dword [ecx], eax
mov byte [ebp - 0x2e4], al
jmp 0x531e21
cmp byte [ebx + 0x114], 0
je 0x531e21
push 0
push dword [ebx]
call dword [sym.imp.USER32.dll_GetWindow]
mov esi, eax
test esi, esi
je 0x531e21
mov ebx, dword [ebp - 0x2d0]
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.0056b050
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push esi
call dword [sym.imp.USER32.dll_GetClassNameW]
lea eax, [ebp - 0x218]
push str.editwnd
push eax
call fcn.0059b558
pop ecx
pop ecx
test eax, eax
jne 0x53223e
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x53223e
push edi
push ebx
push 0x47
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
push 2
push esi
call dword [sym.imp.USER32.dll_GetWindow]
mov esi, eax
test esi, esi
jne 0x5321e8
mov ebx, dword [ebp - 0x2e8]
jmp 0x531e21
mov eax, 0x86
cmp esi, eax
ja 0x532406
je 0x5323b6
sub esi, 0x4e
je 0x532387
sub esi, 0x2d
je 0x5322b1
sub esi, 8
je 0x5314c5
dec esi
sub esi, 1
jne 0x531e21
xor eax, eax
mov ecx, ebx
inc eax
push eax
mov byte [ebp - 0x2e4], al
call fcn.0053115d
test al, al
je 0x531e21
mov byte [ebp - 0x2e4], 0
jmp 0x531e21
cmp byte [ebx + 0x130], 0
je 0x531e21
mov ecx, dword [ebp - 0x2cc]
movsx eax, cx
mov dword [ebp - 0x2dc], eax
mov eax, ecx
shr eax, 0x10
cwde
mov dword [ebp - 0x2d8], eax
lea eax, [ebp - 0x2dc]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebp - 0x2d8]
mov ecx, ebx
push dword [ebp - 0x2dc]
call fcn.0053079d
mov esi, eax
test esi, esi
je 0x531e21
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x18]
cmp eax, ebx
jne 0x531e21
mov ecx, ebx
call fcn.0053350f
xor eax, eax
mov byte [ebp - 0x26c], 0
push 8
pop ecx
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2cc]
mov ecx, dword [ebp - 0x2d0]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x268], 0x17
mov dword [ebp - 0x250], ecx
mov dword [ebp - 0x264], esi
mov dword [ebp - 0x258], eax
mov word [ebp - 0x252], cx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x260], eax
jmp 0x532932
mov eax, dword [ebp - 0x2cc]
test eax, eax
je 0x5314c5
push eax
push dword [ebp - 0x2d0]
push 0x204e
push dword [eax]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0x2f0]
mov dword [ecx], eax
jmp 0x5314c5
mov esi, dword [ebp - 0x2d0]
lea ecx, [ebx + 0x1cc]
test esi, esi
setne al
movzx eax, al
push eax
call fcn.00560270
xor eax, eax
mov ecx, ebx
inc eax
push eax
call fcn.0053115d
mov ecx, dword [ebp - 0x2e4]
test al, al
push 1
movzx ecx, cl
pop eax
cmove ecx, eax
xor eax, eax
mov dword [ebp - 0x2e4], ecx
test esi, esi
mov ecx, dword [ebp - 0x2f0]
sete al
mov dword [ecx], eax
jmp 0x531e21
sub esi, 0x100
je 0x532573
sub esi, 1
je 0x5324cb
sub esi, 1
jne 0x531e21
cmp byte [ebx + 0x130], 0
je 0x531e21
cmp dword [ebx + 0x74], esi
je 0x531e21
push 8
pop ecx
xor eax, eax
mov byte [ebp - 0x26c], 0
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x268], 5
mov eax, dword [ebp - 0x2cc]
mov ecx, dword [ebp - 0x2d0]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebx + 0x84]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebx + 0x88]
mov dword [ebp - 0x250], ecx
mov word [ebp - 0x254], cx
mov dword [ebp - 0x258], eax
call fcn.00524231
mov word [ebp - 0x252], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x74]
lea edx, [ebp - 0x26c]
mov dword [ebp - 0x260], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x1dc]
cmp byte [ebp - 0x26c], 0
je 0x531e21
jmp 0x5314d5
cmp byte [ebx + 0x130], 0
je 0x531e21
cmp dword [ebx + 0x80], 0
je 0x531e21
xor eax, eax
mov byte [ebp - 0x26c], 0
push 8
pop ecx
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2cc]
mov ecx, dword [ebp - 0x2d0]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebx + 0x84]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebx + 0x88]
mov dword [ebp - 0x268], 4
mov dword [ebp - 0x250], ecx
mov word [ebp - 0x254], cx
mov dword [ebp - 0x258], eax
call fcn.00524231
mov word [ebp - 0x252], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x80]
lea edx, [ebp - 0x26c]
mov dword [ebp - 0x260], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x1dc]
and dword [ebx + 0x80], 0
jmp 0x531e21
cmp byte [ebx + 0x130], 0
je 0x531e21
cmp dword [ebx + 0x74], 0
je 0x531e21
xor eax, eax
mov byte [ebp - 0x26c], 0
push 8
pop ecx
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2cc]
mov ecx, dword [ebp - 0x2d0]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebx + 0x84]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebx + 0x88]
mov dword [ebp - 0x268], 3
mov dword [ebp - 0x250], ecx
mov word [ebp - 0x254], cx
mov dword [ebp - 0x258], eax
call fcn.00524231
mov word [ebp - 0x252], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x74]
lea edx, [ebp - 0x26c]
mov dword [ebp - 0x260], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x1dc]
mov eax, dword [ebx + 0x74]
mov dword [ebx + 0x80], eax
jmp 0x531e21
mov eax, dword [ebp - 0x2cc]
test eax, eax
je 0x531e21
push eax
push dword [ebp - 0x2d0]
push 0x2111
push eax
jmp 0x5323a3
mov eax, 0x20a
cmp esi, eax
ja 0x532c85
je 0x532ba9
add eax, 0xfffffff8
cmp esi, eax
ja 0x532a26
je 0x53296a
mov eax, esi
sub eax, 0x133
je 0x532948
sub eax, 5
je 0x532948
sub eax, 0xc8
je 0x532772
sub eax, 1
jne 0x531e21
cmp byte [ebx + 0x130], al
je 0x531e21
mov eax, dword [ebp - 0x2cc]
movsx ecx, ax
shr eax, 0x10
cwde
push eax
mov dword [ebp - 0x2d8], ecx
mov dword [ebx + 0x84], ecx
push ecx
mov ecx, ebx
mov dword [ebp - 0x2e8], eax
mov dword [ebx + 0x88], eax
call fcn.0053079d
mov esi, eax
test esi, esi
jne 0x5326d2
push dword [ebx]
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x531e21
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
cmp eax, ebx
jne 0x531e21
mov ecx, ebx
call fcn.00534022
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1a8]
push 8
pop ecx
xor eax, eax
mov byte [ebp - 0x26c], 0
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x268], 0xe
mov eax, dword [ebp - 0x2cc]
mov ecx, dword [ebp - 0x2d0]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x250], ecx
mov dword [ebp - 0x264], esi
mov dword [ebp - 0x258], eax
mov word [ebp - 0x252], cx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x260], eax
lea ecx, [ebp - 0x26c]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x1dc]
mov dword [ebx + 0x7c], esi
jmp 0x531e21
cmp byte [ebx + 0x12d], 0
jne 0x5327e0
xor eax, eax
lea edi, [ebp - 0x234]
cmp dword [ebx + 0x38], 0
stosd dword es:[edi], eax
push 3
pop ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebx]
mov dword [ebp - 0x238], 0x10
mov dword [ebp - 0x234], ecx
mov dword [ebp - 0x230], eax
jne 0x5327b3
mov dword [ebp - 0x22c], 0x190
jmp 0x5327ca
push 0
push ecx
push 0x415
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x22c], eax
lea eax, [ebp - 0x238]
push eax
call dword [sym.imp.COMCTL32.dll__TrackMouseEvent]
xor eax, eax
inc eax
mov byte [ebx + 0x12d], al
cmp byte [ebx + 0x130], 0
je 0x531e21
mov eax, dword [ebp - 0x2cc]
movsx ecx, ax
shr eax, 0x10
cwde
push eax
mov dword [ebp - 0x2d8], ecx
mov dword [ebx + 0x84], ecx
push ecx
mov ecx, ebx
mov dword [ebp - 0x2e8], eax
mov dword [ebx + 0x88], eax
call fcn.0053079d
mov esi, eax
test esi, esi
je 0x532830
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x18]
cmp eax, ebx
jne 0x531e21
xor eax, eax
mov byte [ebp - 0x26c], 0
push 8
pop ecx
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x258], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp byte [ebx + 0x12e], 0
mov dword [ebp - 0x260], eax
jne 0x5328fe
mov ecx, dword [ebx + 0x78]
cmp esi, ecx
je 0x5328d1
test ecx, ecx
je 0x5328d1
mov dword [ebp - 0x268], 0xb
lea edx, [ebp - 0x26c]
mov dword [ebp - 0x264], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x1dc]
and dword [ebx + 0x78], 0
cmp dword [ebx + 0x38], 0
je 0x5328d1
lea eax, [ebx + 0x3c]
push eax
push 0
push 0x411
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp esi, dword [ebx + 0x78]
je 0x5328fe
test esi, esi
je 0x5328fe
mov dword [ebp - 0x268], 0xc
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x264], esi
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x1dc]
mov dword [ebx + 0x78], esi
mov ecx, dword [ebx + 0x7c]
test ecx, ecx
je 0x53291a
mov dword [ebp - 0x268], 0xa
mov dword [ebp - 0x264], ecx
jmp 0x531d9f
test esi, esi
je 0x531e21
mov dword [ebp - 0x268], 0xa
mov dword [ebp - 0x264], esi
mov eax, dword [esi]
lea ecx, [ebp - 0x26c]
push ecx
mov ecx, esi
call dword [eax + 0x1dc]
jmp 0x531e21
mov ecx, dword [ebp - 0x2cc]
test ecx, ecx
je 0x531e21
push ecx
push dword [ebp - 0x2d0]
lea eax, [esi + 0x2000]
push eax
push ecx
jmp 0x5323a3
cmp byte [ebx + 0x130], 0
je 0x531e21
mov eax, dword [ebp - 0x2cc]
movsx esi, ax
shr eax, 0x10
cmp dword [ebx + 0x7c], 0
cwde
mov dword [ebp - 0x2d8], eax
mov dword [ebx + 0x84], esi
mov dword [ebx + 0x88], eax
je 0x531e21
mov ecx, ebx
call fcn.0053350f
push 8
pop ecx
xor eax, eax
mov byte [ebp - 0x26c], 0
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x268], 0xf
mov eax, dword [ebx + 0x7c]
mov ecx, dword [ebp - 0x2d0]
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x250], ecx
mov dword [ebp - 0x25c], esi
mov dword [ebp - 0x258], eax
mov word [ebp - 0x252], cx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x7c]
lea edx, [ebp - 0x26c]
mov dword [ebp - 0x260], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x1dc]
and dword [ebx + 0x7c], 0
jmp 0x531e21
sub esi, 0x203
je 0x532b28
sub esi, 1
je 0x532aa0
sub esi, 1
jne 0x531e21
cmp byte [ebx + 0x130], 0
je 0x531e21
mov eax, dword [ebp - 0x2cc]
movsx esi, ax
shr eax, 0x10
cmp dword [ebx + 0x7c], 0
cwde
mov dword [ebp - 0x2d8], eax
mov dword [ebx + 0x84], esi
mov dword [ebx + 0x88], eax
je 0x531e21
mov ecx, ebx
call fcn.0053350f
push 8
pop ecx
xor eax, eax
mov byte [ebp - 0x26c], 0
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x268], 0x12
jmp 0x5329c5
cmp byte [ebx + 0x130], 0
je 0x531e21
mov eax, dword [ebp - 0x2cc]
movsx ecx, ax
shr eax, 0x10
cwde
push eax
mov dword [ebp - 0x2d8], ecx
mov dword [ebx + 0x84], ecx
push ecx
mov ecx, ebx
mov dword [ebp - 0x2e8], eax
mov dword [ebx + 0x88], eax
call fcn.0053079d
mov esi, eax
test esi, esi
je 0x531e21
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x18]
cmp eax, ebx
jne 0x531e21
mov ecx, ebx
call fcn.00534022
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1a8]
push 8
pop ecx
xor eax, eax
mov byte [ebp - 0x26c], 0
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x268], 0x11
jmp 0x532710
cmp byte [ebx + 0x130], 0
je 0x531e21
mov eax, dword [ebp - 0x2cc]
movsx ecx, ax
shr eax, 0x10
cwde
push eax
mov dword [ebp - 0x2d8], ecx
mov dword [ebx + 0x84], ecx
push ecx
mov ecx, ebx
mov dword [ebp - 0x2e8], eax
mov dword [ebx + 0x88], eax
call fcn.0053079d
mov esi, eax
test esi, esi
je 0x531e21
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x18]
cmp eax, ebx
jne 0x531e21
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1a8]
push 8
pop ecx
xor eax, eax
mov byte [ebp - 0x26c], 0
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x268], 0x10
jmp 0x532710
cmp byte [ebx + 0x130], 0
je 0x531e21
mov ecx, dword [ebp - 0x2cc]
movsx eax, cx
mov dword [ebp - 0x2dc], eax
mov eax, ecx
shr eax, 0x10
cwde
mov dword [ebp - 0x2d8], eax
lea eax, [ebp - 0x2dc]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2dc]
push eax
mov dword [ebx + 0x84], ecx
push ecx
mov ecx, ebx
mov dword [ebx + 0x88], eax
call fcn.0053079d
mov esi, eax
test esi, esi
je 0x531e21
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x18]
cmp eax, ebx
jne 0x531e21
xor eax, eax
mov byte [ebp - 0x26c], 0
push 8
pop ecx
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2d0]
shr eax, 0x10
shr eax, 0xf
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x268], 0x18
mov dword [ebp - 0x264], esi
mov dword [ebp - 0x258], eax
call fcn.00524231
mov word [ebp - 0x252], ax
jmp 0x532376
sub esi, 0x286
je 0x533226
sub esi, 0x1b
je 0x53304b
dec esi
sub esi, 1
je 0x533009
sub esi, 0x75
je 0x532dfd
sub esi, 8
je 0x532dd0
sub esi, 0xeb
je 0x532d11
sub esi, 0x7bf6
jne 0x531e21
lea esi, [ebx + 0x170]
xor edi, edi
mov ecx, esi
call fcn.00523ef7
test eax, eax
jle 0x532d05
xor ebx, ebx
inc ebx
push edi
mov ecx, esi
call fcn.005234cc
test eax, eax
je 0x532cf3
mov edx, dword [eax]
mov ecx, eax
push ebx
call dword [edx]
mov ecx, esi
inc edi
call fcn.00523ef7
cmp edi, eax
jl 0x532ce0
mov ebx, dword [ebp - 0x2e8]
mov ecx, esi
call fcn.005246e3
jmp 0x531e21
mov eax, dword [ebp - 0x2d0]
lea ecx, [ebx + 0x220]
movzx eax, ax
push eax
mov dword [ebp - 0x2d8], eax
call fcn.005275e2
lea esi, [ebx + 0x140]
xor edi, edi
mov ecx, esi
call fcn.00523ef7
test eax, eax
jle 0x531e21
push edi
mov ecx, esi
call fcn.005234cc
mov esi, eax
mov ecx, dword [esi + 8]
cmp ecx, dword [ebx]
jne 0x532d65
mov eax, dword [ebp - 0x2d8]
cmp dword [esi + 0xc], eax
jne 0x532d65
cmp byte [esi + 0x10], 0
je 0x532d7c
lea esi, [ebx + 0x140]
inc edi
mov ecx, esi
call fcn.00523ef7
cmp edi, eax
jl 0x532d43
jmp 0x531e21
xor eax, eax
mov byte [ebp - 0x2ac], 0
push 8
pop ecx
lea edi, [ebp - 0x2a8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x28c], eax
mov eax, dword [esi]
mov dword [ebp - 0x2a4], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x2a8], 0x1e
mov dword [ebp - 0x290], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esi]
lea edx, [ebp - 0x2ac]
mov dword [ebp - 0x2a0], eax
jmp 0x531da5
call fcn.00524184
test al, al
je 0x531e21
mov ecx, ebx
call fcn.0053119c
test al, al
je 0x531e21
mov eax, dword [ebp - 0x2d0]
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], edi
jmp 0x531e21
lea eax, [ebp - 0x238]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_GetClientRect]
push 0
mov ecx, ebx
call fcn.0053115d
test al, al
je 0x532eb1
and dword [ebp - 0x2d8], 0
lea eax, [ebp - 0x2d8]
push eax
lea eax, [ebx + 0x18]
push eax
push 2
lea eax, [ebp - 0x238]
push eax
push dword [ebp - 0x2d0]
lea ecx, [ebx + 0x30]
call fcn.0055a0c8
mov ecx, dword [ebx + 0x70]
lea edx, [ebp - 0x238]
push 0
push edx
push dword [ebp - 0x2d8]
mov eax, dword [ecx]
call dword [eax + 0x1f0]
lea edi, [ebx + 0x164]
xor esi, esi
mov ecx, edi
call fcn.00523ef7
test eax, eax
jle 0x532ea0
push esi
mov ecx, edi
call fcn.005234cc
push 0
lea ecx, [ebp - 0x238]
push ecx
mov edx, dword [eax]
mov ecx, eax
push dword [ebp - 0x2d8]
call dword [edx + 0x220]
mov ecx, edi
inc esi
call fcn.00523ef7
cmp esi, eax
jl 0x532e73
xor eax, eax
lea ecx, [ebx + 0x30]
inc eax
push eax
call fcn.0055a0fc
jmp 0x531e21
mov esi, dword [ebp - 0x2d0]
push esi
call dword [sym.imp.GDI32.dll_SaveDC]
mov ecx, dword [ebx + 0x70]
mov dword [ebp - 0x2f0], eax
lea eax, [ebp - 0x238]
push 0
push eax
mov edx, dword [ecx]
push esi
call dword [edx + 0x1f0]
lea eax, [ebx + 0x164]
xor edi, edi
mov ecx, eax
mov dword [ebp - 0x2d8], eax
call fcn.00523ef7
test eax, eax
jle 0x532f26
mov ebx, dword [ebp - 0x2d8]
push edi
mov ecx, ebx
call fcn.005234cc
push 0
lea ecx, [ebp - 0x238]
push ecx
mov edx, dword [eax]
mov ecx, eax
push esi
call dword [edx + 0x220]
mov ecx, ebx
inc edi
call fcn.00523ef7
cmp edi, eax
jl 0x532ef8
mov ebx, dword [ebp - 0x2e8]
test byte [ebp - 0x2cc], 0x10
je 0x532ff7
push 5
push dword [ebx]
jmp 0x532fe7
lea eax, [ebp - 0x228]
xorps xmm0, xmm0
push eax
push edi
movups xmmword [ebp - 0x228], xmm0
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0x228]
push eax
push dword [ebx]
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [ebp - 0x224]
push 0
neg eax
push eax
mov eax, dword [ebp - 0x228]
neg eax
push eax
push esi
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.0056b050
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push edi
call dword [sym.imp.USER32.dll_GetClassNameW]
lea eax, [ebp - 0x218]
push str.editwnd
push eax
call fcn.0059b558
pop ecx
pop ecx
test eax, eax
jne 0x532fe4
push edi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x532fe4
mov eax, dword [ebp - 0x2cc]
or eax, 2
push eax
push esi
push 0x317
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
push 2
push edi
call dword [sym.imp.USER32.dll_GetWindow]
mov edi, eax
test edi, edi
jne 0x532f3c
push dword [ebp - 0x2f0]
push esi
call dword [sym.imp.GDI32.dll_RestoreDC]
jmp 0x531e21
cmp dword [ebx + 0x38], 0
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
je 0x533025
lea eax, [ebx + 0x3c]
push eax
push 0
push 0x411
push dword [ebx + 0x38]
call esi
cmp byte [ebx + 0x12d], 0
je 0x531e21
push 0xffffffffffffffff
push 0
push 0x200
push dword [ebx]
call esi
mov byte [ebx + 0x12d], 0
jmp 0x531e21
cmp byte [ebx + 0x130], 0
mov byte [ebx + 0x12d], 0
je 0x531e21
mov eax, dword [ebp - 0x2cc]
movsx ecx, ax
shr eax, 0x10
cwde
push eax
mov dword [ebp - 0x2e8], ecx
push ecx
mov ecx, ebx
mov dword [ebp - 0x2f0], eax
call fcn.0053079d
mov esi, eax
test esi, esi
je 0x531e21
mov edx, dword [ebx + 0x78]
test edx, edx
je 0x533104
xor eax, eax
mov byte [ebp - 0x26c], 0
push 8
pop ecx
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x268], 0xd
mov dword [ebp - 0x264], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x78]
lea edx, [ebp - 0x26c]
mov dword [ebp - 0x260], eax
push edx
mov eax, dword [ecx]
call dword [eax + 0x1dc]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x14c]
push eax
lea ecx, [ebp - 0x2d8]
call fcn.00413f09
mov eax, dword [ebp - 0x2d8]
and dword [ebp - 4], 0
cmp dword [eax - 0xc], 0
je 0x53320f
lea eax, [ebp - 0x2d8]
push eax
call fcn.00523b3f
push 0x30
lea edi, [ebx + 0x3c]
push 0
push edi
call fcn.0056b050
xor eax, eax
mov dword [edi], 0x30
inc eax
add esp, 0x10
mov dword [ebx + 0x40], eax
mov eax, dword [ebx]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x48], eax
mov ecx, dword [0x686d48]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov dword [ebx + 0x5c], eax
mov ecx, esi
mov eax, dword [ebp - 0x2d8]
mov dword [ebx + 0x60], eax
mov eax, dword [esi]
call dword [eax + 0xc4]
cmp dword [ebx + 0x38], 0
lea edi, [ebx + 0x4c]
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
jne 0x5331e4
mov ecx, dword [0x686d48]
push 0
mov eax, dword [ecx]
call dword [eax + 0x10]
push eax
xor ecx, ecx
mov eax, SysReAllocString
push ecx
push dword [ebx]
push eax
push eax
push eax
push eax
push SysStringLen
push ecx
push str.tooltips_class32
push ecx
call dword [sym.imp.USER32.dll_CreateWindowExW]
lea edi, [ebx + 0x3c]
mov dword [ebx + 0x38], eax
push edi
push 0
push 0x432
push eax
call esi
push dword [ebx + 0x6c]
push 0
push 0x418
push dword [ebx + 0x38]
call esi
jmp 0x5331e7
lea edi, [ebx + 0x3c]
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x53320f
push edi
push eax
push 0x436
push dword [ebx + 0x38]
call esi
push edi
xor eax, eax
inc eax
push eax
push 0x411
push dword [ebx + 0x38]
call esi
mov ecx, dword [ebp - 0x2d8]
or dword [ebp - 4], 0xffffffff
lea ecx, [ecx - 0x10]
call fcn.00412ac4
jmp 0x531e21
cmp byte [ebx + 0x130], 0
je 0x531e21
cmp dword [ebx + 0x74], 0
je 0x531e21
push 8
pop ecx
xor eax, eax
mov byte [ebp - 0x26c], 0
lea edi, [ebp - 0x268]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x268], 6
jmp 0x532458