Function at 0x404ab0
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe9c
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x164], eax
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
mov esi, 0x406480
xor eax, eax
push ebp
push 0x404e5e
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
call fcn.00404380
cmp dword [ebp - 4], 0
je 0x404b03
mov eax, dword [ebp - 4]
mov edx, 0x404e74
call fcn.00402c28
jne 0x404b1f
mov eax, 0x404e9c
call fcn.00404994
call fcn.00404a00
test al, al
jne 0x404de3
jmp 0x404e33
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x15c]
call fcn.00403021
mov byte [0x40702b], 2
mov edx, 1
lea eax, [ebp - 0x15c]
call fcn.004034b4
call fcn.004024b4
test eax, eax
je 0x404b88
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x160]
call fcn.00402abc
lea eax, [ebp - 0x160]
mov edx, 0x404ee0
call fcn.00402b94
mov eax, dword [ebp - 0x160]
call fcn.00404994
call fcn.00404a00
test al, al
jne 0x404de3
jmp 0x404e33
xor eax, eax
mov al, byte [esi]
lea eax, [eax + eax*4]
cmp byte [eax*8 + 0x4074d0], 0
je 0x404bfa
lea eax, [ebp - 0x15c]
call fcn.0040320c
xor edx, edx
mov dl, byte [esi]
lea edx, [edx + edx*4]
cmp eax, dword [edx*8 + 0x4074bc]
je 0x404bfa
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x160]
call fcn.00402abc
lea eax, [ebp - 0x160]
mov edx, 0x404f14
call fcn.00402b94
mov eax, dword [ebp - 0x160]
call fcn.00404994
lea eax, [ebp - 0x15c]
call fcn.0040318c
call fcn.00404a00
test al, al
jne 0x404de3
jmp 0x404e33
lea eax, [ebp - 0x15c]
call fcn.0040318c
xor eax, eax
mov al, byte [esi]
lea eax, [eax + eax*4]
cmp byte [eax*8 + 0x4074d1], 0
je 0x404c86
mov eax, 0x404f3c
call fcn.00403f90
mov edx, 0x404954
mov eax, dword [ebp - 4]
call fcn.0040381c
mov ebx, eax
mov al, byte [esi]
call fcn.00403fec
call fcn.00404368
xor eax, eax
mov al, byte [esi]
lea eax, [eax + eax*4]
cmp ebx, dword [eax*8 + 0x4074cc]
je 0x404c86
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x160]
call fcn.00402abc
lea eax, [ebp - 0x160]
mov edx, 0x404f58
call fcn.00402b94
mov eax, dword [ebp - 0x160]
call fcn.00404994
call fcn.00404a00
test al, al
jne 0x404de3
jmp 0x404e33
call fcn.00404934
test al, al
je 0x404cc9
push 1
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x160]
call fcn.00402abc
lea eax, [ebp - 0x160]
mov edx, 0x404fa0
call fcn.00402b94
mov eax, dword [ebp - 0x160]
call fcn.00402cdc
push eax
mov eax, dword [ebp - 4]
call fcn.00402cdc
push eax
call sub.kernel32.dll_CopyFileA
mov eax, 0x404fb0
call fcn.00403f90
lea edx, [ebp - 0xd]
mov eax, dword [ebp - 4]
call fcn.004043bc
mov ebx, eax
mov al, byte [esi]
call fcn.00403fec
test ebx, ebx
jne 0x404cf1
cmp byte [ebp - 0xd], 0
je 0x404d00
lea eax, [ebp - 8]
mov edx, 0x404fc4
call fcn.00402abc
jmp 0x404d0d
lea eax, [ebp - 8]
mov edx, 0x404fdc
call fcn.00402abc
lea eax, [ebp - 0xc]
call fcn.00402a28
cmp byte [ebp - 0xd], 0
je 0x404d28
lea eax, [ebp - 0xc]
mov edx, 0x404fec
call fcn.00402abc
push 0x2040
push 0x405000
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x160]
call fcn.00402abc
lea eax, [ebp - 0x160]
mov edx, 0x40501c
call fcn.00402b94
lea eax, [ebp - 0x160]
mov edx, dword [ebp - 8]
call fcn.00402b94
lea eax, [ebp - 0x160]
mov edx, 0x405030
call fcn.00402b94
lea eax, [ebp - 0x160]
mov edx, 0x405044
call fcn.00402b94
lea eax, [ebp - 0x160]
mov edx, 0x405050
call fcn.00402b94
lea eax, [ebp - 0x160]
push eax
lea edx, [ebp - 0x164]
mov eax, ebx
call fcn.00403924
mov edx, dword [ebp - 0x164]
pop eax
call fcn.00402b94
lea eax, [ebp - 0x160]
mov edx, 0x40505c
call fcn.00402b94
lea eax, [ebp - 0x160]
mov edx, dword [ebp - 0xc]
call fcn.00402b94
mov eax, dword [ebp - 0x160]
call fcn.00402cdc
push eax
mov eax, dword [0x406484]
push eax
call sub.user32.dll_MessageBoxA_1
inc byte [esi]
mov al, byte [esi]
cmp al, byte [0x4074b4]
jne 0x404dfe
push 0
mov eax, dword [0x406484]
push eax
call sub.user32.dll_EndDialog
jmp 0x404e33
mov al, byte [esi]
call fcn.00403fec
xor eax, eax
mov al, byte [esi]
lea eax, [eax + eax*4]
mov eax, dword [eax*8 + 0x4074b8]
call fcn.004042c8
xor eax, eax
mov al, byte [esi]
inc eax
xor edx, edx
mov dl, byte [0x4074b4]
cmp eax, edx
jne 0x404e33
mov eax, 0x405074
call fcn.0040426c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x404e65
lea eax, [ebp - 0x164]
mov edx, 2
call fcn.00402a48
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00402a48
ret