Function at 0x405724
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe44
mov eax, 0x530ee8
push ebx
push esi
push edi
mov edi, 0x530bdc
mov esi, dword [ebp + 8]
call fcn.00522f7c
mov dword [ebp - 0x1a0], 2
lea edx, [ebp + 0x10]
lea eax, [ebp + 0x10]
call fcn.0052cf58
inc dword [ebp - 0x1a0]
lea edx, [ebp + 0xc]
mov word [ebp - 0x1ac], 8
lea eax, [ebp + 0xc]
call fcn.0052cf58
inc dword [ebp - 0x1a0]
xor edx, edx
mov word [ebp - 0x1ac], 0x14
mov dword [ebp - 0x150], edx
xor ecx, ecx
inc dword [ebp - 0x1a0]
inc dword [ebp - 0x1a0]
xor eax, eax
mov word [ebp - 0x1ac], 8
mov word [ebp - 0x1ac], 0x20
mov dword [ebp - 0x160], ecx
xor ebx, ebx
inc dword [ebp - 0x1a0]
lea edx, [edi + 0x58]
mov word [ebp - 0x1ac], 8
mov word [ebp - 0x1ac], 0x2c
mov dword [ebp - 0x164], eax
lea eax, [ebp - 0x168]
inc dword [ebp - 0x1a0]
or ebx, 0x3f
mov word [ebp - 0x1ac], 8
mov word [ebp - 0x1ac], 0x38
call fcn.0052cf20
inc dword [ebp - 0x1a0]
lea edx, [ebp - 0x168]
lea eax, [ebp + 0xc]
call fcn.0052d0bc
push eax
dec dword [ebp - 0x1a0]
lea eax, [ebp - 0x168]
mov edx, 2
call fcn.0052cfd8
pop ecx
test cl, cl
je 0x4058b1
xor eax, eax
mov edx, 2
push eax
lea eax, [ebp - 0x164]
dec dword [ebp - 0x1a0]
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
lea eax, [ebp - 0x160]
mov edx, 2
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
dec dword [ebp - 0x1a0]
lea eax, [ebp - 0x150]
mov edx, 2
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
lea eax, [ebp + 0xc]
mov edx, 2
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
lea eax, [ebp + 0x10]
mov edx, 2
call fcn.0052cfd8
pop eax
mov edx, dword [ebp - 0x1bc]
mov dword fs:[0], edx
jmp 0x405ed6
mov eax, dword [ebp + 0xc]
call fcn.004b3e00
test al, al
jne 0x405945
xor eax, eax
mov edx, 2
push eax
lea eax, [ebp - 0x164]
dec dword [ebp - 0x1a0]
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
lea eax, [ebp - 0x160]
mov edx, 2
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
dec dword [ebp - 0x1a0]
lea eax, [ebp - 0x150]
mov edx, 2
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
lea eax, [ebp + 0xc]
mov edx, 2
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
lea eax, [ebp + 0x10]
mov edx, 2
call fcn.0052cfd8
pop eax
mov edx, dword [ebp - 0x1bc]
mov dword fs:[0], edx
jmp 0x405ed6
mov eax, dword [ebp + 0x10]
call fcn.004b3e00
test al, al
jne 0x4059e9
mov eax, dword [ebp + 0x10]
call fcn.004b4118
test al, al
jne 0x4059e9
xor eax, eax
mov edx, 2
push eax
lea eax, [ebp - 0x164]
dec dword [ebp - 0x1a0]
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
lea eax, [ebp - 0x160]
mov edx, 2
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
dec dword [ebp - 0x1a0]
lea eax, [ebp - 0x150]
mov edx, 2
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
lea eax, [ebp + 0xc]
mov edx, 2
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
lea eax, [ebp + 0x10]
mov edx, 2
call fcn.0052cfd8
pop eax
mov edx, dword [ebp - 0x1bc]
mov dword fs:[0], edx
jmp 0x405ed6
mov word [ebp - 0x1ac], 0x44
lea edx, [edi + 0x59]
lea eax, [ebp - 0x16c]
call fcn.0052cf20
inc dword [ebp - 0x1a0]
xor eax, eax
mov dword [ebp - 0x170], eax
lea eax, [ebp + 0xc]
inc dword [ebp - 0x1a0]
lea edx, [ebp - 0x16c]
lea ecx, [ebp - 0x170]
call fcn.0052d030
lea edx, [ebp - 0x170]
lea eax, [ebp + 0xc]
call fcn.0052d008
dec dword [ebp - 0x1a0]
lea eax, [ebp - 0x170]
mov edx, 2
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
lea eax, [ebp - 0x16c]
mov edx, 2
call fcn.0052cfd8
mov word [ebp - 0x1ac], 0x50
lea edx, [edi + 0x5b]
lea eax, [ebp - 0x174]
call fcn.0052cf20
inc dword [ebp - 0x1a0]
xor eax, eax
mov dword [ebp - 0x178], eax
lea eax, [ebp + 0x10]
inc dword [ebp - 0x1a0]
lea edx, [ebp - 0x174]
lea ecx, [ebp - 0x178]
call fcn.0052d030
lea edx, [ebp - 0x178]
lea eax, [ebp + 0x10]
call fcn.0052d008
dec dword [ebp - 0x1a0]
lea eax, [ebp - 0x178]
mov edx, 2
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
lea eax, [ebp - 0x174]
mov edx, 2
call fcn.0052cfd8
mov word [ebp - 0x1ac], 0x5c
lea edx, [edi + 0x5d]
lea eax, [ebp - 0x17c]
call fcn.0052cf20
inc dword [ebp - 0x1a0]
xor eax, eax
mov dword [ebp - 0x180], eax
lea eax, [ebp + 0xc]
inc dword [ebp - 0x1a0]
lea edx, [ebp - 0x17c]
lea ecx, [ebp - 0x180]
call fcn.0052d030
lea eax, [ebp - 0x180]
mov eax, dword [eax]
lea ecx, [ebp - 0x15c]
mov edx, ebx
call fcn.004b3e88
test eax, eax
mov edx, 2
sete al
and eax, 1
push eax
lea eax, [ebp - 0x180]
dec dword [ebp - 0x1a0]
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
lea eax, [ebp - 0x17c]
mov edx, 2
call fcn.0052cfd8
pop ecx
test cl, cl
je 0x405e57
mov word [ebp - 0x1ac], 0x68
mov word [ebp - 0x1ac], 0x74
lea edx, [edi + 0x62]
lea eax, [ebp - 0x184]
call fcn.0052cf20
inc dword [ebp - 0x1a0]
lea edx, [ebp - 0x184]
lea eax, [ebp - 0x150]
call fcn.0052d0bc
test al, al
jne 0x405bf5
lea edx, [edi + 0x64]
lea eax, [ebp - 0x188]
call fcn.0052cf20
inc dword [ebp - 0x1a0]
lea edx, [ebp - 0x188]
lea eax, [ebp - 0x150]
call fcn.0052d0bc
test al, al
lea eax, [ebp - 0x188]
setne cl
and ecx, 1
mov edx, 2
push ecx
dec dword [ebp - 0x1a0]
call fcn.0052cfd8
pop ecx
test ecx, ecx
jne 0x405bf5
xor eax, eax
jmp 0x405bfa
mov eax, 1
push eax
dec dword [ebp - 0x1a0]
lea eax, [ebp - 0x184]
mov edx, 2
call fcn.0052cfd8
pop ecx
test cl, cl
jne 0x405d84
cmp dword [ebp - 0x154], 0x10
jne 0x405cc0
mov word [ebp - 0x1ac], 0x80
xor eax, eax
mov dword [ebp - 0x18c], eax
lea ecx, [ebp - 0x18c]
inc dword [ebp - 0x1a0]
lea edx, [ebp - 0x150]
lea eax, [ebp + 0x10]
call fcn.0052d030
lea edx, [ebp - 0x18c]
xor eax, eax
mov ecx, dword [edx]
lea edx, [ebp - 0x150]
push ecx
mov dword [ebp - 0x190], eax
inc dword [ebp - 0x1a0]
lea eax, [ebp + 0xc]
lea ecx, [ebp - 0x190]
call fcn.0052d030
lea edx, [ebp - 0x190]
mov ecx, dword [edx]
push ecx
push esi
call fcn.00405724
add esp, 0xc
dec dword [ebp - 0x1a0]
lea eax, [ebp - 0x190]
mov edx, 2
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
lea eax, [ebp - 0x18c]
mov edx, 2
call fcn.0052cfd8
jmp 0x405d84
mov word [ebp - 0x1ac], 0x8c
xor ecx, ecx
mov dword [ebp - 0x194], ecx
lea ecx, [ebp - 0x194]
inc dword [ebp - 0x1a0]
lea edx, [ebp - 0x150]
lea eax, [ebp + 0xc]
call fcn.0052d030
lea edx, [ebp - 0x194]
lea eax, [ebp - 0x164]
call fcn.0052d008
dec dword [ebp - 0x1a0]
lea eax, [ebp - 0x194]
mov edx, 2
call fcn.0052cfd8
push 0
xor ecx, ecx
mov word [ebp - 0x1ac], 0x98
mov dword [ebp - 0x198], ecx
lea ecx, [ebp - 0x198]
inc dword [ebp - 0x1a0]
lea edx, [ebp - 0x150]
lea eax, [ebp + 0x10]
call fcn.0052d030
cmp dword [ebp - 0x198], 0
je 0x405d50
mov eax, dword [ebp - 0x198]
jmp 0x405d53
lea eax, [edi + 0x68]
push eax
cmp dword [ebp - 0x164], 0
je 0x405d65
mov edx, dword [ebp - 0x164]
jmp 0x405d68
lea edx, [edi + 0x67]
push edx
call sub.KERNEL32.DLL_CopyFileA
dec dword [ebp - 0x1a0]
lea eax, [ebp - 0x198]
mov edx, 2
call fcn.0052cfd8
lea eax, [ebp - 0x15c]
call fcn.004b3ed8
test eax, eax
je 0x405b76
lea eax, [ebp - 0x15c]
call fcn.004b3efc
mov word [ebp - 0x1ac], 8
jmp 0x405e57
mov al, 1
mov edx, 2
push eax
lea eax, [ebp - 0x164]
dec dword [ebp - 0x1a0]
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
lea eax, [ebp - 0x160]
mov edx, 2
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
dec dword [ebp - 0x1a0]
lea eax, [ebp - 0x150]
mov edx, 2
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
lea eax, [ebp + 0xc]
mov edx, 2
call fcn.0052cfd8
dec dword [ebp - 0x1a0]
lea eax, [ebp + 0x10]
mov edx, 2
call fcn.0052cfd8
pop eax
mov edx, dword [ebp - 0x1bc]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret