Function at 0x4111a0
Capabilities:
Copy file

Disassembly:
push 0xffffffffffffffff
push 0x54dcdd
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x550
mov eax, dword [0x5a2f48]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x55c], eax
push 0x104
lea eax, [esp + 0xec]
xor edi, edi
push eax
push edi
mov esi, ecx
mov dword [esp + 0x20], edi
call dword [sym.imp.kernel32.dll_GetModuleFileNameA]
lea ecx, [esp + 0xe8]
push 0x5c
push ecx
call fcn.004659d0
add esp, 8
lea edx, [esp + 0xe8]
push edx
lea ecx, [esp + 0x98]
mov byte [eax], 0
call fcn.00401bc0
push str.effect_template.swf
push eax
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x574], edi
call fcn.00410e40
add esp, 0xc
mov eax, dword [esp + 0x94]
add eax, 0xfffffff0
or ebx, 0xffffffff
mov byte [esp + 0x568], 2
lea ecx, [eax + 0xc]
mov edx, ebx
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411255
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov ebp, dword [esp + 0x20]
push edi
mov edi, dword [esp + 0x574]
push edi
push ebp
call dword [sym.imp.kernel32.dll_CopyFileA]
test eax, eax
jne 0x411292
push eax
push eax
push 0x55cce8
call fcn.0052c191
lea eax, [ebp - 0x10]
mov dword [esp + 0x568], ebx
lea ecx, [eax + 0xc]
lock xadd dword [ecx], ebx
dec ebx
test ebx, ebx
jmp 0x4124ef
lea ecx, [esp + 0x60]
call fcn.004094d0
push 2
push edi
lea ecx, [esp + 0x68]
mov byte [esp + 0x570], 3
call fcn.004094f0
test eax, eax
jne 0x4112e9
push eax
push eax
push 0x55cce8
call fcn.0052c191
lea ecx, [esp + 0x60]
mov byte [esp + 0x568], 2
call fcn.00525718
lea eax, [ebp - 0x10]
mov dword [esp + 0x568], ebx
lea ecx, [eax + 0xc]
lock xadd dword [ecx], ebx
dec ebx
test ebx, ebx
jmp 0x4124ef
mov eax, dword [esi + 0x1e04]
push eax
lea ecx, [esp + 0x64]
call fcn.004097e0
mov ecx, dword [esi + 0x1e00]
mov edx, dword [esi + 0x1dfc]
push ecx
push edx
lea ecx, [esp + 0x68]
call fcn.0040b4b0
push 0
lea ecx, [esp + 0x64]
call fcn.00409840
lea ecx, [esp + 0x24]
call fcn.00402c20
push 0xc
push str.PropertyData
lea ecx, [esp + 0x2c]
mov byte [esp + 0x570], 4
call fcn.004017a0
call fcn.004182d0
test eax, eax
jne 0x41137f
call fcn.0053abfb
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xe8]
push eax
push str.Movie.DemoLinkUrl
lea ecx, [esp + 0x2c]
call fcn.00421110
push str.demo
push 0xff
push 0xffff
push 0x55cc88
lea ecx, [esp + 0x70]
call fcn.0040d620
call fcn.0051fbb3
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x1dfc]
push eax
lea ecx, [esp + 0x14]
push 0x55cc84
push ecx
mov byte [esp + 0x574], 5
call fcn.00405cd0
mov edx, dword [esp + 0x1c]
add esp, 0xc
push edx
push str.Movie.Width
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x1e00]
push eax
lea ecx, [esp + 0x14]
push 0x55cc84
push ecx
call fcn.00405cd0
mov edx, dword [esp + 0x1c]
add esp, 0xc
push edx
push str.Movie.Height
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x1e08]
test eax, eax
mov eax, str.True
jne 0x411406
mov eax, str.False
push eax
push str.Movie.ShowBorder
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x1e0c]
test eax, eax
mov eax, str.True
jne 0x411429
mov eax, str.False
push eax
push str.Movie.ShowMenu
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x2328]
mov dword [esp + 0x50], str.Pure
mov dword [esp + 0x54], str.Gradient
mov dword [esp + 0x58], str.Image
mov dword [esp + 0x5c], 0x55cc18
mov ecx, dword [esp + eax*4 + 0x50]
test ecx, ecx
jne 0x41146a
xor eax, eax
jmp 0x411479
mov eax, ecx
lea edi, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411470
sub eax, edi
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.004017a0
mov ecx, dword [esp + 0x10]
push ecx
push str.Movie.BackMode
lea ecx, [esp + 0x2c]
call fcn.00421110
movzx edx, byte [esi + 0x232d]
mov dh, byte [esi + 0x232c]
movzx eax, byte [esi + 0x232e]
lea ecx, [esp + 0x10]
shl edx, 8
or edx, eax
push edx
push str._06x
push ecx
call fcn.00405cd0
mov edx, dword [esp + 0x1c]
add esp, 0xc
push edx
push str.Movie.BackColor
lea ecx, [esp + 0x2c]
call fcn.00421110
movzx eax, byte [esi + 0x2331]
mov ah, byte [esi + 0x2330]
movzx ecx, byte [esi + 0x2332]
lea edx, [esp + 0x10]
shl eax, 8
or eax, ecx
push eax
push str._06x
push edx
call fcn.00405cd0
mov eax, dword [esp + 0x1c]
add esp, 0xc
push eax
push str.Movie.BackStartColor
lea ecx, [esp + 0x2c]
call fcn.00421110
movzx ecx, byte [esi + 0x2335]
mov ch, byte [esi + 0x2334]
movzx edx, byte [esi + 0x2336]
lea eax, [esp + 0x10]
shl ecx, 8
or ecx, edx
push ecx
push str._06x
push eax
call fcn.00405cd0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
push str.Movie.BackEndColor
lea ecx, [esp + 0x2c]
call fcn.00421110
mov edx, dword [esi + 0x233c]
push edx
lea eax, [esp + 0x14]
push 0x55cc84
push eax
call fcn.00405cd0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
push str.Movie.BackRotation
lea ecx, [esp + 0x2c]
call fcn.00421110
mov edx, dword [esi + 0x2338]
mov dword [esp + 0x18], str.Linear
mov dword [esp + 0x1c], str.Radial
mov ecx, dword [esp + edx*4 + 0x18]
test ecx, ecx
jne 0x4115a2
xor eax, eax
jmp 0x4115b0
mov eax, ecx
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4115a7
sub eax, edi
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.004017a0
mov eax, dword [esp + 0x10]
push eax
push str.Movie.BackType
lea ecx, [esp + 0x2c]
call fcn.00421110
cmp dword [esi + 0x2328], 2
jne 0x4117f0
push 0
lea ecx, [esp + 0x1f0]
call fcn.00424c10
mov eax, dword [esi + 0x2340]
push 0
push eax
lea ecx, [esp + 0x1f4]
mov byte [esp + 0x570], 6
call fcn.00426d30
test al, al
mov ebp, 0x55b200
jne 0x411623
lea ecx, [esp + 0x1ec]
call fcn.00427040
test al, al
je 0x4117d5
lea ecx, [esp + 0x50]
call fcn.005280aa
mov bl, 7
mov byte [esp + 0x568], bl
call fcn.00525e10
test eax, eax
je 0x411647
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x74]
jmp 0x411649
xor eax, eax
mov eax, dword [eax + 0x1c]
mov edi, dword [sym.imp.user32.dll_GetDC]
push eax
call edi
push eax
call fcn.00528615
push eax
lea ecx, [esp + 0x54]
call fcn.004043a0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], vtable.CBitmap.0
mov byte [esp + 0x568], 8
call fcn.00525e10
test eax, eax
je 0x41168f
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x74]
jmp 0x411691
xor eax, eax
mov eax, dword [eax + 0x1c]
push eax
call edi
push eax
call fcn.00528615
mov ecx, dword [esi + 0x1e00]
mov edx, dword [esi + 0x1dfc]
push ecx
mov ecx, dword [eax + 4]
push edx
push ecx
call dword [sym.imp.gdi32.dll_CreateCompatibleBitmap]
push eax
lea ecx, [esp + 0x1c]
call fcn.00528920
mov eax, dword [esp + 0x1c]
xor edi, edi
cmp eax, edi
je 0x4116d5
mov edx, dword [esp + 0x54]
push eax
push edx
call dword [sym.imp.gdi32.dll_SelectObject]
cmp dword [esi + 0x2344], edi
mov eax, dword [esi + 0x1e00]
mov ecx, dword [esi + 0x1dfc]
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
jne 0x411732
push edi
push edi
push eax
push ecx
lea ecx, [esp + 0x1fc]
call fcn.004271e0
mov ecx, dword [esp + 0x54]
push edi
push edi
lea eax, [esp + 0xb4]
push eax
push ecx
lea ecx, [esp + 0x1fc]
call fcn.004292a0
jmp 0x41174b
mov eax, dword [esp + 0x54]
lea edx, [esp + 0xac]
push edx
push eax
lea ecx, [esp + 0x1f4]
call fcn.004291a0
push edi
lea ecx, [esp + 0x3a8]
call fcn.00424c10
mov ecx, dword [esp + 0x1c]
push edi
push ecx
lea ecx, [esp + 0x3ac]
mov byte [esp + 0x570], 9
call fcn.004284d0
mov edx, dword [esi + 0x2348]
push str.backimage
push edx
push 1
lea eax, [esp + 0x3b0]
push eax
lea ecx, [esp + 0x70]
call fcn.0040bc00
lea ecx, [esp + 0x3a4]
mov byte [esp + 0x568], 8
mov dword [esp + 0x3a4], ebp
call fcn.00424c30
lea ecx, [esp + 0x18]
mov byte [esp + 0x568], bl
mov dword [esp + 0x18], vtable.CGdiObject.0
call fcn.00528977
lea ecx, [esp + 0x50]
mov byte [esp + 0x568], 6
call fcn.005286a1
lea ecx, [esp + 0x1ec]
mov byte [esp + 0x568], 5
mov dword [esp + 0x1ec], ebp
call fcn.00424c30
lea ecx, [esp + 0xbc]
call fcn.00402c20
mov eax, dword [esi + 0x25f4]
push 0x5a51fc
push eax
lea ecx, [esp + 0xc4]
mov byte [esp + 0x570], 0xa
call fcn.00420960
test eax, eax
je 0x41185a
lea ecx, [esp + 0xbc]
xor edi, edi
call fcn.0041ed10
test eax, eax
jbe 0x41185a
push edi
lea ecx, [esp + 0xc0]
call fcn.0041ef20
push eax
lea ecx, [esp + 0x28]
call fcn.00421130
lea ecx, [esp + 0xbc]
inc edi
call fcn.0041ed10
cmp edi, eax
jb 0x411832
mov ecx, dword [esi + 0x25f8]
push ecx
lea edx, [esp + 0x14]
push 0x55cc84
push edx
call fcn.00405cd0
mov eax, dword [esp + 0x1c]
add esp, 0xc
push eax
push str.Movie.BackAlpha
lea ecx, [esp + 0x2c]
call fcn.00421110
lea ecx, [esp + 0x10]
call fcn.00401400
mov eax, dword [esi + 0x2e20]
xor ebp, ebp
test eax, eax
jbe 0x41192f
nop
test ebp, ebp
je 0x4118fb
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 4]
mov ebx, dword [edx - 0xc]
mov ecx, 1
sub ecx, eax
mov eax, dword [edx - 8]
lea edi, [ebx + 1]
sub eax, edi
or eax, ecx
jge 0x4118cf
push edi
lea ecx, [esp + 0x14]
call fcn.00401470
mov edx, dword [esp + 0x10]
test edi, edi
mov byte [ebx + edx], 0x60
jl 0x411cba
mov eax, dword [esp + 0x10]
cmp edi, dword [eax - 8]
jg 0x411cba
test ebp, ebp
mov dword [eax - 0xc], edi
mov ecx, dword [esp + 0x10]
mov byte [edi + ecx], 0
jl 0x4123eb
cmp ebp, dword [esi + 0x2e20]
jge 0x4123eb
mov edx, dword [esi + 0x2e1c]
lea eax, [edx + ebp*4]
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x18]
call fcn.00401840
mov eax, dword [esi + 0x2e20]
inc ebp
cmp ebp, eax
jb 0x4118a0
mov eax, dword [esp + 0x10]
push eax
push str.Movie.Text
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x3184]
push 0x5a51fc
push eax
lea ecx, [esp + 0xc4]
call fcn.00420960
test eax, eax
je 0x411998
lea ecx, [esp + 0xbc]
xor edi, edi
call fcn.0041ed10
test eax, eax
jbe 0x411998
push edi
lea ecx, [esp + 0xc0]
call fcn.0041ef20
push eax
lea ecx, [esp + 0x28]
call fcn.00421130
lea ecx, [esp + 0xbc]
inc edi
call fcn.0041ed10
cmp edi, eax
jb 0x411970
mov ecx, dword [esi + 0x3188]
push ecx
lea edx, [esp + 0x14]
push 0x55cc84
push edx
call fcn.00405cd0
mov eax, dword [esp + 0x1c]
add esp, 0xc
push eax
push str.Movie.LetterDelay
lea ecx, [esp + 0x2c]
call fcn.00421110
mov ecx, dword [esi + 0x318c]
push ecx
lea edx, [esp + 0x14]
push 0x55cc84
push edx
call fcn.00405cd0
mov eax, dword [esp + 0x1c]
add esp, 0xc
push eax
push str.Movie.PageDelay
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x3190]
test eax, eax
mov eax, str.True
jne 0x411a04
mov eax, str.False
push eax
push str.Movie.SyncLine
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x3194]
test eax, eax
mov eax, str.True
jne 0x411a27
mov eax, str.False
push eax
push str.Movie.ReverseLetter
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x3c40]
test eax, eax
mov eax, str.True
jne 0x411a4a
mov eax, str.False
push eax
push str.Movie.TextBold
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x3c44]
test eax, eax
mov eax, str.True
jne 0x411a6d
mov eax, str.False
push eax
push str.Movie.TextItalic
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x3c48]
test eax, eax
mov eax, str.True
jne 0x411a90
mov eax, str.False
push eax
push str.Movie.TextUnderline
lea ecx, [esp + 0x2c]
call fcn.00421110
movzx edx, byte [esi + 0x3c4e]
xor ecx, ecx
mov ch, byte [esi + 0x3c4c]
lea eax, [esp + 0x10]
mov cl, byte [esi + 0x3c4d]
shl ecx, 8
or ecx, edx
push ecx
push str._06x
push eax
call fcn.00405cd0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
push str.Movie.TextColor
lea ecx, [esp + 0x2c]
call fcn.00421110
mov edx, dword [esi + 0x3c50]
push edx
lea eax, [esp + 0x14]
push 0x55cc84
push eax
call fcn.00405cd0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
push str.Movie.TextAlpha
lea ecx, [esp + 0x2c]
call fcn.00421110
mov edx, dword [esi + 0x3c54]
push edx
lea eax, [esp + 0x14]
push 0x55cc84
push eax
call fcn.00405cd0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
push str.Movie.TextSize
lea ecx, [esp + 0x2c]
call fcn.00421110
mov edx, dword [esi + 0x3c70]
push edx
lea eax, [esp + 0x14]
push 0x55cc84
push eax
call fcn.00405cd0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
push str.Movie.TextRotation
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x3c58]
push eax
push str.Movie.TextHAlign
lea ecx, [esp + 0x2c]
call fcn.00421110
mov edx, dword [esi + 0x3c5c]
push edx
lea eax, [esp + 0x14]
push 0x55cc84
push eax
call fcn.00405cd0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
push str.Movie.TextHOffset
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x3c60]
push eax
push str.Movie.TextVAlign
lea ecx, [esp + 0x2c]
call fcn.00421110
mov edx, dword [esi + 0x3c64]
push edx
lea eax, [esp + 0x14]
push 0x55cc84
push eax
call fcn.00405cd0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
push str.Movie.TextVOffset
lea ecx, [esp + 0x2c]
call fcn.00421110
mov edx, dword [esi + 0x3c74]
push edx
lea eax, [esp + 0x14]
push 0x55cc84
push eax
call fcn.00405cd0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
push str.Movie.TextCharWidth
lea ecx, [esp + 0x2c]
call fcn.00421110
mov edx, dword [esi + 0x3c78]
push edx
lea eax, [esp + 0x14]
push 0x55cc84
push eax
call fcn.00405cd0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
push str.Movie.TextCharHeight
lea ecx, [esp + 0x2c]
call fcn.00421110
mov edx, dword [esi + 0x3c68]
push edx
lea eax, [esp + 0x14]
push 0x55cc84
push eax
call fcn.00405cd0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
push str.Movie.TextCharSpace
lea ecx, [esp + 0x2c]
call fcn.00421110
mov edx, dword [esi + 0x3c6c]
push edx
lea eax, [esp + 0x14]
push 0x55cc84
push eax
call fcn.00405cd0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push ecx
push str.Movie.TextLineSpace
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x3d18]
test eax, eax
je 0x411cc4
mov edx, dword [esi + 0x3d1c]
push edx
lea eax, [esp + 0x14]
push 0x55cc84
push eax
call fcn.00405cd0
add esp, 0xc
jmp 0x411cd4
push 0x80070057
call fcn.00401120
push 2
push 0x55ca0c
lea ecx, [esp + 0x18]
call fcn.004017a0
mov ecx, dword [esp + 0x10]
push ecx
push str.Movie.Loop
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x3d20]
test eax, eax
mov eax, str.True
jne 0x411cfb
mov eax, str.False
push eax
push str.Movie.EndNoLeave
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x3d24]
test eax, eax
mov eax, str.True
jne 0x411d1e
mov eax, str.False
push eax
push str.Movie.ClosePlayer
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x3d28]
test eax, eax
je 0x411d3f
lea eax, [esi + 0x3d2c]
jmp 0x411d5d
push 0x559e91
lea ecx, [esp + 0x1c]
call fcn.00401bc0
mov byte [esp + 0x568], 0xb
mov dword [esp + 0x14], 1
mov ecx, dword [eax]
mov edi, dword [esp + 0x10]
lea eax, [ecx - 0x10]
add edi, 0xfffffff0
cmp eax, edi
je 0x411db4
mov edx, dword [edi + 0xc]
test edx, edx
lea ebp, [edi + 0xc]
jl 0x411da6
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x411da6
push eax
call fcn.004014c0
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebp], eax
dec eax
test eax, eax
jg 0x411d9d
mov ecx, dword [edi]
mov edx, dword [ecx]
push edi
call dword [edx + 4]
add ebx, 0x10
mov dword [esp + 0x10], ebx
jmp 0x411db4
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.004017a0
test byte [esp + 0x14], 1
mov dword [esp + 0x568], 0xa
je 0x411def
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
and edx, 0xfffffffe
add eax, 0xfffffff0
mov dword [esp + 0x14], edx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411def
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x10]
push eax
push str.Movie.ClickLinkUrl
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x3d28]
test eax, eax
je 0x411e14
lea eax, [esi + 0x3d30]
jmp 0x411e35
push 0x559e91
lea ecx, [esp + 0x1c]
call fcn.00401bc0
mov ecx, dword [esp + 0x14]
or ecx, 2
mov byte [esp + 0x568], 0xc
mov dword [esp + 0x14], ecx
mov ecx, dword [eax]
mov edi, dword [esp + 0x10]
lea eax, [ecx - 0x10]
add edi, 0xfffffff0
cmp eax, edi
je 0x411e8c
mov edx, dword [edi + 0xc]
test edx, edx
lea ebp, [edi + 0xc]
jl 0x411e7e
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x411e7e
push eax
call fcn.004014c0
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebp], eax
dec eax
test eax, eax
jg 0x411e75
mov ecx, dword [edi]
mov edx, dword [ecx]
push edi
call dword [edx + 4]
add ebx, 0x10
mov dword [esp + 0x10], ebx
jmp 0x411e8c
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.004017a0
test byte [esp + 0x14], 2
mov dword [esp + 0x568], 0xa
je 0x411ec7
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
and edx, 0xfffffffd
add eax, 0xfffffff0
mov dword [esp + 0x14], edx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411ec7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x10]
push eax
push str.Movie.ClickLinkTarget
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x3d34]
test eax, eax
mov eax, str.True
jne 0x411eee
mov eax, str.False
push eax
push str.Movie.ClickOnText
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x3d38]
test eax, eax
je 0x411f0f
lea eax, [esi + 0x3d3c]
jmp 0x411f30
push 0x559e91
lea ecx, [esp + 0x1c]
call fcn.00401bc0
mov ecx, dword [esp + 0x14]
or ecx, 4
mov byte [esp + 0x568], 0xd
mov dword [esp + 0x14], ecx
mov ecx, dword [eax]
mov edi, dword [esp + 0x10]
lea eax, [ecx - 0x10]
add edi, 0xfffffff0
cmp eax, edi
je 0x411f87
mov edx, dword [edi + 0xc]
test edx, edx
lea ebp, [edi + 0xc]
jl 0x411f79
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x411f79
push eax
call fcn.004014c0
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebp], eax
dec eax
test eax, eax
jg 0x411f70
mov ecx, dword [edi]
mov edx, dword [ecx]
push edi
call dword [edx + 4]
add ebx, 0x10
mov dword [esp + 0x10], ebx
jmp 0x411f87
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.004017a0
test byte [esp + 0x14], 4
mov dword [esp + 0x568], 0xa
je 0x411fc2
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
and edx, 0xfffffffb
add eax, 0xfffffff0
mov dword [esp + 0x14], edx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411fc2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x10]
push eax
push str.Movie.EndLinkUrl
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x3d38]
test eax, eax
je 0x411fe7
lea eax, [esi + 0x3d40]
jmp 0x412008
push 0x559e91
lea ecx, [esp + 0x1c]
call fcn.00401bc0
mov ecx, dword [esp + 0x14]
or ecx, 8
mov byte [esp + 0x568], 0xe
mov dword [esp + 0x14], ecx
mov ecx, dword [eax]
mov edi, dword [esp + 0x10]
lea eax, [ecx - 0x10]
add edi, 0xfffffff0
cmp eax, edi
je 0x41205f
mov edx, dword [edi + 0xc]
test edx, edx
lea ebp, [edi + 0xc]
jl 0x412051
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x412051
push eax
call fcn.004014c0
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebp], eax
dec eax
test eax, eax
jg 0x412048
mov ecx, dword [edi]
mov edx, dword [ecx]
push edi
call dword [edx + 4]
add ebx, 0x10
mov dword [esp + 0x10], ebx
jmp 0x41205f
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.004017a0
test byte [esp + 0x14], 8
mov dword [esp + 0x568], 0xa
je 0x41208f
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41208f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x10]
push eax
push str.Movie.EndLinkTarget
lea ecx, [esp + 0x2c]
call fcn.00421110
mov eax, dword [esi + 0x3f58]
test eax, eax
je 0x4120c7
mov ecx, dword [esi + 0x3f5c]
push ecx
lea edx, [esp + 0x14]
push 0x55cc84
push edx
call fcn.00405cd0
add esp, 0xc
jmp 0x4120d7
push 2
push 0x55ca0c
lea ecx, [esp + 0x18]
call fcn.004017a0
mov eax, dword [esp + 0x10]
push eax
push str.Movie.SoundLoop
lea ecx, [esp + 0x2c]
call fcn.00421110
lea ecx, [esp + 0x88]
push ecx
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x91], 1
mov dword [esp + 0x94], 0x5a521c
mov dword [esp + 0x98], 0
mov byte [esp + 0x92], 0x22
mov byte [esp + 0x90], 0
call fcn.00420010
mov ecx, dword [eax]
mov edi, dword [esp + 0x10]
lea eax, [ecx - 0x10]
add edi, 0xfffffff0
cmp eax, edi
mov byte [esp + 0x568], 0xf
je 0x41218d
mov edx, dword [edi + 0xc]
test edx, edx
lea ebp, [edi + 0xc]
jl 0x41217f
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x41217f
push eax
call fcn.004014c0
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebp], eax
dec eax
test eax, eax
jg 0x412176
mov ecx, dword [edi]
mov edx, dword [ecx]
push edi
call dword [edx + 4]
add ebx, 0x10
mov dword [esp + 0x10], ebx
jmp 0x41218d
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.004017a0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x568], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4121b3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea ecx, [esp + 0x98]
call fcn.0051e4d0
mov eax, dword [esp + 0xa0]
push str.propertydata
push eax
lea ecx, [esp + 0xa0]
mov byte [esp + 0x570], 0x10
call fcn.0051e6bb
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0x10]
push ecx
push edx
lea ecx, [esp + 0xa0]
call fcn.0051e684
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x64]
call fcn.0040b6b0
mov eax, dword [esi + 0x317c]
test eax, eax
je 0x41234f
call fcn.0051fbb3
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x3180]
push eax
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x1c]
push str._seffect_text__s.swf
push edx
mov byte [esp + 0x578], 0x11
call fcn.00405cd0
mov ebx, dword [esp + 0x24]
add esp, 0x10
push ebx
lea ecx, [esp + 0x64]
call fcn.0040a960
test eax, eax
jne 0x412283
push eax
push eax
push 0x55cce8
call fcn.0052c191
lea ecx, [esp + 0x60]
call fcn.004097b0
lea eax, [ebx - 0x10]
jmp 0x4123c3
call fcn.0051fbb3
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ebp, [eax + 0x10]
mov dword [esp + 0x18], ebp
mov eax, dword [esi + 0x2e20]
xor edi, edi
test eax, eax
mov byte [esp + 0x568], 0x12
jbe 0x4122ec
lea ebx, [ebx]
test edi, edi
jl 0x4123eb
cmp edi, dword [esi + 0x2e20]
jge 0x4123eb
mov eax, dword [esi + 0x2e1c]
lea eax, [eax + edi*4]
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.00401840
mov eax, dword [esi + 0x2e20]
inc edi
cmp edi, eax
jb 0x4122b0
mov ebp, dword [esp + 0x18]
mov ecx, dword [esi + 0x3c40]
mov edx, dword [esi + 0x3c44]
mov eax, dword [esi + 0x3c3c]
push ecx
push edx
push ebp
push eax
lea ecx, [esp + 0x70]
call fcn.0040d2d0
lea eax, [ebp - 0x10]
mov byte [esp + 0x568], 0x11
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41232d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea eax, [ebx - 0x10]
mov byte [esp + 0x568], 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41234f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esi + 0x25ec]
test eax, eax
je 0x412412
call fcn.0051fbb3
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x25f0]
push eax
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x20]
push str._seffect_background__s.swf
push edx
mov byte [esp + 0x578], 0x13
call fcn.00405cd0
mov edi, dword [esp + 0x28]
add esp, 0x10
push edi
lea ecx, [esp + 0x64]
call fcn.0040a960
test eax, eax
jne 0x4123f0
push eax
push eax
push 0x55cce8
call fcn.0052c191
lea ecx, [esp + 0x60]
call fcn.004097b0
lea eax, [edi - 0x10]
mov byte [esp + 0x568], 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412460
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
jmp 0x412460
call fcn.0051c508
lea eax, [edi - 0x10]
mov byte [esp + 0x568], 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412412
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esi + 0x3f50]
test eax, eax
je 0x412431
mov eax, dword [esi + 0x3f54]
push str.sound
push eax
lea ecx, [esp + 0x68]
call fcn.0040c570
mov eax, dword [esi + 0x1e10]
test eax, eax
je 0x412444
lea ecx, [esp + 0x60]
call fcn.0040c900
mov eax, dword [esi + 0x1e14]
test eax, eax
je 0x412457
lea ecx, [esp + 0x60]
call fcn.0040a280
lea ecx, [esp + 0x60]
call fcn.004097b0
lea ecx, [esp + 0x98]
mov byte [esp + 0x568], 0xa
call fcn.0051e522
lea ecx, [esp + 0xbc]
mov byte [esp + 0x568], 5
call fcn.0041f090
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x568], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4124ae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea ecx, [esp + 0x24]
mov byte [esp + 0x568], 3
call fcn.0041f090
lea ecx, [esp + 0x60]
mov byte [esp + 0x568], 2
call fcn.00525718
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x568], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4124f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov ecx, dword [esp + 0x560]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x550]
pop ebx
call fcn.00464eaf
add esp, 0x55c
ret 4