Function at 0x5943c0
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xa
push 0
push 0
dec ecx
jne 0x5943c8
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x59475f
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
cmp dword [eax + 0x18c], 0
je 0x594729
xor eax, eax
push ebp
push 0x5946fa
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x10]
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
call fcn.005c1ee0
lea edx, [ebp - 0x1c]
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
call fcn.005c1dd0
mov eax, dword [ebp - 0x1c]
call fcn.00408318
test eax, eax
jl 0x5944ae
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 8], 0
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 8]
mov eax, dword [eax + edx*4]
lea edx, [ebp - 0x2c]
call fcn.0042c110
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x28]
call fcn.004281c0
mov eax, dword [ebp - 0x28]
push eax
lea edx, [ebp - 0x34]
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
mov eax, dword [eax + 0x18c]
call fcn.0042c110
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x30]
call fcn.004281c0
mov edx, dword [ebp - 0x30]
pop eax
call fcn.0040759c
jne 0x5944a6
mov eax, dword [0x5dfa4c]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x59477c
call fcn.0043f8a0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x594729
inc dword [ebp - 8]
dec dword [ebp - 0x20]
jne 0x59443b
cmp dword [ebp - 0x10], 0
je 0x594554
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0x10]
call fcn.0042bf40
mov edx, dword [ebp - 0x38]
lea eax, [ebp - 0x10]
call fcn.00406a1c
lea eax, [ebp - 0x3c]
mov ecx, dword [ebp - 0x10]
mov edx, 0x5947c0
call fcn.00407404
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x5dfa4c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043f8a0
lea eax, [ebp - 0x18]
mov ecx, 0x5947f8
mov edx, dword [ebp - 0x10]
call fcn.00407404
mov eax, dword [ebp - 0x18]
call fcn.004283d0
test al, al
jne 0x594543
lea edx, [ebp - 0x14]
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
mov eax, dword [eax + 0x18c]
call fcn.0042c060
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 0x18]
call fcn.0042bf40
mov ecx, dword [ebp - 0x40]
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
mov eax, dword [eax + 0x18c]
mov edx, dword [ebp - 0x14]
call fcn.00594290
mov edx, dword [ebp - 0x18]
mov eax, dword [0x5df2e0]
call fcn.005723a0
mov byte [ebp - 1], 1
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
je 0x5946f0
mov eax, dword [ebp - 0x1c]
call fcn.00408318
test eax, eax
jl 0x5946f0
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 8], 0
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 8]
mov ecx, dword [eax + edx*4]
lea eax, [ebp - 0x44]
mov edx, 0x594810
call fcn.00407404
mov edx, dword [ebp - 0x44]
mov eax, dword [0x5dfa4c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043f8a0
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18c]
lea eax, [ebp - 0x48]
mov edx, 0x594854
call fcn.00407404
mov edx, dword [ebp - 0x48]
mov eax, dword [0x5dfa4c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043f8a0
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
mov eax, dword [eax + 0x18c]
call fcn.00428310
test al, al
jne 0x59461b
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18c]
lea eax, [ebp - 0x4c]
mov edx, 0x59488c
call fcn.00407404
mov edx, dword [ebp - 0x4c]
mov eax, dword [0x5dfa4c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043f8a0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x594729
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 8]
mov eax, dword [eax + edx*4]
call fcn.00428310
test al, al
je 0x5946e4
mov dword [ebp - 0xc], 1
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 8]
mov eax, dword [eax + edx*4]
call fcn.00428370
test al, al
jne 0x594688
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 8]
mov edx, dword [eax + edx*4]
lea eax, [ebp - 0x50]
mov ecx, 0x5948dc
call fcn.00407404
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
mov eax, dword [eax + ecx*4]
call fcn.00428340
test al, al
jne 0x594688
push 0x96
call sub.kernel32.dll_Sleep_2
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xb
jne 0x594638
mov dword [ebp - 0xc], 1
push 0
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 8]
mov eax, dword [eax + edx*4]
call fcn.00407214
push eax
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
mov eax, dword [eax + 0x18c]
call fcn.00407214
push eax
call sub.kernel32.dll_CopyFileW
test eax, eax
je 0x5946d1
mov eax, dword [0x5dfa4c]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x5948f4
call fcn.0043f8a0
jmp 0x5946e4
push 0x96
call sub.kernel32.dll_Sleep_2
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xb
jne 0x59468f
inc dword [ebp - 8]
dec dword [ebp - 0x20]
jne 0x59457b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x594729
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x594766
lea eax, [ebp - 0x50]
mov edx, 0xb
call fcn.00406670
lea eax, [ebp - 0x1c]
mov edx, dword [0x427a4c]
call fcn.004084d0
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00406670
ret