Function at 0x4b56cc
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 3
add esp, 0xfffff004
push eax
dec eax
jne 0x4b56d5
mov eax, dword [ebp - 4]
add esp, 0xfffffe24
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x31e0], ebx
mov dword [ebp - 0x31dc], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov edi, eax
mov eax, dword [ebp - 4]
call fcn.00404ec0
mov eax, dword [ebp - 8]
call fcn.00404ec0
xor eax, eax
push ebp
push 0x4b5b96
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.004098ac
cmp eax, 0xffffffff
je 0x4b5756
and eax, 1
dec eax
jne 0x4b5756
push 0
mov ecx, 0x4b5ba8
mov edx, 0x4b5bb4
mov eax, dword [0x4ba614]
mov eax, dword [eax]
call fcn.00466e64
mov byte [ebp - 9], 0
jmp 0x4b5b63
mov eax, dword [edi + 0x50a8c]
call fcn.00409790
test al, al
jne 0x4b5786
push 0
mov ecx, 0x4b5ba8
mov edx, 0x4b5be4
mov eax, dword [0x4ba614]
mov eax, dword [eax]
call fcn.00466e64
mov byte [ebp - 9], 0
jmp 0x4b5b63
push 0
mov eax, dword [ebp - 4]
call fcn.00404ed0
push eax
mov eax, dword [edi + 0x50a8c]
call fcn.00404ed0
push eax
call sub.kernel32.dll_CopyFileA
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x4b57cd
push 0
mov ecx, 0x4b5ba8
mov edx, 0x4b5c10
mov eax, dword [0x4ba614]
mov eax, dword [eax]
call fcn.00466e64
mov byte [ebp - 9], 0
jmp 0x4b5b63
mov edx, dword [edi + 0x516a8]
lea eax, [ebp - 0x31dc]
mov ecx, 0x4b5c34
call fcn.00404d1c
mov ecx, dword [ebp - 0x31dc]
mov edx, dword [ebp - 4]
mov eax, edi
call fcn.004b529c
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x164]
call fcn.00402f68
mov eax, dword [0x4ba728]
mov byte [eax], 2
mov edx, 1
lea eax, [ebp - 0x164]
call fcn.004034ac
call fcn.00402944
mov byte [ebp - 0x2ab1], 0x4d
mov byte [ebp - 0x2ab0], 0x5a
mov byte [ebp - 0x2aaf], 0x50
mov byte [ebp - 0x2aae], 0
mov byte [ebp - 0x2aad], 2
push 0
lea edx, [ebp - 0x2ab1]
mov ecx, 5
lea eax, [ebp - 0x164]
call fcn.004030ec
call fcn.00402944
mov edx, 0x384
lea eax, [ebp - 0x164]
call fcn.004034d4
call fcn.00402944
call fcn.00402c14
mov byte [ebp - 0x2ab1], 0xc
mov byte [ebp - 0x2ab0], 0
mov byte [ebp - 0x2aaf], 4
mov byte [ebp - 0x2aae], 0x17
mov ebx, 7
lea esi, [ebp - 0x2aad]
mov eax, 0xff
call fcn.00403388
mov byte [esi], al
inc esi
dec ebx
jne 0x4b589f
push 0
lea edx, [ebp - 0x2ab1]
mov ecx, 5
lea eax, [ebp - 0x164]
call fcn.004030ec
call fcn.00402944
lea eax, [ebp - 0x164]
call fcn.0040331c
call fcn.00402944
mov dword [ebp - 0x10], eax
push 0
lea edx, [ebp - 0x10]
mov ecx, 4
lea eax, [ebp - 0x164]
call fcn.004030ec
call fcn.00402944
mov ebx, 0xb
lea esi, [ebp - 0x2ab1]
mov eax, 0xff
call fcn.00403388
mov byte [esi], al
inc esi
dec ebx
jne 0x4b5904
push 0
lea edx, [ebp - 0x2ab1]
mov ecx, 6
lea eax, [ebp - 0x164]
call fcn.004030ec
call fcn.00402944
lea eax, [ebp - 0x164]
call fcn.0040310c
call fcn.00402944
cmp dword [ebp - 8], 0
jne 0x4b595b
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, edi
call fcn.004b30c4
jmp 0x4b5b4f
mov edx, dword [ebp - 8]
lea eax, [ebp - 0x164]
call fcn.00402f68
mov eax, dword [0x4ba728]
mov byte [eax], 0
mov edx, 1
lea eax, [ebp - 0x164]
call fcn.004034ac
call fcn.00402944
push 0
lea edx, [ebp - 0x31d8]
mov ecx, 0x724
lea eax, [ebp - 0x164]
call fcn.004030cc
call fcn.00402944
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x2b0]
call fcn.00402f68
mov eax, dword [0x4ba728]
mov byte [eax], 2
mov edx, 1
lea eax, [ebp - 0x2b0]
call fcn.004034ac
call fcn.00402944
lea eax, [ebp - 0x2b0]
call fcn.0040331c
call fcn.00402944
mov edx, eax
lea eax, [ebp - 0x2b0]
call fcn.004034d4
call fcn.00402944
mov eax, dword [ebp - 0x10]
add dword [ebp - 0x312c], eax
mov eax, dword [ebp - 0x10]
add dword [ebp - 0x3124], eax
mov eax, dword [ebp - 0x10]
add dword [ebp - 0x30fc], eax
mov eax, dword [ebp - 0x10]
add dword [ebp - 0x30f0], eax
mov eax, dword [ebp - 0x10]
add dword [ebp - 0x2f28], eax
push 0x3af
lea edx, [ebp - 0x31e0]
mov eax, dword [0x4ba614]
mov eax, dword [eax]
call fcn.004672e4
mov edx, dword [ebp - 0x31e0]
xor ecx, ecx
mov eax, edi
call fcn.004af5e0
call fcn.00402c14
cmp dword [edi + 0x50a88], 0xd
je 0x4b5aac
call fcn.0040ae58
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x18]
mov edx, 0x4b5c48
call fcn.0040ba60
mov eax, 6
call fcn.00403388
cmp eax, 4
jl 0x4b5a97
mov eax, dword [ebp - 0x18]
mov edx, 0x4b5c5c
call fcn.00404e1c
jae 0x4b5abf
mov eax, dword [ebp - 0x18]
mov edx, 0x4b5c70
call fcn.00404e1c
jbe 0x4b5abf
lea edx, [ebp - 0x31d8]
mov eax, edi
call fcn.004b4618
mov byte [ebp - 0x2ab5], al
jmp 0x4b5abf
lea edx, [ebp - 0x31d8]
mov eax, edi
call fcn.004b4618
mov byte [ebp - 0x2ab5], al
push 0
lea edx, [ebp - 0x31d8]
mov ecx, 0x724
lea eax, [ebp - 0x2b0]
call fcn.004030ec
call fcn.00402944
mov dword [ebp - 0x14], 0x2801
cmp dword [ebp - 0x14], 0x2801
jne 0x4b5b2f
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x2ab1]
mov ecx, 0x2801
lea eax, [ebp - 0x164]
call fcn.004030cc
call fcn.00402944
push 0
lea edx, [ebp - 0x2ab1]
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x2b0]
call fcn.004030ec
call fcn.00402944
cmp dword [ebp - 0x14], 0x2801
je 0x4b5aec
lea eax, [ebp - 0x164]
call fcn.0040310c
call fcn.00402944
lea eax, [ebp - 0x2b0]
call fcn.0040310c
call fcn.00402944
push 0x3a8
mov ecx, 0x3a8
mov edx, dword [ebp - 4]
mov eax, edi
call fcn.004add0c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b5b9d
lea eax, [ebp - 0x31e0]
mov edx, 2
call fcn.00404a34
lea eax, [ebp - 0x18]
call fcn.00404a10
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404a34
ret