Function at 0x40cf30
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x10b8
call fcn.004196a0
mov eax, dword [0x444fe0]
xor eax, ebp
mov dword [ebp - 0x3c], eax
push esi
push edi
mov dword [ebp - 4], 0
mov dword [ebp - 0x1044], 0
mov dword [ebp - 0x30], 0x40000
mov dword [ebp - 0x104c], 0
cmp dword [ebp + 0x14], 0
je 0x40d00d
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x10a8], eax
mov ecx, dword [ebp - 0x10a8]
cmp dword [ecx + 6], 0
ja 0x40cfb2
jb 0x40cf9b
mov edx, dword [ebp - 0x10a8]
cmp dword [edx + 2], 0x1000
ja 0x40cfb2
lea eax, [ebp - 0x1040]
mov dword [ebp - 0x104c], eax
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 2]
mov dword [ebp - 0x30], edx
jmp 0x40cff9
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x10b0], eax
mov dword [ebp - 0x10ac], ecx
mov dword [ebp - 0x10b4], edx
mov eax, dword [ebp - 0x10b4]
mov ecx, dword [ebp - 0x10ac]
cmp ecx, dword [eax + 6]
jb 0x40cff9
ja 0x40cff0
mov edx, dword [ebp - 0x10b4]
mov eax, dword [ebp - 0x10b0]
cmp eax, dword [edx + 2]
jbe 0x40cff9
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 2]
mov dword [ebp - 0x30], edx
push 0x22
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x2c]
push ecx
call fcn.00419260
add esp, 0xc
jmp 0x40d02d
push 0x22
push 0
lea edx, [ebp - 0x2c]
push edx
call fcn.00419120
add esp, 0xc
mov eax, dword [ebp + 0xc]
push eax
call fcn.0042fe50
add esp, 4
mov word [ebp - 0x2c], ax
cmp dword [ebp - 0x104c], 0
jne 0x40d048
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.00429cd0
add esp, 4
mov dword [ebp - 0x104c], eax
cmp dword [ebp - 0x104c], 0
je 0x40d37e
push 0x80
push 3
push 3
push 0x80000000
lea edx, [ebp - 8]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.004306b0
add esp, 0x18
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x40d311
cmp dword [ebp + 0x14], 0
jne 0x40d111
lea ecx, [ebp - 0x108c]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 8]
push eax
call fcn.004336b0
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x40d103
mov esi, dword [ebp - 0x1068]
xor edi, edi
mov eax, dword [ebp - 0x106c]
xor edx, edx
mov cl, 0x20
call fcn.004197d0
or esi, eax
or edi, edx
mov dword [ebp - 0x2a], esi
mov dword [ebp - 0x26], edi
mov ecx, dword [ebp - 0x1080]
mov dword [ebp - 0x1a], ecx
mov edx, dword [ebp - 0x107c]
mov dword [ebp - 0x16], edx
mov eax, dword [ebp - 0x1088]
mov dword [ebp - 0x22], eax
mov ecx, dword [ebp - 0x1084]
mov dword [ebp - 0x1e], ecx
mov edx, dword [ebp - 0x1078]
mov dword [ebp - 0x12], edx
mov eax, dword [ebp - 0x1074]
mov dword [ebp - 0xe], eax
jmp 0x40d111
mov dword [ebp - 0x2a], 0
mov dword [ebp - 0x26], 0
mov ecx, dword [ebp - 0x2a]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x26]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp + 0x10]
movzx ecx, word [eax + 2]
movzx edx, word [0x44637a]
cmp ecx, edx
jne 0x40d195
mov eax, dword [0x43dad0]
mov dword [ebp - 0x1094], eax
mov ecx, dword [0x43dad4]
mov dword [ebp - 0x1090], ecx
mov edx, dword [ebp + 0x10]
mov ax, word [edx]
mov word [ebp - 0x1094], ax
push 0
lea ecx, [ebp - 0x10a0]
push ecx
lea edx, [ebp - 0x10a4]
push edx
lea eax, [ebp - 0x1094]
push eax
call fcn.0040a820
add esp, 0x10
test eax, eax
je 0x40d195
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [ebp - 0x109c]
jb 0x40d195
ja 0x40d18e
mov edx, dword [ebp - 0x38]
cmp edx, dword [ebp - 0x10a0]
jbe 0x40d195
mov dword [ebp - 4], 0x70
cmp dword [ebp - 4], 0
jne 0x40d305
push 0x80
push 2
push 3
push 0x40000000
lea eax, [ebp - 0x1048]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004306b0
add esp, 0x18
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x40d2e7
mov edx, dword [ebp - 0x1044]
add edx, 1
mov dword [ebp - 0x1044], edx
cmp dword [ebp - 4], 0
jne 0x40d2b9
mov eax, dword [ebp - 0x38]
or eax, dword [ebp - 0x34]
je 0x40d2b9
mov ecx, dword [ebp - 0x30]
xor edx, edx
mov dword [ebp - 0x1058], ecx
mov dword [ebp - 0x1054], edx
mov eax, dword [ebp - 0x1054]
cmp eax, dword [ebp - 0x34]
jb 0x40d22d
ja 0x40d21b
mov ecx, dword [ebp - 0x1058]
cmp ecx, dword [ebp - 0x38]
jbe 0x40d22d
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x1058], edx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1054], eax
mov ecx, dword [ebp - 0x1058]
push ecx
mov edx, dword [ebp - 0x104c]
push edx
mov eax, dword [ebp - 8]
push eax
call fcn.0042b410
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x40d29c
mov ecx, dword [ebp - 0x1058]
push ecx
mov edx, dword [ebp - 0x104c]
push edx
mov eax, dword [ebp - 0x1048]
push eax
call fcn.0042b470
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x40d29c
cmp dword [ebp + 0x18], 0
je 0x40d29c
mov ecx, dword [ebp + 0x1c]
push ecx
push 0
lea edx, [ebp - 0x1058]
push edx
push 3
call dword [ebp + 0x18]
add esp, 0x10
test eax, eax
je 0x40d29c
mov dword [ebp - 4], 0x4d3
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x1058]
mov ecx, dword [ebp - 0x34]
sbb ecx, dword [ebp - 0x1054]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
jmp 0x40d1dc
cmp dword [ebp - 4], 0
jne 0x40d2d8
lea edx, [ebp - 0x12]
push edx
lea eax, [ebp - 0x1a]
push eax
lea ecx, [ebp - 0x22]
push ecx
mov edx, dword [ebp - 0x1048]
push edx
call dword [sym.imp.KERNEL32.dll_SetFileTime]
mov eax, dword [ebp - 0x1048]
push eax
call fcn.00427810
add esp, 4
cmp dword [ebp - 4], 0
je 0x40d305
cmp dword [ebp - 4], 0x4d3
je 0x40d305
mov ecx, dword [ebp - 4]
push ecx
call fcn.0042a330
add esp, 4
mov dword [ebp - 4], eax
mov edx, dword [ebp - 8]
push edx
call fcn.00427810
add esp, 4
mov eax, dword [ebp - 0x104c]
lea ecx, [ebp - 0x1040]
cmp eax, ecx
je 0x40d330
lea edx, [ebp - 0x104c]
push edx
call fcn.00429d00
add esp, 4
cmp dword [ebp - 4], 0
je 0x40d36b
cmp dword [ebp - 0x1044], 0
je 0x40d369
mov eax, dword [ebp + 0x10]
push eax
call fcn.0040c290
add esp, 4
test eax, eax
je 0x40d369
push 0
push 0
push 0
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0040ce10
add esp, 0x18
jmp 0x40d37c
movzx ecx, word [ebp - 0x2c]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.0042ff40
add esp, 8
jmp 0x40d385
mov dword [ebp - 4], 8
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10b8], eax
cmp dword [ebp - 0x10b8], 0
je 0x40d3ae
cmp dword [ebp - 0x10b8], 0x70
je 0x40d3ae
cmp dword [ebp - 0x10b8], 0x4d3
je 0x40d3ae
jmp 0x40d3b0
jmp 0x40d3f9
push 0
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x40d3ea
mov dword [ebp - 4], 0
cmp dword [ebp + 0x18], 0
je 0x40d3e8
mov eax, dword [ebp + 0x1c]
push eax
push 0
lea ecx, [ebp - 0x2a]
push ecx
push 3
call dword [ebp + 0x18]
add esp, 0x10
jmp 0x40d3f9
mov edx, dword [ebp - 4]
push edx
call fcn.0042a330
add esp, 4
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
pop edi
pop esi
mov ecx, dword [ebp - 0x3c]
xor ecx, ebp
call fcn.0041919a
mov esp, ebp
pop ebp
ret