Function at 0x408234
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xffffffc4
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x103c], ecx
mov dword [ebp - 0x1038], ecx
mov dword [ebp - 0x1034], ecx
mov dword [ebp - 0x1028], ecx
mov dword [ebp - 0x102c], ecx
mov dword [ebp - 0x1030], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], ecx
mov esi, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.0040353c
xor eax, eax
push ebp
push 0x408610
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov eax, esi
mov ecx, 1
mov edx, dword [0x406268]
call fcn.00404cb0
add esp, 4
mov byte [ebp - 5], 0
xor eax, eax
push ebp
push 0x4085d3
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004070c0
test al, al
jne 0x4082d0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4085dd
push dword [ebp - 4]
mov eax, dword [ebp - 4]
call fcn.00407bbc
mov edx, eax
lea eax, [ebp - 0x1028]
call fcn.0040333c
push dword [ebp - 0x1028]
push 0x40862c
lea eax, [ebp - 0x102c]
call fcn.004074e8
push dword [ebp - 0x102c]
push 0x408638
call sub.KERNEL32.DLL_InitializeCriticalSection
lea edx, [ebp - 0x1030]
call fcn.00407588
push dword [ebp - 0x1030]
lea eax, [ebp - 4]
mov edx, 6
call fcn.00403448
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 4]
call fcn.00403388
mov ecx, eax
mov edx, 8
mov eax, dword [ebp - 4]
call fcn.00403590
mov edx, dword [ebp - 0xc]
mov eax, 0x408644
call fcn.00403618
mov ebx, eax
test ebx, ebx
je 0x408388
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00403388
mov ecx, eax
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.00403590
mov eax, dword [ebp - 0xc]
call fcn.00403388
mov ecx, eax
lea eax, [ebp - 0xc]
mov edx, ebx
call fcn.004035d0
jmp 0x408395
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4085dd
lea ecx, [ebp - 0x14]
mov eax, dword [0x40a508]
mov edx, 0x44
call fcn.00407888
mov edx, dword [ebp - 0x14]
mov eax, 0x408650
call fcn.00403618
mov ebx, eax
test ebx, ebx
je 0x4083ca
mov ecx, ebx
dec ecx
lea eax, [ebp - 0x14]
mov edx, 1
call fcn.004035d0
mov edx, dword [ebp - 0x14]
mov eax, 0x40865c
call fcn.00403618
mov ebx, eax
test ebx, ebx
je 0x4083ed
mov ecx, ebx
dec ecx
lea eax, [ebp - 0x14]
mov edx, 1
call fcn.004035d0
mov edx, dword [ebp - 0x14]
mov eax, 0x408668
call fcn.00403618
mov ebx, eax
test ebx, ebx
je 0x408414
mov eax, dword [ebp - 0x14]
call fcn.00403388
mov ecx, eax
lea eax, [ebp - 0x14]
mov edx, ebx
call fcn.004035d0
push 0
push 0
push 0
push 0
push 0x40866c
call sub.oleaut32.dll_SysStringLen
mov ebx, eax
test ebx, ebx
je 0x408531
push 1
push 0
push 3
push 0x40866c
push 0x40866c
push 0x50
mov eax, dword [ebp - 0xc]
call fcn.0040354c
push eax
push ebx
call sub.oleaut32.dll_SysFreeString
mov edi, eax
test edi, edi
je 0x40852b
push 1
push 0x4400000
push 0
mov eax, dword [ebp - 0x14]
call fcn.0040354c
push eax
push 0
mov eax, dword [ebp - 0x10]
call fcn.0040354c
push eax
push 0x408670
push edi
call sub.KERNEL32.DLL_UnhandledExceptionFilter
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x408525
lea eax, [ebp - 0x18]
call fcn.00403224
lea eax, [ebp - 0x1021]
xor ecx, ecx
mov edx, 0x1001
call fcn.004026d8
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x1c]
push eax
call sub.oleaut32.dll_SysAllocStringLen
test eax, eax
je 0x40851c
jmp 0x4084ff
cmp dword [ebp - 0x20], 0
je 0x40851c
lea eax, [ebp - 0x1034]
lea edx, [ebp - 0x1021]
call fcn.0040334c
mov edx, dword [ebp - 0x1034]
lea eax, [ebp - 0x18]
call fcn.00403390
lea eax, [ebp - 0x1021]
xor ecx, ecx
mov edx, 0x1001
call fcn.004026d8
push 0x64
call sub.KERNEL32.DLL_CopyFileA
lea eax, [ebp - 0x20]
push eax
push 0x1000
lea eax, [ebp - 0x1021]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call sub.oleaut32.dll_VariantClear
test eax, eax
jne 0x4084c1
mov eax, dword [ebp - 0x1c]
push eax
call sub.oleaut32.dll_SysReAllocStringLen
push edi
call sub.oleaut32.dll_SysReAllocStringLen
push ebx
call sub.oleaut32.dll_SysReAllocStringLen
lea ecx, [ebp - 0x1038]
mov eax, dword [0x40a504]
mov edx, 6
call fcn.00407888
lea eax, [ebp - 0x1038]
mov edx, 0x40867c
call fcn.00403390
mov eax, dword [ebp - 0x1038]
mov edx, dword [ebp - 0x18]
call fcn.00403618
mov ebx, eax
test ebx, ebx
je 0x40857a
mov ecx, ebx
dec ecx
lea eax, [ebp - 0x18]
mov edx, 1
call fcn.004035d0
lea ecx, [ebp - 0x103c]
mov eax, 0x40a4f4
mov edx, 5
call fcn.00407888
mov eax, dword [ebp - 0x103c]
mov edx, dword [ebp - 0x18]
call fcn.00403618
mov ebx, eax
test ebx, ebx
je 0x4085b7
mov eax, dword [ebp - 0x18]
call fcn.00403388
mov ecx, eax
lea eax, [ebp - 0x18]
mov edx, ebx
call fcn.004035d0
mov edx, esi
lea eax, [ebp - 0x18]
call fcn.00407618
test al, al
je 0x4085c9
mov byte [ebp - 5], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4085dd
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x408617
lea eax, [ebp - 0x103c]
mov edx, 6
call fcn.00403248
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.00403248
lea eax, [ebp - 4]
call fcn.00403224
ret