Function at 0x404f70
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x547fa1
mov eax, dword fs:[0]
push eax
sub esp, 0x48
mov eax, dword [0x5a10e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x50], eax
mov eax, dword [0x5a9460]
test eax, eax
jne 0x404fe7
push 0x128
call fcn.004166c9
add esp, 4
mov dword [ebp - 0x4c], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x404fd8
push eax
call fcn.0040c710
or esi, 0xffffffff
mov dword [ebp - 4], esi
mov dword [0x5a9460], eax
jmp 0x404fea
xor eax, eax
or esi, 0xffffffff
mov dword [ebp - 4], esi
mov dword [0x5a9460], eax
jmp 0x404fea
or esi, 0xffffffff
mov eax, dword [eax + 0xac]
cmp eax, 3
je 0x405369
push str.TimeLog:_Begin_Installing
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416090
mov ecx, dword [0x5a9460]
add esp, 4
test ecx, ecx
jne 0x40504a
push 0x128
call fcn.004166c9
add esp, 4
mov dword [ebp - 0x4c], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x40503d
push eax
call fcn.0040c710
jmp 0x40503f
xor eax, eax
mov ecx, eax
mov dword [ebp - 4], esi
mov dword [0x5a9460], ecx
call fcn.00410140
push str.TimeLog:_End_Installing._Now_launching_PDApp
mov edi, eax
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416090
mov eax, dword [0x5a9460]
add esp, 4
test eax, eax
jne 0x40509e
push 0x128
call fcn.004166c9
add esp, 4
mov dword [ebp - 0x4c], eax
mov dword [ebp - 4], 2
test eax, eax
je 0x405094
push eax
call fcn.0040c710
jmp 0x405096
xor eax, eax
mov dword [ebp - 4], esi
mov dword [0x5a9460], eax
cmp byte [eax + 0x4c], 0
jne 0x4050d2
call fcn.0040cb50
mov eax, dword [eax + 0xac]
cmp eax, 2
je 0x4050d2
cmp eax, 1
je 0x4050d2
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x20]
mov edx, dword [eax + 0x20]
push 0
push 0
push 0x84e
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x1f4
call esi
cmp dword [0x5a955c], 0
je 0x4050f8
push 0x1f4
call esi
cmp dword [0x5a955c], 0
jne 0x4050e8
cmp dword [0x5a9558], 0
jne 0x40542c
test edi, edi
jns 0x405148
mov dword [0x5a954c], 1
cmp edi, 0xfffffff4
jne 0x40512a
mov dword [0x5a954c], 0xfffffff7
lea eax, [edi + 3]
jmp 0x40542e
cmp edi, 0xffffffe6
jne 0x40513e
mov eax, 0xfffffff0
mov dword [0x5a954c], eax
jmp 0x40542e
mov eax, 0xfffffffb
jmp 0x40542e
call fcn.0040cb50
cmp dword [eax + 0x30], 0
je 0x405369
mov eax, 7
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edi
mov word [ebp - 0x2c], cx
mov dword [ebp - 4], 3
xor edx, edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], edi
mov word [ebp - 0x48], dx
mov byte [ebp - 4], 4
call fcn.0040cb50
mov eax, dword [eax + 0x20]
cmp eax, edi
jne 0x405192
mov eax, 0x576984
mov ecx, eax
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, di
jne 0x405197
sub ecx, esi
sar ecx, 1
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00403230
push 1
mov eax, 0x5770cc
lea ecx, [ebp - 0x2c]
call fcn.004089c0
call fcn.0040cb50
mov eax, dword [eax + 0x34]
mov ecx, eax
lea esi, [ecx + 2]
jmp 0x4051d0
mov dx, word [ecx]
add ecx, 2
cmp dx, di
jne 0x4051d0
sub ecx, esi
sar ecx, 1
push ecx
lea ecx, [ebp - 0x2c]
call fcn.004089c0
push 0xe
mov eax, 0x5770d0
lea ecx, [ebp - 0x2c]
call fcn.004089c0
call fcn.0040cb50
mov eax, dword [eax + 0x20]
cmp eax, edi
jne 0x405208
mov eax, 0x576984
mov ecx, eax
lea esi, [ecx + 2]
lea ecx, [ecx]
mov dx, word [ecx]
add ecx, 2
cmp dx, di
jne 0x405210
sub ecx, esi
sar ecx, 1
push ecx
lea ecx, [ebp - 0x48]
call fcn.00403230
push 0xe
mov eax, 0x5770d0
lea ecx, [ebp - 0x48]
call fcn.004089c0
mov ecx, dword [ebp - 0x48]
mov ebx, 8
cmp dword [ebp - 0x34], ebx
jae 0x405247
lea ecx, [ebp - 0x48]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], ebx
jae 0x405252
lea eax, [ebp - 0x2c]
mov esi, dword [sym.imp.KERNEL32.dll_CopyFileW]
push edi
push ecx
push eax
call esi
test eax, eax
jne 0x4052a3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Unable_to_launch_PDApp._Error_in_performing_additional_copy_of_PDAppFlex.swf._nGetLastError_____ld
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416120
add esp, 8
lea esi, [ebp - 0x48]
mov dword [0x5a954c], 3
call fcn.004015b0
lea esi, [ebp - 0x2c]
call fcn.004015b0
mov eax, 0xfffffffa
jmp 0x40542e
lea eax, [ebp - 0x48]
call fcn.00416150
call fcn.0040cb50
mov eax, dword [eax + 0x20]
cmp eax, edi
jne 0x4052bc
mov eax, 0x576984
lea ecx, [ebp - 0x2c]
push ecx
call fcn.00402e80
lea edx, [ebp - 0x2c]
push edx
mov eax, 0x5770cc
call fcn.00408950
call fcn.0040cb50
mov eax, dword [eax + 0x34]
lea ecx, [ebp - 0x2c]
push ecx
call fcn.00408950
lea edx, [ebp - 0x2c]
push edx
mov eax, str.PDAppFlex_app.xml
call fcn.00408950
call fcn.0040cb50
mov eax, dword [eax + 0x20]
cmp eax, edi
jne 0x405303
mov eax, 0x576984
lea ecx, [ebp - 0x48]
push ecx
call fcn.00402e80
lea edx, [ebp - 0x48]
push edx
mov eax, str.PDAppFlex_app.xml
call fcn.00408950
mov ecx, dword [ebp - 0x48]
cmp dword [ebp - 0x34], ebx
jae 0x405325
lea ecx, [ebp - 0x48]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], ebx
jae 0x405330
lea eax, [ebp - 0x2c]
push edi
push ecx
push eax
call esi
test eax, eax
jne 0x40534a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Unable_to_launch_PDApp._Error_in_performing_additional_copy_of_PDAppFlex_app.xml._nGetLastError_____ld
jmp 0x40526d
lea eax, [ebp - 0x48]
call fcn.00416150
lea esi, [ebp - 0x48]
call fcn.004015b0
lea esi, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.004015b0
mov esi, dword [ebp - 0x50]
mov ecx, dword [esi + 0xfc]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
test al, al
je 0x40538a
mov ecx, dword [esi + 0x100]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
cmp dword [0x5a9558], 0
jne 0x40542c
call fcn.0040cb50
cmp byte [eax + 0x4c], 0
je 0x4053b0
call fcn.0040cb50
mov ecx, eax
call fcn.0040ecf0
jmp 0x40542e
call fcn.0040cb50
mov ecx, eax
call fcn.0040f650
mov esi, eax
test esi, esi
je 0x4053c7
cmp esi, 0xfffffff7
jne 0x40542c
call fcn.0040cb50
cmp byte [eax + 0x4c], 0
jne 0x40542c
cmp esi, 0xfffffff7
jne 0x4053fd
push str.Unable_to_launch_PDApp._File_missing
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416120
add esp, 4
mov dword [0x5a954c], 2
lea eax, [esi + 2]
jmp 0x40542e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Unable_to_launch_PDApp._nGetLastError_____ld
call fcn.00415aa0
mov ebx, 0x576f68
call fcn.00416120
add esp, 8
mov dword [0x5a954c], 2
mov eax, 0xfffffff9
jmp 0x40542e
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00515d64
mov esp, ebp
pop ebp
ret 4