Function at 0x409290
Capabilities:
Copy file
Get file attributes
Resolve function by parsing pe exports
Set file attributes

Disassembly:
sub esp, 0x214
mov eax, dword [0x4762c4]
xor eax, esp
mov dword [esp + 0x210], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x224]
mov dword [esp + 0x10], ecx
push edi
mov ecx, esi
xor ebp, ebp
xor edi, edi
call fcn.00407f70
test eax, eax
jbe 0x409653
mov dword [esp + 0x10], ebp
lea ebx, [ebx]
mov eax, dword [esi + 4]
test eax, eax
je 0x4092f3
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x4092f8
call fcn.00440a0f
mov eax, dword [esi + 4]
cmp dword [eax + ebp], 0
jne 0x40961d
test eax, eax
je 0x409325
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x40932a
call fcn.00440a0f
mov eax, dword [esi + 4]
cmp byte [eax + ebp + 4], 0
je 0x409477
test eax, eax
je 0x409358
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x40935d
call fcn.00440a0f
mov eax, dword [esi + 4]
lea eax, [eax + ebp + 0x40]
mov ebx, 0x10
cmp dword [eax + 0x18], ebx
jb 0x409373
mov eax, dword [eax + 4]
jmp 0x409376
add eax, 4
push eax
call fcn.0042de40
add esp, 4
test al, al
je 0x40946d
mov eax, dword [esi + 4]
test eax, eax
je 0x4093aa
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x4093af
call fcn.00440a0f
mov eax, dword [esi + 4]
cmp dword [eax + ebp + 0x20], ebx
jb 0x4093be
mov ebx, dword [eax + ebp + 0xc]
jmp 0x4093c2
lea ebx, [eax + ebp + 0xc]
test eax, eax
je 0x4093e2
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x4093e7
call fcn.00440a0f
mov ecx, dword [esi + 4]
cmp dword [ecx + ebp + 0x58], 0x10
lea eax, [ecx + ebp + 0x40]
jb 0x4093fa
mov eax, dword [eax + 4]
jmp 0x4093fd
add eax, 4
push ebx
push eax
push str._s_s
lea edx, [esp + 0x24]
push 0x104
push edx
call fcn.00408310
lea eax, [esp + 0x2c]
push eax
call fcn.0042d5b0
add esp, 0x18
test al, al
jne 0x40961d
push edi
mov ecx, esi
call fcn.00407fa0
add eax, 0x40
cmp dword [eax + 0x18], 0x10
jb 0x40943e
mov ebx, dword [eax + 4]
jmp 0x409441
lea ebx, [eax + 4]
push edi
mov ecx, esi
call fcn.00407fa0
add eax, 0x24
cmp dword [eax + 0x18], 0x10
jb 0x409457
mov eax, dword [eax + 4]
jmp 0x40945a
add eax, 4
mov ecx, dword [esp + 0x14]
push ebx
push eax
call fcn.00409230
test eax, eax
jne 0x40961d
mov eax, 8
jmp 0x409655
test eax, eax
je 0x409497
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x40949c
call fcn.00440a0f
mov eax, dword [esi + 4]
cmp dword [eax + ebp + 0x20], 0x10
jb 0x4094ac
mov ebx, dword [eax + ebp + 0xc]
jmp 0x4094b0
lea ebx, [eax + ebp + 0xc]
test eax, eax
je 0x4094d0
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x4094d5
call fcn.00440a0f
mov ecx, dword [esi + 4]
cmp dword [ecx + ebp + 0x3c], 0x10
lea eax, [ecx + ebp + 0x24]
jb 0x4094e8
mov eax, dword [eax + 4]
jmp 0x4094eb
add eax, 4
push ebx
push eax
push str._s_s
lea edx, [esp + 0x128]
push 0x104
push edx
call fcn.00408310
mov eax, dword [esi + 4]
add esp, 0x14
test eax, eax
je 0x40952a
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x40952f
call fcn.00440a0f
mov eax, dword [esi + 4]
cmp dword [eax + ebp + 0x20], 0x10
jb 0x40953f
mov ebx, dword [eax + ebp + 0xc]
jmp 0x409543
lea ebx, [eax + ebp + 0xc]
test eax, eax
je 0x409563
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x409568
call fcn.00440a0f
mov eax, dword [esi + 4]
cmp dword [eax + ebp + 0x58], 0x10
lea eax, [eax + ebp + 0x40]
jb 0x40957b
mov eax, dword [eax + 4]
jmp 0x40957e
add eax, 4
push ebx
push eax
push str._s_s
lea ecx, [esp + 0x24]
push 0x104
push ecx
call fcn.00408310
mov eax, dword [esi + 4]
add esp, 0x14
test eax, eax
je 0x4095ba
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x4095bf
call fcn.00440a0f
mov edx, dword [esi + 4]
cmp dword [edx + ebp + 0x58], 0x10
lea eax, [edx + ebp + 0x40]
jb 0x4095d2
mov eax, dword [eax + 4]
jmp 0x4095d5
add eax, 4
push eax
call fcn.0042de40
add esp, 4
test al, al
je 0x40946d
push 0
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x124]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x409670
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 1
je 0x40961d
and eax, 0xfffffffe
push eax
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
xor edx, edx
mov eax, ebx
div dword [ecx + 0x720]
push 1
push eax
call fcn.004080d0
add ebx, 0x1d
mov ecx, esi
add edi, 1
add ebp, 0x78
mov dword [esp + 0x10], ebx
call fcn.00407f70
cmp edi, eax
jb 0x4092d0
xor eax, eax
mov ecx, dword [esp + 0x220]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00440494
add esp, 0x214
ret 4
mov eax, 9
jmp 0x409655