Function at 0x42a314
Capabilities:
Copy file

Disassembly:
push 0x40
mov eax, 0x47e383
call fcn.004642f2
xor edi, edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], edi
mov esi, dword [ebp + 8]
lea eax, [esi + 0xc]
push eax
mov dword [ebp - 4], edi
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [esi], esi
je 0x42a415
mov ebx, dword [esi + 8]
imul ebx, ebx, 0x125
push edi
add ebx, 0xc
push ebx
lea eax, [ebp - 0x3c]
call fcn.0040b59f
push edi
lea esi, [ebp - 0x3c]
call fcn.0040b370
push 0x4863d8
push 4
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], edi
pop edi
lea esi, [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x40], ebx
call fcn.0043527e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
and dword [ebp - 0x28], 0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0043527e
and dword [ebp - 0x2c], 0
and dword [ebp - 0x28], 0
lea eax, [ebp - 0x2c]
push eax
call fcn.0043527e
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
cmp eax, ecx
mov dword [ebp - 0x14], eax
je 0x42a3dd
jmp 0x42a3bb
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x42a3d3
add eax, 8
push eax
mov edi, 0x125
lea esi, [ebp - 0x4c]
call fcn.0043527e
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
cmp eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
jne 0x42a3b8
push dword [ebp - 0x20]
lea eax, [ebx - 0xc]
push eax
push 0xc
lea esi, [ebp - 0x3c]
call fcn.0040b370
mov edi, eax
call fcn.00419766
pop ecx
pop ecx
mov dword [ebp - 0x1c], eax
push 4
lea eax, [ebp - 0x1c]
push eax
push 8
call fcn.0040b370
push eax
call fcn.0045c2a0
mov esi, dword [ebp + 8]
add esp, 0xc
xor edi, edi
lea eax, [esi + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp ebx, edi
je 0x42a5de
lea esi, [ebp - 0x18]
call fcn.00435c91
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.00435b68
push ecx
mov byte [ebp - 4], 2
mov eax, esp
mov dword [ebp - 0x1c], esp
push 0x48b2e0
push eax
call fcn.004045f7
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x20]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
mov esi, esp
call fcn.00401ad5
add eax, 0x10
mov dword [esi], eax
lea esi, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00434ce5
pop ecx
pop ecx
mov byte [ebp - 4], 4
cmp dword [ebp - 0x38], edi
push 1
jne 0x42a487
xor eax, eax
jmp 0x42a48d
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x38]
push eax
push edi
lea esi, [ebp - 0x3c]
call fcn.0040b370
push eax
mov eax, dword [ebp - 0x14]
push 1
push edi
push edi
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x24], esp
mov esi, esp
call fcn.00401ad5
add eax, 0x10
mov dword [esi], eax
call fcn.00434632
add esp, 0x1c
cmp dword [ebp - 0x38], edi
jne 0x42a4c3
xor ecx, ecx
jmp 0x42a4c9
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x38]
cmp eax, ecx
je 0x42a4f9
lea eax, [ebp - 0x1c]
push eax
call fcn.00435cf5
pop ecx
mov byte [ebp - 4], 5
push dword [eax]
push 0x48b400
call fcn.00417a54
mov eax, dword [ebp - 0x1c]
pop ecx
pop ecx
add eax, 0xfffffff0
call fcn.00401144
jmp 0x42a5b6
cmp byte [0x4a6758], 0
jne 0x42a59a
mov eax, dword [ebp - 0x18]
cmp dword [eax - 0xc], edi
je 0x42a59a
push ecx
mov eax, esp
mov dword [ebp - 0x24], esp
push 0x48b2f4
push eax
call fcn.004045f7
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x18]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov esi, esp
call fcn.00401ad5
add eax, 0x10
mov dword [esi], eax
lea esi, [ebp - 0x1c]
mov byte [ebp - 4], 4
call fcn.00434ce5
pop ecx
pop ecx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
call fcn.00401ad5
lea esi, [eax + 0x10]
mov dword [ebp - 0x28], esi
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.00401ad5
push edi
lea ebx, [eax + 0x10]
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [ebx - 0x10]
call fcn.00401144
lea eax, [esi - 0x10]
call fcn.00401144
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
call fcn.00401144
mov eax, dword [ebp - 0x14]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov esi, esp
call fcn.00401ad5
add eax, 0x10
mov dword [esi], eax
call fcn.00434ba1
pop ecx
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.00401144
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
call fcn.00401144
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.00401144
mov esi, dword [ebp + 8]
push dword [esi + 8]
push 0x48b41c
call fcn.00417a54
pop ecx
pop ecx
lea esi, [ebp - 0x3c]
call fcn.004506d9
mov al, 1
call fcn.004643ca
ret 4