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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa4
push ebx
push esi
push edi
mov ebx, edx
mov dword [ebp - 0x44], eax
mov eax, dword [ebx]
sub eax, 5
je 0x802806
sub eax, 0xa0fb
jne 0x8028a4
movzx eax, word [ebx + 6]
sub ax, 7
je 0x8027b7
sub ax, 0x17
je 0x8027c3
sub ax, 0x26
je 0x8027ef
jmp 0x8028a4
mov dword [ebx + 0xc], 1
jmp 0x8035e9
mov edx, ebx
mov eax, dword [ebp - 0x44]
call fcn.0080ae90
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
call fcn.0082b528
test al, al
jne 0x8028a4
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov byte [eax + 0x2a], 0
jmp 0x8028a4
mov edx, ebx
mov eax, dword [ebp - 0x44]
call fcn.00803a68
test al, al
jne 0x8035e9
jmp 0x8028a4
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x80281a
mov al, 1
jmp 0x802830
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
push 0xfffffffffffffff0
push eax
call sub.user32.dll_GetWindowLongW
test eax, 0x10000000
setne al
test al, al
je 0x802838
mov al, 1
jmp 0x802848
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
cmp dword [eax + 0x98], 0
sete al
test al, al
je 0x802850
mov al, 1
jmp 0x802862
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x98]
movzx eax, byte [eax + 0x69]
xor al, 1
test al, al
je 0x80286a
mov al, 1
jmp 0x802877
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
cmp byte [eax + 0x2d], 0xe7
setne al
test al, al
je 0x80287f
mov al, 1
jmp 0x80288d
mov eax, dword [ebp - 0x44]
mov edx, dword [0x7fb208]
call fcn.00408484
test al, al
je 0x8035e9
mov edx, ebx
mov eax, dword [ebp - 0x44]
call fcn.0080ae90
jmp 0x8035e9
mov eax, dword [ebp - 0x44]
mov esi, dword [eax + 0x68]
test esi, esi
je 0x8028bb
mov eax, esi
xor edx, edx
call fcn.0083d52c
test al, al
jne 0x8028ca
mov edx, ebx
mov eax, dword [ebp - 0x44]
call fcn.0080ae90
jmp 0x8035e9
mov esi, dword [ebx]
mov eax, esi
cmp eax, 0x85
jg 0x802926
je 0x802fff
add eax, 0xfffffff9
cmp eax, 0xd
ja case.0x8028e7.9
jmp dword [eax*4 + 0x8028ee]
sub eax, 0x317
je 0x802964
sub eax, 0x9de9
je 0x80294d
sub eax, 0xf0c
je case.0x8028e7.12
sub eax, 2
je case.0x8028e7.12
jmp case.0x8028e7.9
mov edx, ebx
mov eax, dword [ebp - 0x44]
call fcn.00803a68
test al, al
jne 0x8035e9
jmp case.0x8028e7.9
mov eax, dword [ebx + 4]
push eax
lea eax, [ebx + 8]
push eax
mov ecx, esi
mov eax, dword [ebp - 0x44]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x44]
call fcn.0080e054
mov edi, eax
mov dword [ebx + 0xc], edi
cmp edi, 2
je 0x8035e9
mov eax, dword [ebp - 0x44]
add eax, 0x1c
push eax
mov eax, dword [ebp - 0x44]
add eax, 0x3c
push eax
mov eax, dword [ebp - 0x44]
add eax, 0x44
push eax
mov eax, dword [ebp - 0x44]
lea ecx, [eax + 0xc]
mov eax, dword [ebp - 0x44]
lea edx, [eax + 0x34]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
call fcn.007fbfb4
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov byte [eax + 0x29], 0
mov byte [eax + 0x90], 1
mov eax, dword [ebx + 4]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x44]
cmp byte [eax + 9], 0
jne 0x8029de
mov eax, dword [ebp - 0x44]
mov edx, dword [eax]
call dword [edx + 0x14]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
test eax, eax
je 0x8035e9
cmp byte [eax + 0x90], 0
je 0x802a07
mov edx, dword [ebp - 0x44]
movzx ecx, byte [edx + 4]
mov edx, dword [ebp - 0x44]
mov edx, dword [edx + 0x38]
call fcn.007fce1c
mov eax, dword [ebp - 0x44]
cmp byte [eax + 4], 0
jne 0x802a20
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov ecx, dword [ebp - 0x44]
xor edx, edx
call fcn.007fc6f4
test byte [ebx + 8], 4
je 0x802a86
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x8c]
neg ecx
mov eax, dword [ebp - 0x44]
mov edx, dword [eax + 0x84]
neg edx
mov eax, dword [ebp - 0x48]
call fcn.00544e74
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x24]
mov edx, dword [ebp - 0x44]
sub eax, dword [edx + 0x90]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x30]
mov edx, dword [ebp - 0x44]
sub eax, dword [edx + 0x88]
push eax
push 0
push 0
mov eax, dword [ebp - 0x48]
push eax
call sub.gdi32.dll_IntersectClipRect
jmp 0x802b08
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x4c]
call fcn.005209e0
call fcn.0051a144
push eax
push 0
push 0
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x84]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x8c]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x88]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x90]
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0x48]
call fcn.0089a9f8
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x44]
mov edx, dword [eax + 0x38]
or ecx, 0xffffffff
mov eax, dword [ebp - 0x44]
call fcn.007ff580
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x48]
push eax
call sub.gdi32.dll_SaveDC
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x8c]
mov eax, dword [ebp - 0x44]
mov edx, dword [eax + 0x84]
mov eax, dword [ebp - 0x48]
call fcn.00544e74
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x80]
test eax, eax
je 0x802be6
mov edx, dword [ebp - 0x44]
cmp dword [edx + 0x7c], 0
je 0x802be6
xor esi, esi
cmp byte [eax + 0x24], 0
je 0x802b77
xor ecx, ecx
mov edx, 1
call fcn.007fdbcc
mov esi, eax
mov eax, dword [ebp - 0x44]
cmp byte [eax + 0x78], 0
je 0x802b77
xor ecx, ecx
mov edx, esi
mov eax, dword [ebp - 0x48]
call fcn.00544e74
mov eax, dword [ebp - 0x44]
mov edi, dword [eax + 0x7c]
mov eax, edi
xor ecx, ecx
mov edx, 1
call fcn.007fdbcc
movzx edx, byte [edi + 0x24]
imul edx
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x24]
mov edx, dword [ebp - 0x44]
sub eax, dword [edx + 0x8c]
mov edx, dword [ebp - 0x44]
sub eax, dword [edx + 0x90]
pop edx
sub eax, edx
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x30]
mov edx, dword [ebp - 0x44]
sub eax, dword [edx + 0x84]
mov edx, dword [ebp - 0x44]
sub eax, dword [edx + 0x88]
sub eax, esi
push eax
push 0
push 0
mov eax, dword [ebp - 0x48]
push eax
call sub.gdi32.dll_IntersectClipRect
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov esi, dword [eax + 0x4c]
test byte [ebx + 8], 4
je 0x802c2a
push 0xcc0020
push 0
push 0
mov eax, esi
call fcn.005209e0
call fcn.0051a144
push eax
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
push 0
push 0
mov eax, dword [ebp - 0x48]
push eax
call sub.gdi32.dll_BitBlt
jmp 0x802c6d
push 0xcc0020
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x8c]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x84]
push eax
mov eax, esi
call fcn.005209e0
call fcn.0051a144
push eax
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
push 0
push 0
mov eax, dword [ebp - 0x48]
push eax
call sub.gdi32.dll_BitBlt
push 0
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
mov esi, dword [ebp - 0x48]
mov ecx, esi
mov edx, 0xf
call fcn.00831ef8
push 0x24
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
mov ecx, esi
mov edx, 0x318
call fcn.00831ef8
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x48]
push eax
call sub.gdi32.dll_RestoreDC
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
movzx eax, byte [eax + 0x2d]
sub al, 0xa
jne 0x8035e9
jmp case.0x8028e7.9
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov byte [eax + 0x90], 1
test byte [eax + 0x6d], 0x20
jne case.0x8028e7.9
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
cmp byte [eax + 0x29], 0
jne case.0x8028e7.9
cmp dword [eax + 0x44], 0
jg case.0x8028e7.9
push 0x405
push 0
push 0
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je case.0x8028e7.9
mov eax, dword [ebp - 0x44]
cmp byte [eax + 0x7a], 0
jne case.0x8028e7.9
mov esi, dword [ebx + 4]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
cmp esi, dword [eax + 0x48]
je 0x802d4f
lea eax, [ebp - 0x5c]
push eax
push esi
call sub.gdi32.dll_GetClipBox
dec eax
jne 0x802d4f
mov dword [ebx + 0xc], 1
jmp 0x8035e9
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
xor edx, edx
call fcn.0083a200
test al, al
jne 0x8035e9
mov eax, dword [ebp - 0x44]
movzx edx, byte [0x8035f0]
not edx
and byte [eax + 0xac], dl
mov eax, dword [ebp - 0x44]
cmp byte [eax + 9], 0
jne 0x802d87
mov eax, dword [ebp - 0x44]
mov edx, dword [eax]
call dword [edx + 0x14]
mov eax, dword [ebp - 0x44]
cmp byte [eax + 0xae], 0
je 0x802daf
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
push eax
call sub.user32.dll_IsWindowEnabled
test eax, eax
jne 0x802daf
mov dword [ebx + 0xc], 1
jmp 0x8035e9
mov eax, dword [0x90d764]
cmp dword [eax], 6
jl case.0x8028e7.9
mov eax, dword [0x90d3f8]
cmp byte [eax], 0
je case.0x8028e7.9
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x44]
mov edx, dword [edx + 0x68]
cmp eax, dword [edx + 0x48]
je case.0x8028e7.9
mov dword [ebx + 0xc], 1
jmp 0x8035e9
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je case.0x8028e7.9
mov eax, dword [ebp - 0x44]
cmp byte [eax + 0x7a], 0
jne case.0x8028e7.9
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
test byte [eax + 0x6e], 4
je 0x802e38
and dword [eax + 0x6c], 0xfffbffff
push 0x737
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
push eax
call sub.user32.dll_SetWindowPos
mov esi, dword [ebx + 4]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
cmp esi, dword [eax + 0x48]
je 0x802e5f
lea eax, [ebp - 0x5c]
push eax
push esi
call sub.gdi32.dll_GetClipBox
dec eax
jne 0x802e5f
push ebp
call fcn.00802748
pop ecx
jmp 0x8035e9
mov eax, dword [ebp - 0x44]
cmp byte [eax + 0xae], 0
je 0x802f3b
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
push eax
call sub.user32.dll_IsWindowEnabled
test eax, eax
jne 0x802f3b
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
push eax
call sub.user32.dll_BeginPaint
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
push eax
call sub.user32.dll_GetWindowDC
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
push eax
call sub.gdi32.dll_SaveDC
mov dword [ebp - 0x4c], eax
xor eax, eax
push ebp
push 0x802f1f
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x4c]
call fcn.005209e0
call fcn.0051a144
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x40]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x3c]
push eax
push 0
push 0
mov eax, dword [ebp - 0x48]
push eax
call sub.gdi32.dll_BitBlt
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x802f26
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x48]
push eax
call sub.gdi32.dll_RestoreDC
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
push eax
call sub.user32.dll_ReleaseDC
ret
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
xor edx, edx
call fcn.0083a200
test al, al
jne 0x802f62
mov eax, dword [0x90d3f8]
cmp byte [eax], 0
je 0x802f6e
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
cmp dword [eax + 0x48], 0
jne 0x802f6e
push ebp
call fcn.00802748
pop ecx
jmp 0x8035e9
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
push 0xffffffffffffffec
push eax
call sub.user32.dll_GetWindowLongW
test ah, 0x20
jne 0x802f99
mov eax, dword [ebx + 4]
push eax
mov eax, dword [ebp - 0x44]
mov edx, dword [eax + 0x38]
or ecx, 0xffffffff
mov eax, dword [ebp - 0x44]
call fcn.007ff580
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x44]
movzx edx, byte [0x8035f0]
not edx
and byte [eax + 0xac], dl
mov eax, dword [ebp - 0x44]
cmp byte [eax + 9], 0
jne case.0x8028e7.9
mov eax, dword [ebp - 0x44]
mov edx, dword [eax]
call dword [edx + 0x14]
jmp case.0x8028e7.9
cmp dword [ebx + 4], 1
jne case.0x8028e7.9
mov eax, dword [ebp - 0x44]
cmp byte [eax + 0xaf], 0
je case.0x8028e7.9
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x98]
call fcn.0082b6c0
mov eax, dword [ebp - 0x44]
mov byte [eax + 0xaf], 0
jmp case.0x8028e7.9
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je case.0x8028e7.9
mov eax, dword [ebp - 0x44]
cmp byte [eax + 0x7a], 0
jne case.0x8028e7.9
mov eax, dword [0x90d3f8]
cmp byte [eax], 0
jne 0x80328a
mov eax, dword [ebp - 0x44]
cmp byte [eax + 0xad], 0
jne 0x80328a
mov eax, dword [ebp - 0x44]
add eax, 0x1c
push eax
mov eax, dword [ebp - 0x44]
add eax, 0x3c
push eax
mov eax, dword [ebp - 0x44]
add eax, 0x44
push eax
mov eax, dword [ebp - 0x44]
lea ecx, [eax + 0xc]
mov eax, dword [ebp - 0x44]
lea edx, [eax + 0x34]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
call fcn.007fbfb4
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
xor edx, edx
call fcn.0083a200
test al, al
jne 0x8035e9
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
push eax
call sub.user32.dll_GetWindowDC
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x48]
je 0x8030c1
lea eax, [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x48]
push eax
call sub.gdi32.dll_GetClipBox
dec eax
jne 0x8030c1
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
push eax
call sub.user32.dll_ReleaseDC
jmp 0x8035e9
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
cmp byte [eax + 0x90], 0
je 0x8030f9
mov eax, dword [ebp - 0x44]
cmp byte [eax + 9], 0
jne 0x8030e1
mov eax, dword [ebp - 0x44]
mov edx, dword [eax]
call dword [edx + 0x14]
mov eax, dword [ebp - 0x44]
movzx ecx, byte [eax + 4]
mov eax, dword [ebp - 0x44]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
call fcn.007fce1c
mov eax, dword [ebp - 0x48]
push eax
call sub.gdi32.dll_SaveDC
mov dword [ebp - 0x4c], eax
xor eax, eax
push ebp
push 0x803283
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x44]
call fcn.00803ce4
test al, al
je 0x8031a6
mov eax, dword [ebp - 0x44]
mov byte [eax + 0xad], 1
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x84], 0
jle 0x803165
push 0
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x40]
sub eax, 2
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x3c]
sub eax, 2
push eax
push 2
push 2
call sub.gdi32.dll_CreateRectRgn
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
push eax
call sub.user32.dll_SetWindowRgn
mov eax, dword [ebx + 4]
push eax
lea eax, [ebx + 8]
push eax
mov ecx, dword [ebx]
mov eax, dword [ebp - 0x44]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x44]
call fcn.0080e054
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x84], 0
jle 0x80319c
push 0
push 0
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
push eax
call sub.user32.dll_SetWindowRgn
invalid
invalid
mov eax, dword [ebp - 0x44]
mov byte [eax + 0xad], 0
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x44]
mov edx, dword [eax + 0x38]
or ecx, 0xffffffff
mov eax, dword [ebp - 0x44]
call fcn.007ff580
mov dword [ebx + 0xc], eax
cmp dword [ebp - 0x48], 0
je 0x803258
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x68], 0
je 0x803258
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x84], 0
jge 0x8031ee
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x84], 2
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x4c]
call fcn.005209e0
call fcn.0051a144
push eax
push 0
push 0
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x84]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x8c]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x88]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x90]
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0x48]
call fcn.0089a9f8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x80328a
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x48]
push eax
call sub.gdi32.dll_RestoreDC
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
push eax
call sub.user32.dll_ReleaseDC
ret
mov eax, dword [ebp - 0x44]
movzx edx, byte [0x8035f4]
not edx
and byte [eax + 0xac], dl
jmp 0x8035e9
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
xor edx, edx
call fcn.007fbe48
test al, al
je 0x80337e
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x98]
mov edx, dword [0x53e3b8]
call fcn.00408484
test al, al
je 0x80337e
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x98]
mov si, 0xffb3
call fcn.00408570
test al, al
je 0x80337e
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x98]
cmp byte [eax + 0x20c], 0
je 0x80337e
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x68]
mov byte [eax + 0x90], 1
cmp dword [ebx], 7
sete dl
mov byte [eax + 0x28], dl
mov edx, ebx
mov eax, dword [ebp - 0x44]
call fcn.0080ae90
mov eax, dword [ebp - 0x44]
mov edx, dword [eax]
call dword [edx + 0x14]
mov eax, dword [ebp - 0x44]
test byte [eax + 0xac], 1
je 0x803355
push 0x501
push 0
push 0
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
push eax
call sub.user32.dll_RedrawWindow
jmp 0x8035e9
mov eax, dword [ebp - 0x44]
test byte [eax + 0xac], 2
je 0x8035e9
push 0
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x38]
xor ecx, ecx
mov edx, 0x85
call fcn.00831ef8
jmp 0x8035e9
mov eax, dword [ebx + 4]
push eax
lea eax, [ebx + 8]
push eax
mov ecx, dword [ebx]
mov eax, dword [ebp - 0x44]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x44]
call fcn.0080e054
mov dword [ebx + 0xc], eax
jmp 0x8035e9