Function at 0x4bb46c
Capabilities:
Copy file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
mov esi, 0x4da294
xor eax, eax
push ebp
push 0x4bb97b
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 1
mov eax, dword [0x4d6b0c]
cmp byte [eax], 0
jne 0x4bb953
mov eax, dword [0x4d6b0c]
mov byte [eax], 1
push 0x80
mov eax, dword [0x4d6f14]
push dword [eax]
mov eax, dword [0x4d688c]
push dword [eax]
push 0x4bb994
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00404620
mov eax, dword [ebp - 0x14]
call fcn.00404760
push eax
call sub.kernel32.dll_SetFileAttributesA
mov eax, dword [0x4d6f14]
push dword [eax]
mov eax, dword [0x4d688c]
push dword [eax]
push 0x4bb994
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00404620
mov ecx, dword [ebp - 0x18]
mov dl, 1
mov eax, dword [0x4383f4]
call fcn.004384a4
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x4bb8da
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x4bb9a4
lea eax, [ebp - 8]
push eax
mov ecx, 0x4bb9b4
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx]
mov ecx, 0x4bb9b4
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
call fcn.00438ac4
test al, al
je 0x4bb558
mov eax, dword [ebp - 8]
mov edx, dword [esi]
call fcn.004046ac
je 0x4bb56d
mov eax, dword [esi]
push eax
mov ecx, 0x4bb9b4
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x4bb9cc
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx]
mov ecx, 0x4bb9cc
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
call fcn.00438ac4
test al, al
je 0x4bb5a7
mov eax, dword [ebp - 8]
mov edx, dword [esi + 4]
call fcn.004046ac
je 0x4bb5bd
mov eax, dword [esi + 4]
push eax
mov ecx, 0x4bb9cc
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x4bb9d8
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx]
mov ecx, 0x4bb9d8
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
call fcn.00438ac4
test al, al
je 0x4bb5f7
mov eax, dword [ebp - 8]
mov edx, dword [esi + 0x18]
call fcn.004046ac
je 0x4bb60d
mov eax, dword [esi + 0x18]
push eax
mov ecx, 0x4bb9d8
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x4bb9e4
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx]
mov ecx, 0x4bb9e4
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
call fcn.00438ac4
test al, al
je 0x4bb647
mov eax, dword [ebp - 8]
mov edx, dword [esi + 0x10]
call fcn.004046ac
je 0x4bb65d
mov eax, dword [esi + 0x10]
push eax
mov ecx, 0x4bb9e4
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
mov ecx, 0x4bb9f0
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov ebx, eax
mov ecx, 0x4bb9f0
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
call fcn.00438ac4
test al, al
je 0x4bb68e
cmp bl, byte [esi + 9]
je 0x4bb6a4
mov al, byte [esi + 9]
push eax
mov ecx, 0x4bb9f0
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x14]
push 0
mov ecx, 0x4bb9fc
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov ebx, eax
mov ecx, 0x4bb9fc
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
call fcn.00438ac4
test al, al
je 0x4bb6d5
cmp bl, byte [esi + 0xa]
je 0x4bb6eb
mov al, byte [esi + 0xa]
push eax
mov ecx, 0x4bb9fc
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x14]
push 0
mov ecx, 0x4bba08
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov ebx, eax
mov ecx, 0x4bba08
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
call fcn.00438ac4
test al, al
je 0x4bb71c
cmp bl, byte [esi + 0xb]
je 0x4bb732
mov al, byte [esi + 0xb]
push eax
mov ecx, 0x4bba08
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x14]
push 0x4bba14
lea eax, [ebp - 8]
push eax
mov ecx, 0x4bba34
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx]
mov ecx, 0x4bba34
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
call fcn.00438ac4
test al, al
je 0x4bb76f
mov eax, dword [ebp - 8]
mov edx, dword [esi + 0x24]
call fcn.004046ac
je 0x4bb785
mov eax, dword [esi + 0x24]
push eax
mov ecx, 0x4bba34
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0x1f90
mov ecx, 0x4bba40
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov ebx, eax
mov ecx, 0x4bba40
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
call fcn.00438ac4
test al, al
je 0x4bb7b9
cmp ebx, dword [esi + 0x28]
je 0x4bb7cf
mov eax, dword [esi + 0x28]
push eax
mov ecx, 0x4bba40
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
push 0
mov ecx, 0x4bba4c
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov ebx, eax
mov ecx, 0x4bba4c
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
call fcn.00438ac4
test al, al
je 0x4bb800
cmp bl, byte [esi + 8]
je 0x4bb816
mov al, byte [esi + 8]
push eax
mov ecx, 0x4bba4c
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x14]
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x4bba58
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx]
lea edx, [ebp - 0xc]
mov eax, dword [0x4d7078]
mov eax, dword [eax]
call fcn.004b2f4c
mov ecx, 0x4bba58
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
call fcn.00438ac4
test al, al
je 0x4bb85f
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
call fcn.004046ac
je 0x4bb875
mov eax, dword [ebp - 0xc]
push eax
mov ecx, 0x4bba58
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 4]
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x4bba64
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx]
lea edx, [ebp - 0xc]
mov eax, dword [esi + 0x14]
call fcn.004b7f5c
mov ecx, 0x4bba64
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
call fcn.00438ac4
test al, al
je 0x4bb8ba
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
call fcn.004046ac
je 0x4bb8d0
mov eax, dword [ebp - 0xc]
push eax
mov ecx, 0x4bba64
mov edx, 0x4bb9c0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 4]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4bb8e4
cmp dword [ebp - 0x10], 0
je 0x4bb8f2
mov eax, dword [ebp - 0x10]
call fcn.00403440
push 0
mov eax, dword [0x4d6f14]
push dword [eax]
mov eax, dword [0x4d688c]
push dword [eax]
push 0x4bba70
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.00404620
mov eax, dword [ebp - 0x1c]
call fcn.00404760
push eax
mov eax, dword [0x4d6f14]
push dword [eax]
mov eax, dword [0x4d688c]
push dword [eax]
push 0x4bb994
lea eax, [ebp - 0x20]
mov edx, 3
call fcn.00404620
mov eax, dword [ebp - 0x20]
call fcn.00404760
push eax
call sub.kernel32.dll_CopyFileA
mov eax, dword [0x4d6b0c]
mov byte [eax], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bb982
lea eax, [ebp - 0x20]
mov edx, 4
call fcn.004042b4
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004042b4
ret