Function at 0x404658
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd2c
push ebx
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0x2d4], eax
lea ebx, [ebp - 0x2d0]
mov eax, 0x57dd64
call fcn.0056e9f4
mov dword [ebx + 0x1c], 2
lea edx, [ebp - 4]
lea eax, [ebp - 4]
call fcn.0057bdd0
inc dword [ebx + 0x1c]
lea edx, [ebp - 8]
mov word [ebx + 0x10], 0xc
lea eax, [ebp - 8]
call fcn.0057bdd0
inc dword [ebx + 0x1c]
xor eax, eax
mov word [ebx + 0x10], 0x18
lea edi, [ebp - 0x278]
mov ecx, 0x270
rep stosb byte es:[edi], al
lea eax, [ebp - 0x278]
xor ecx, ecx
lea edx, [eax + 0x14]
lea eax, [ebp - 0x27c]
mov dword [edx], ecx
mov edx, 0x57d510
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0xc
mov word [ebx + 0x10], 0x24
call fcn.0057bd90
inc dword [ebx + 0x1c]
xor eax, eax
mov dword [ebp - 0x280], eax
lea eax, [ebp - 4]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x27c]
lea ecx, [ebp - 0x280]
call fcn.0057bf04
lea eax, [ebp - 0x280]
mov eax, dword [eax]
lea ecx, [ebp - 0x278]
mov edx, 0x1ff
call fcn.0044b770
test eax, eax
lea eax, [ebp - 0x280]
sete cl
and ecx, 1
mov edx, 2
push ecx
dec dword [ebx + 0x1c]
call fcn.0057beb4
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x27c]
mov edx, 2
call fcn.0057beb4
pop ecx
test cl, cl
je 0x404a4c
test byte [ebp - 0x268], 0x10
je 0x40498f
mov word [ebx + 0x10], 0x30
mov edx, 0x57d514
lea eax, [ebp - 0x284]
call fcn.0057bd90
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x284]
lea eax, [ebp - 0x264]
call fcn.0057bf94
test al, al
je 0x4047de
mov edx, 0x57d516
lea eax, [ebp - 0x288]
call fcn.0057bd90
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x288]
lea eax, [ebp - 0x264]
call fcn.0057bf94
test al, al
lea eax, [ebp - 0x288]
setne cl
and ecx, 1
mov edx, 2
push ecx
dec dword [ebx + 0x1c]
call fcn.0057beb4
pop ecx
test ecx, ecx
jne 0x4047e2
xor ecx, ecx
jmp 0x4047e7
mov ecx, 1
push ecx
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x284]
mov edx, 2
call fcn.0057beb4
pop ecx
test cl, cl
je 0x404a2e
mov word [ebx + 0x10], 0x3c
xor eax, eax
mov dword [ebp - 0x28c], eax
lea ecx, [ebp - 0x28c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x264]
lea eax, [ebp - 8]
call fcn.0057bf04
lea eax, [ebp - 0x28c]
mov eax, dword [eax]
call fcn.0044ba64
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x28c]
mov edx, 2
call fcn.0057beb4
xor ecx, ecx
mov dword [ebp - 0x29c], ecx
lea ecx, [ebp - 0x29c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x264]
lea eax, [ebp - 8]
call fcn.0057bf04
lea ecx, [ebp - 0x29c]
push ecx
mov edx, 0x57d51b
lea eax, [ebp - 0x2a0]
call fcn.0057bd90
inc dword [ebx + 0x1c]
xor eax, eax
mov dword [ebp - 0x2a4], eax
lea edx, [ebp - 0x2a0]
inc dword [ebx + 0x1c]
lea ecx, [ebp - 0x2a4]
pop eax
call fcn.0057bf04
lea edx, [ebp - 0x2a4]
lea eax, [ebp - 4]
mov ecx, dword [edx]
lea edx, [ebp - 0x264]
push ecx
xor ecx, ecx
mov word [ebx + 0x10], 0x48
mov dword [ebp - 0x290], ecx
lea ecx, [ebp - 0x290]
inc dword [ebx + 0x1c]
call fcn.0057bf04
lea ecx, [ebp - 0x290]
push ecx
mov edx, 0x57d519
lea eax, [ebp - 0x294]
call fcn.0057bd90
inc dword [ebx + 0x1c]
xor eax, eax
mov dword [ebp - 0x298], eax
lea edx, [ebp - 0x294]
inc dword [ebx + 0x1c]
lea ecx, [ebp - 0x298]
pop eax
call fcn.0057bf04
lea edx, [ebp - 0x298]
mov edx, dword [edx]
mov eax, dword [ebp - 0x2d4]
pop ecx
call fcn.00404658
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x2a4]
mov edx, 2
call fcn.0057beb4
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x2a0]
mov edx, 2
call fcn.0057beb4
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x29c]
mov edx, 2
call fcn.0057beb4
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x298]
mov edx, 2
call fcn.0057beb4
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x294]
mov edx, 2
call fcn.0057beb4
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x290]
mov edx, 2
call fcn.0057beb4
jmp 0x404a2e
push 0
xor ecx, ecx
mov word [ebx + 0x10], 0x54
mov dword [ebp - 0x2a8], ecx
lea ecx, [ebp - 0x2a8]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x264]
lea eax, [ebp - 8]
call fcn.0057bf04
cmp dword [ebp - 0x2a8], 0
je 0x4049c7
mov ecx, dword [ebp - 0x2a8]
jmp 0x4049cc
mov ecx, 0x57d520
push ecx
xor eax, eax
mov dword [ebp - 0x2ac], eax
lea ecx, [ebp - 0x2ac]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x264]
lea eax, [ebp - 4]
call fcn.0057bf04
cmp dword [ebp - 0x2ac], 0
je 0x4049fd
mov ecx, dword [ebp - 0x2ac]
jmp 0x404a02
mov ecx, 0x57d51e
push ecx
call sub.KERNEL32.DLL_CopyFileW
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x2ac]
mov edx, 2
call fcn.0057beb4
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x2a8]
mov edx, 2
call fcn.0057beb4
lea eax, [ebp - 0x278]
call fcn.0044b7c0
test eax, eax
je 0x40475e
lea eax, [ebp - 0x278]
call fcn.0044b7e4
dec dword [ebx + 0x1c]
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x264]
mov edx, 2
call fcn.0057beb4
dec dword [ebx + 0x1c]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0057beb4
dec dword [ebx + 0x1c]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0057beb4
mov ecx, dword [ebx]
mov dword fs:[0], ecx
pop edi
pop ebx
mov esp, ebp
pop ebp
ret