Function at 0x578180
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xb4
mov eax, dword [0x613ad0]
xor eax, esp
mov dword [esp + 0xb0], eax
mov ecx, dword [ebp + 0x10]
imul ecx, ecx, 0x170
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x3434]
mov edx, dword [eax + ecx + 0xc4]
mov ebx, dword [esi + 0x72c]
add eax, ecx
mov dword [esp + 0x28], edx
imul edx, edx, 0x98
add ebx, edx
mov dword [esp + 0x2c], edx
mov edx, dword [ebx + 0x28]
mov dword [esp + 0x14], ebx
mov ebx, dword [eax + 0xe8]
test ebx, ebx
push edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x24], edx
je 0x578212
mov eax, dword [esi + 0x3434]
mov edx, dword [ecx + eax + 0xe8]
mov eax, dword [edx]
test eax, eax
je 0x57820a
cmp eax, dword [ebp + 0x10]
jne 0x578212
mov dword [esp + 0x1c], 1
mov eax, dword [esi + 0x3434]
mov ecx, dword [ecx + eax + 0xd4]
test ecx, ecx
je 0x578246
push 0x5e8de8
push ecx
call fcn.005add20
add esp, 8
test eax, eax
je 0x578246
cmp dword [esp + 0x1c], 0
je 0x5782a3
mov dword [esp + 0x1c], 0
jmp 0x5782a3
cmp dword [esp + 0x1c], 0
je 0x5782a3
push edi
push esi
call fcn.00573a80
add esp, 8
test eax, eax
je 0x57848d
fild dword [ebx + 0x10]
sub esp, 8
fstp qword [esp]
push 1
push str.ssanimdelay
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
fild dword [ebx + 0xc]
sub esp, 8
fstp qword [esp]
push 1
push str.ssanimloops
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
mov ecx, dword [esi + 0x72c]
mov edx, dword [esp + 0x30]
mov ebx, dword [edx + ecx + 0x28]
push edi
and ebx, 0x200000
push esi
mov dword [esp + 0x28], ebx
call fcn.00573a80
add esp, 8
test eax, eax
je 0x57848d
test ebx, ebx
mov eax, str.shpgrp
jne 0x5782db
mov eax, 0x5ea84c
fldz
sub esp, 8
fstp qword [esp]
push 0
push eax
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
push edi
push esi
call fcn.00573a80
add esp, 8
test eax, eax
je 0x57848d
fldz
sub esp, 8
fstp qword [esp]
push 0
push 0x5ea3f0
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
fldz
sub esp, 8
fstp qword [esp]
push 0
push str.shpinst
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x28]
test eax, 0x80000
je 0x578398
test al, 1
mov ecx, dword [esp + 0x18]
mov ebx, dword [ecx + 0x68]
mov dword [esp + 0x14], ebx
je 0x5783a3
mov edx, dword [edi + 0x563c]
push edx
push esi
call fcn.004aea30
imul eax, eax, 0x98
mov ecx, dword [esi + 0x39c0]
add esp, 8
fld dword [ecx + eax + 4]
fmul qword [0x5e9188]
call fcn.005ac350
add ebx, eax
jmp 0x57839f
mov edx, dword [esp + 0x18]
mov ebx, dword [edx + 4]
mov dword [esp + 0x14], ebx
fild dword [esp + 0x14]
sub esp, 8
fstp qword [esp]
push 1
push str.shpleft
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
add ecx, ebx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
sub esp, 8
fstp qword [esp]
push 1
push str.shpright
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
mov eax, dword [esp + 0x18]
test dword [eax + 0x28], 0x100000
je 0x578408
mov ebx, dword [eax + 0x6c]
jmp 0x57840b
mov ebx, dword [eax + 0xc]
mov dword [esp + 0x14], ebx
fild dword [esp + 0x14]
sub esp, 8
fstp qword [esp]
push 1
push str.shptop
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x18]
add eax, ebx
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
sub esp, 8
fstp qword [esp]
push 1
push str.shpbottom
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
mov eax, dword [esp + 0x24]
fldz
and eax, 0xfffffffe
mov ecx, eax
and ecx, 1
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], ecx
je 0x5784a4
sub esp, 8
fstp qword [esp]
push 0
push str.shpbxpage
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
jne 0x5784f2
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.005aac48
mov esp, ebp
pop ebp
ret
sub esp, 8
test eax, 0x40000000
fstp qword [esp]
push 0
je 0x5784db
push str.shpbxcolumn
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
jne 0x5784f2
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.005aac48
mov esp, ebp
pop ebp
ret
push str.shpbxmarg
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x5787ab
mov ebx, dword [esp + 0x18]
test byte [ebx + 0x28], 0x40
je 0x57851d
fldz
sub esp, 8
fstp qword [esp]
push 0
push str.shpbymargin
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
test byte [ebx + 0x28], 0x20
je 0x578544
fldz
sub esp, 8
fstp qword [esp]
push 0
push str.shpbypage
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
test byte [ebx + 0x28], 0x60
jne 0x57856b
fldz
sub esp, 8
fstp qword [esp]
push 0
push str.shpbypara
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
test dword [ebx + 0x28], 0x80000
je 0x578595
fldz
sub esp, 8
fstp qword [esp]
push 0
push str.shpbxignore
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
test dword [ebx + 0x28], 0x100000
je 0x5785bf
fldz
sub esp, 8
fstp qword [esp]
push 0
push str.shpbyignore
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
test dword [ebx + 0x28], 0x2000
je 0x5785e9
fld1
sub esp, 8
fstp qword [esp]
push 1
push str.shpwr
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
test dword [ebx + 0x28], 0x4000
je 0x578617
fld qword [0x5ea080]
sub esp, 8
fstp qword [esp]
push 1
push str.shpwr
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
test dword [ebx + 0x28], 0x6000
jne 0x578666
fld qword [0x5e3050]
sub esp, 8
fstp qword [esp]
push 1
push str.shpwr
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
fldz
sub esp, 8
fstp qword [esp]
push 1
push str.shpwrk
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
mov eax, dword [ebx + 0x4c]
test eax, eax
mov dword [esp + 0x14], eax
je 0x578694
fild dword [esp + 0x14]
sub esp, 8
fstp qword [esp]
push 1
push str.shpz
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
test dword [ebx + 0x28], 0x8000000
jne 0x5786a9
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esi + 0x740]
jne 0x5786c5
push 0x5ea7d0
push str.fBehindDocument
push edi
push esi
call fcn.00576340
add esp, 0x10
test eax, eax
je 0x57848d
mov edx, dword [esi + 0x3434]
mov ebx, dword [esp + 0x28]
cmp dword [ebx + edx + 0xc0], 1
jne 0x5786fa
fldz
sub esp, 8
fstp qword [esp]
push 0
push str.ssshpalignleft
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
mov eax, dword [esi + 0x3434]
cmp dword [ebx + eax + 0xc0], 2
jne 0x57872b
fldz
sub esp, 8
fstp qword [esp]
push 0
push str.ssshpalignright
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
cmp dword [esp + 0x20], 0
mov ecx, dword [esp + 0x18]
mov ebx, dword [ecx + 0x60]
je 0x5787c2
push 0x5e9b58
push str.groupLeft
push edi
push esi
call fcn.00576340
add esp, 0x10
test eax, eax
je 0x57848d
push 0x5e9b58
push str.groupTop
push edi
push esi
call fcn.00576340
add esp, 0x10
test eax, eax
je 0x57848d
mov ebx, dword [esp + 0x18]
mov edx, dword [ebx + 0x10]
push edx
push str.groupRight
push edi
push esi
call fcn.00577bc0
add esp, 0x10
test eax, eax
je 0x57848d
mov eax, dword [ebx + 0x18]
push eax
push str.groupBottom
push edi
push esi
call fcn.00577bc0
add esp, 0x10
test eax, eax
jne 0x578824
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.005aac48
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x3434]
mov edx, dword [esp + 0x28]
cmp dword [edx + ecx + 0x64], 5
jne 0x5787da
mov ebx, 0xc9
jmp 0x5787e3
test ebx, ebx
jne 0x5787e3
mov ebx, 0x4b
push ebx
lea eax, [esp + 0x3c]
push 0x5e90cc
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [esp + 0x44]
push ecx
push str.shapeType
push edi
push esi
call fcn.00576340
add esp, 0x1c
test eax, eax
je 0x57848d
mov edx, dword [esp + 0x18]
push edx
push ebx
push edi
push esi
call fcn.00577900
mov ebx, dword [esp + 0x28]
add esp, 0x10
test dword [ebx + 0x28], 0x80000
je 0x5788aa
push 0
push str.posh
push edi
push esi
call fcn.00577bc0
add esp, 0x10
test eax, eax
je 0x57848d
cmp dword [esp + 0x34], 0
je 0x578877
push 1
push str.posrelh
push edi
push esi
call fcn.00577bc0
add esp, 0x10
test eax, eax
jne 0x5788aa
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.005aac48
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x24]
test eax, 0x40000000
je 0x578886
push 2
jmp 0x57884f
test eax, 0x20000000
je 0x578891
push 3
jmp 0x57884f
push 0
push str.posrelh
push edi
push esi
call fcn.00577bc0
add esp, 0x10
test eax, eax
je 0x57848d
test dword [ebx + 0x28], 0x100000
je 0x578929
push 0
push str.posv
push edi
push esi
call fcn.00577bc0
add esp, 0x10
test eax, eax
je 0x57848d
mov eax, dword [ebx + 0x28]
test al, 0x20
je 0x5788fd
push 1
push str.posrelv
push edi
push esi
call fcn.00577bc0
add esp, 0x10
test eax, eax
jne 0x578929
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.005aac48
mov esp, ebp
pop ebp
ret
test al, 0x40
je 0x578905
push 0
jmp 0x5788d5
test eax, 0x10000000
je 0x578910
push 3
jmp 0x5788d5
push 2
push str.posrelv
push edi
push esi
call fcn.00577bc0
add esp, 0x10
test eax, eax
je 0x57848d
cmp dword [esp + 0x20], 0
je 0x578ac4
push edi
push esi
call fcn.00573a80
add esp, 8
test eax, eax
je 0x57848d
fldz
sub esp, 8
fstp qword [esp]
push 0
push 0x5ea84c
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
push edi
push esi
call fcn.00573a80
add esp, 8
test eax, eax
je 0x57848d
fldz
sub esp, 8
fstp qword [esp]
push 0
push 0x5ea3f0
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
fldz
sub esp, 8
fstp qword [esp]
push 0
push str.shpinst
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
push 0
lea eax, [esp + 0x3c]
push 0x5e90cc
push eax
call ebx
lea ecx, [esp + 0x44]
push ecx
push str.relLeft
push edi
push esi
call fcn.00576340
add esp, 0x1c
test eax, eax
je 0x57848d
push 0
lea edx, [esp + 0x3c]
push 0x5e90cc
push edx
call ebx
lea eax, [esp + 0x44]
push eax
push str.relTop
push edi
push esi
call fcn.00576340
add esp, 0x1c
test eax, eax
je 0x57848d
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x10]
mov ecx, dword [eax + 0x18]
push edx
lea eax, [esp + 0x3c]
push 0x5e90cc
push eax
mov dword [esp + 0x20], ecx
call ebx
lea ecx, [esp + 0x44]
push ecx
push str.relRight
push edi
push esi
call fcn.00576340
add esp, 0x1c
test eax, eax
je 0x57848d
mov edx, dword [esp + 0x14]
push edx
lea eax, [esp + 0x3c]
push 0x5e90cc
push eax
call ebx
lea ecx, [esp + 0x44]
push ecx
push str.relBottom
push edi
push esi
call fcn.00576340
add esp, 0x1c
test eax, eax
je 0x57848d
mov edx, dword [esi + 0x72c]
mov eax, dword [esp + 0x30]
mov ebx, dword [eax + edx + 0x60]
push ebx
lea ecx, [esp + 0x3c]
push 0x5e90cc
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
lea edx, [esp + 0x44]
push edx
push str.shapeType
push edi
push esi
call fcn.00576340
add esp, 0x1c
test eax, eax
je 0x57848d
mov eax, dword [esp + 0x18]
push eax
push ebx
push edi
push esi
call fcn.00577900
add esp, 0x10
mov ecx, dword [esi + 0x3434]
mov ebx, dword [esp + 0x28]
lea eax, [ebx + ecx]
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x578b53
cmp dword [eax + 0x64], 0
jne 0x578b53
test byte [esi + 0xa15c], 0x10
jne 0x578b53
push 2
lea edx, [esp + 0x3c]
push edx
push ecx
push esi
call fcn.004e1bd0
or dword [edi + 0x800], 2
lea eax, [esp + 0x48]
push eax
push str.pibName
push edi
push esi
call fcn.00576340
add esp, 0x20
test eax, eax
je 0x57848d
and dword [edi + 0x800], 0xfffffffd
push 0x5ec3b8
push str.pibFlags
push edi
push esi
call fcn.00576340
add esp, 0x10
test eax, eax
jne 0x578bc3
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.005aac48
mov esp, ebp
pop ebp
ret
cmp dword [eax + 0x88], 0xb
je 0x578bc3
push 0
push 0x5ecbf4
push edi
push esi
call fcn.00576340
add esp, 0x10
test eax, eax
je 0x57848d
mov ecx, dword [ebp + 0x10]
or dword [edi + 0x800], 0x80
push ecx
push edi
push esi
call fcn.00577c20
add esp, 0xc
test eax, eax
je 0x57848d
and dword [edi + 0x800], 0xffffff7f
push edi
push esi
call fcn.00573ae0
add esp, 8
test eax, eax
je 0x57848d
push edi
push esi
call fcn.00573ae0
add esp, 8
test eax, eax
je 0x57848d
mov edx, dword [esi + 0x3434]
mov eax, dword [ebx + edx + 0x64]
test eax, eax
je 0x578c26
cmp eax, 3
je 0x578c26
push edi
push esi
call fcn.00573a80
add esp, 8
test eax, eax
je 0x57848d
fldz
sub esp, 8
fstp qword [esp]
push 0
push str.shptxt
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
mov eax, dword [ebp + 0x10]
push eax
push edi
push esi
call fcn.00577ea0
push edi
push esi
call fcn.00573ae0
add esp, 0x14
test eax, eax
je 0x57848d
cmp dword [esp + 0x20], 0
je 0x578c51
push edi
push esi
call fcn.00573ae0
add esp, 8
test eax, eax
je 0x57848d
push edi
push esi
call fcn.00573ae0
add esp, 8
test eax, eax
je 0x57848d
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esi + 0x740]
jne 0x578d89
cmp dword [esi + 0x99b4], 0
je 0x578cd8
test dword [edi + 0x800], 0x20000
je 0x578cd8
push 0x599a
lea edx, [esp + 0x3c]
push 0x5e90cc
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x44]
push eax
push str.pictureBrightness
push edi
push esi
call fcn.00576340
add esp, 0x1c
test eax, eax
je 0x57848d
push 0x4ccd
lea ecx, [esp + 0x3c]
push 0x5e90cc
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
lea edx, [esp + 0x44]
push edx
push str.pictureContrast
push edi
push esi
call fcn.00576340
add esp, 0x1c
test eax, eax
je 0x57848d
push str.WordPictureWatermark3
push str.wzName
push edi
push esi
call fcn.00576340
add esp, 0x10
test eax, eax
je 0x57848d
push 0x5ecbe0
push str.posh
push edi
push esi
call fcn.00576340
add esp, 0x10
test eax, eax
je 0x57848d
push 0x5e9b58
push str.posrelh
push edi
push esi
call fcn.00576340
add esp, 0x10
test eax, eax
je 0x57848d
push 0x5ecbe0
push str.posv
push edi
push esi
call fcn.00576340
add esp, 0x10
test eax, eax
je 0x57848d
push 0x5e9b58
push str.posrelv
push edi
push esi
call fcn.00576340
add esp, 0x10
test eax, eax
je 0x57848d
cmp dword [esi + 0x99b4], 0
je 0x578d89
push 0x5ea7d0
push str.ssWashed
push edi
push esi
call fcn.00576340
add esp, 0x10
test eax, eax
je 0x57848d
push edi
push esi
call fcn.00573ae0
add esp, 8
test eax, eax
je 0x57848d
cmp dword [esp + 0x20], 0
jne 0x578e31
mov eax, dword [esi + 0x3434]
cmp dword [ebx + eax + 0x88], 0xb
je 0x578e31
push edi
push esi
call fcn.00573a80
add esp, 8
test eax, eax
je 0x57848d
fldz
sub esp, 8
fstp qword [esp]
push 0
push str.shprslt
push edi
push esi
call fcn.00573960
add esp, 0x18
test eax, eax
je 0x57848d
mov ecx, dword [esi + 0x3434]
mov eax, dword [ebx + ecx + 0x64]
test eax, eax
je 0x578e09
cmp eax, 3
je 0x578e09
mov edx, dword [ebp + 0x10]
push edx
push edi
push esi
call fcn.00577ea0
jmp 0x578e14
mov eax, dword [ebp + 0x10]
push eax
push edi
push esi
call fcn.00577c20
add esp, 0xc
test eax, eax
je 0x57848d
push edi
push esi
call fcn.00573ae0
add esp, 8
test eax, eax
je 0x57848d
push edi
push esi
call fcn.00573ae0
add esp, 8
test eax, eax
je 0x57848d
cmp dword [esp + 0x1c], 0
je 0x578e6a
push edi
push esi
call fcn.00573ae0
add esp, 8
test eax, eax
je 0x57848d
mov ecx, dword [ebp + 0x10]
push ecx
push edi
push esi
call fcn.00577e20
add esp, 0xc
mov ecx, dword [esp + 0xbc]
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 1
call fcn.005aac48
mov esp, ebp
pop ebp
ret