Function at 0x637818
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.00404cfc
xor eax, eax
push ebp
push 0x637a6d
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x6378f7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x65fe64]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
cmp byte [eax + 0x2f0], 0
je 0x6378ed
mov eax, dword [ebp - 8]
call fcn.00409814
test al, al
je 0x6378ed
lea edx, [ebp - 0x10]
mov eax, dword [0x65fe64]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov eax, dword [eax + 0x184]
call fcn.00649e0c
mov eax, dword [ebp - 0x10]
call fcn.00409824
test al, al
je 0x6378ed
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.00409bf4
mov eax, dword [ebp - 0x14]
push eax
lea edx, [ebp - 0x18]
mov eax, dword [0x65fe64]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov eax, dword [eax + 0x184]
call fcn.00649e0c
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0xc]
pop ecx
call fcn.00404b60
push 0
mov eax, dword [ebp - 0xc]
call fcn.00404d0c
push eax
mov eax, dword [ebp - 8]
call fcn.00404d0c
push eax
call sub.KERNEL32.DLL_CopyFileA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x637901
xor eax, eax
push ebp
push 0x6379f4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov byte [eax + 0x31c], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x31d], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x31e], 0
mov cl, 1
mov dl, 1
mov eax, dword [0x636c64]
call fcn.0042417c
mov ebx, eax
mov byte [ebx + 0xf], 1
mov eax, dword [ebp - 4]
mov dword [ebx + 0x30], eax
lea eax, [ebx + 0x34]
mov edx, dword [ebp - 8]
call fcn.004048b0
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 8]
call fcn.00409bf4
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
add eax, 0x310
call fcn.004048b0
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x320], eax
mov eax, ebx
call fcn.004244b8
call sub.KERNEL32.DLL_GetTickCount
xor edx, edx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x328], eax
mov dword [ecx + 0x32c], edx
jmp 0x6379ab
mov eax, dword [0x660138]
mov eax, dword [eax]
call fcn.0046b864
push 0xa
call sub.KERNEL32.DLL_Sleep
mov eax, dword [ebp - 4]
cmp byte [eax + 0x31d], 0
je 0x637998
xor eax, eax
push ebp
push 0x6379e0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
xor edx, edx
mov dword [eax + 0x38], edx
mov dword [eax + 0x3c], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6379ea
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6379fe
xor eax, eax
push ebp
push 0x637a48
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x637a3e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
mov edx, dword [eax]
call dword [edx + 0x54]
test al, al
je 0x637a3e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f8]
call fcn.005d4a80
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x637a52
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x637a74
lea eax, [ebp - 0x1c]
mov edx, 6
call fcn.00404880
ret