Function at 0x404fe0
Capabilities:
Copy file

Disassembly:
enter 0x1970, 1
push ebx
push ecx
push edx
mov dword [ebp - 8], esp
lea edi, [ebp - 0x166f]
mov esi, 0x414236
call fcn.00401940
call fcn.0040f420
mov dword [ebp - 0x146b], eax
lea edi, [ebp - 0x156b]
mov esi, 0x414237
call fcn.00401940
call fcn.0040f420
cmp eax, 1
jl 0x405056
lea eax, [ebp - 0x1774]
push eax
push 1
call fcn.00404ac0
lea eax, [ebp - 0x1774]
push eax
push 0x41c6ae
call fcn.00404150
mov word [0x414a0a], ax
cmp dword [0x41c6ae], 0
je 0x405056
mov word [0x414a0a], 1
cmp dword [ebp - 0x146b], 0xffffffff
jne 0x40525c
call fcn.0040f790
lea eax, [ebp - 0x553]
mov dword [ebp - 0x34c], eax
lea eax, [ebp - 0x653]
mov dword [ebp - 0x350], eax
lea eax, [ebp - 0x753]
mov dword [ebp - 0x354], eax
lea eax, [ebp - 0x453]
mov dword [ebp - 0x348], eax
mov eax, 0
mov ecx, 0x4c
mov edi, 0x41c6b2
jecxz 0x4050ab
rep stosb byte es:[edi], al
mov dword [0x41c6b2], 0x4c
mov dword [0x41c6e2], 0x414238
mov dword [0x41c6be], 0x414daa
mov esi, 0x41c579
lea edi, [ebp - 0x1774]
call fcn.00401b30
mov esi, 0x414261
call fcn.00401af0
mov edi, 0x41c84a
lea esi, [ebp - 0x1774]
call fcn.00401940
mov dword [0x41c6de], 0x41c84b
mov dword [0x41c6d2], 0x12c
lea eax, [ebp - 0x134]
mov dword [0x41c6ce], eax
mov esi, 0x414263
lea edi, [ebp - 0x134]
mov ecx, 0x4b
rep movsd dword es:[edi], dword [esi]
mov dword [0x41c6e6], 0x1000
push 0x41c6b2
call sub.comdlg32.dll_GetOpenFileNameA
test al, al
je 0x40523e
push dword [0x41c6ce]
push dword [ebp - 0x34c]
push dword [ebp - 0x350]
push dword [ebp - 0x354]
call fcn.0040f5e0
lea eax, [ebp - 0x1874]
push eax
push dword [ebp - 0x34c]
call fcn.00402b80
lea esi, [ebp - 0x1874]
lea edi, [ebp - 0x1774]
call fcn.00401b30
mov esi, 0x41438f
call fcn.00401af0
mov edi, 0x41c84a
lea esi, [ebp - 0x1774]
call fcn.00401940
call fcn.0040f510
lea eax, [ebp - 0x1774]
push eax
push dword [0x41c6ce]
call fcn.00402b80
lea edi, [ebp - 0x854]
lea esi, [ebp - 0x1774]
call fcn.00401940
mov byte [0x413046], 0
lea eax, [ebp - 0xac2]
push eax
lea ebx, [ebp - 0x854]
push ebx
call fcn.00401e60
lea ecx, [ebp - 0xac2]
push ecx
call fcn.00401ee0
mov byte [0x413046], 2
call fcn.00402760
test eax, eax
je 0x405220
mov esi, 0x414391
lea edi, [ebp - 0x1774]
call fcn.00401b30
lea esi, [ebp - 0x854]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00403bc0
jmp 0x405056
lea eax, [ebp - 0xac2]
push eax
call fcn.00401d90
mov edi, 0x41c5ae
lea esi, [ebp - 0x854]
call fcn.00401940
jmp 0x40524a
call fcn.0040f480
push 3
call fcn.00403b90
mov ax, word [ebp - 0x156f]
mov word [0x414a0a], ax
jmp 0x4055eb
cmp dword [ebp - 0x146b], 1
jg 0x40542b
call fcn.0040f790
lea eax, [ebp - 0x553]
mov dword [ebp - 0x34c], eax
lea ebx, [ebp - 0x653]
mov dword [ebp - 0x350], ebx
lea eax, [ebp - 0x753]
mov dword [ebp - 0x354], eax
lea ebx, [ebp - 0x453]
mov dword [ebp - 0x348], ebx
mov eax, 0
mov ecx, 0x4c
mov edi, 0x41c6b2
jecxz 0x4052b1
rep stosb byte es:[edi], al
mov dword [0x41c6b2], 0x4c
mov dword [0x41c6e2], 0x4143a1
mov dword [0x41c6be], 0x414daa
mov dword [0x41c6de], 0x41c84b
mov dword [0x41c6d2], 0x12c
lea eax, [ebp - 0x134]
mov dword [0x41c6ce], eax
mov esi, 0x4143ca
lea edi, [ebp - 0x134]
mov ecx, 0x4b
rep movsd dword es:[edi], dword [esi]
mov dword [0x41c6e6], 0x1000
push 0x41c6b2
call sub.comdlg32.dll_GetOpenFileNameA
test al, al
je 0x40541a
push dword [0x41c6ce]
push dword [ebp - 0x34c]
push dword [ebp - 0x350]
push dword [ebp - 0x354]
call fcn.0040f5e0
lea eax, [ebp - 0x1874]
push eax
push dword [ebp - 0x34c]
call fcn.00402b80
lea esi, [ebp - 0x1874]
lea edi, [ebp - 0x1774]
call fcn.00401b30
mov esi, 0x4144f6
call fcn.00401af0
mov edi, 0x41c84a
lea esi, [ebp - 0x1774]
call fcn.00401940
call fcn.0040f510
lea eax, [ebp - 0x1774]
push eax
push dword [0x41c6ce]
call fcn.00402b80
lea edi, [ebp - 0x854]
lea esi, [ebp - 0x1774]
call fcn.00401940
mov byte [0x413046], 0
lea eax, [ebp - 0xac2]
push eax
lea ebx, [ebp - 0x854]
push ebx
call fcn.00401e60
lea ecx, [ebp - 0xac2]
push ecx
call fcn.00401ee0
mov byte [0x413046], 2
call fcn.00402760
test eax, eax
je 0x4053fc
mov esi, 0x4144f8
lea edi, [ebp - 0x1774]
call fcn.00401b30
lea esi, [ebp - 0x854]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00403bc0
jmp 0x405056
lea eax, [ebp - 0xac2]
push eax
call fcn.00401d90
mov edi, 0x41c5ae
lea esi, [ebp - 0x854]
call fcn.00401940
jmp 0x405426
call fcn.0040f480
push 3
call fcn.00403b90
jmp 0x4055eb
call fcn.0040f420
cmp eax, 2
jne 0x40549f
lea eax, [ebp - 0x1774]
push eax
push 1
call fcn.00404ac0
lea ebx, [ebp - 0x1774]
push ebx
push 0x41c6ae
call fcn.00404150
mov word [0x414a0a], ax
cmp dword [0x41c6ae], 0
je 0x40546c
mov word [0x414a0a], 1
lea eax, [ebp - 0x1774]
push eax
push 2
call fcn.00404ac0
mov edi, 0x41c5ae
lea esi, [ebp - 0x1774]
call fcn.00401940
lea edi, [ebp - 0x166f]
mov esi, 0x414508
call fcn.00401940
jmp 0x4055eb
call fcn.0040f420
cmp eax, 3
je 0x40556d
push 0x4161c8
mov esi, 0x413ba7
lea edi, [ebp - 0x1774]
call fcn.00401b30
mov esi, 0x414509
call fcn.00401af0
mov eax, edi
push eax
call fcn.00401e60
push 0x4161c8
call fcn.00401ee0
call fcn.00402760
test eax, eax
je 0x40550a
lea eax, [ebp - 0x1774]
push eax
push 0x57
call fcn.0040ec40
lea ebx, [ebp - 0x1774]
push ebx
call fcn.00403bc0
push 0
call fcn.00403b90
jmp 0x40556b
push 0x4161c8
call fcn.00404380
mov word [0x414a0a], ax
call fcn.00403530
push 0x4161c8
push 0xff
push 0x41c5ae
call fcn.00403a50
call fcn.00403530
push 0x4161c8
call fcn.004035d0
test al, al
jne 0x405561
push 0x4161c8
push 0xff
lea eax, [ebp - 0x166f]
push eax
call fcn.00403a50
call fcn.00403530
push 0x4161c8
call fcn.00401d90
jmp 0x4055eb
lea eax, [ebp - 0x1774]
push eax
push 1
call fcn.00404ac0
lea ebx, [ebp - 0x1774]
push ebx
push 0x41c6ae
call fcn.00404150
mov word [0x414a0a], ax
cmp dword [0x41c6ae], 0
je 0x4055a4
mov word [0x414a0a], 1
lea eax, [ebp - 0x1774]
push eax
push 2
call fcn.00404ac0
mov edi, 0x41c5ae
lea esi, [ebp - 0x1774]
call fcn.00401940
call fcn.0040f420
cmp eax, 3
jne 0x4055eb
lea eax, [ebp - 0x1774]
push eax
push 3
call fcn.00404ac0
lea edi, [ebp - 0x166f]
lea esi, [ebp - 0x1774]
call fcn.00401940
movzx eax, word [0x414a0a]
mov dword [ebp - 0x156f], eax
mov bx, word [0x414a0a]
mov word [0x414606], bx
lea edi, [ebp - 0x854]
mov esi, 0x41c5ae
call fcn.00401940
push 0
call sub.kernel32.dll_SetLastError
call fcn.0040ec70
call fcn.00402760
test eax, eax
je 0x405635
push 0x414513
call fcn.00403bc0
mov dword [0x4145c3], 0xffffffff
mov dword [0x4145bf], 0xffffffff
lea eax, [ebp - 0xac2]
push eax
mov esi, 0x413de5
lea edi, [ebp - 0x1874]
call fcn.00401b30
mov esi, 0x41452a
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x1774]
call fcn.00401b30
lea ebx, [ebp - 0x1974]
push ebx
push dword [ebp - 0x156f]
call fcn.00406c00
lea esi, [ebp - 0x1974]
lea edi, [ebp - 0x1774]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00401e60
lea ebx, [ebp - 0xac2]
push ebx
call fcn.00401ee0
call fcn.00402760
test eax, eax
jne 0x405785
lea eax, [ebp - 0xac2]
push eax
push 0xff
lea ebx, [ebp - 0x244]
push ebx
call fcn.00403a50
call fcn.00403530
push 0x414532
lea eax, [ebp - 0x244]
push eax
call fcn.00403f50
test eax, eax
jg 0x4056fd
lea eax, [ebp - 0xac2]
push eax
call fcn.004035d0
test al, al
je 0x4056bb
lea eax, [ebp - 0xac2]
push eax
call fcn.004035d0
test al, al
jne 0x40573b
lea eax, [ebp - 0xac2]
push eax
push 0xff
lea ebx, [ebp - 0x244]
push ebx
call fcn.00403a50
call fcn.00403530
lea ecx, [ebp - 0x244]
push ecx
call fcn.004068c0
mov dword [0x4145c3], eax
lea eax, [ebp - 0xac2]
push eax
call fcn.004035d0
test al, al
jne 0x405779
lea eax, [ebp - 0xac2]
push eax
push 0xff
lea ebx, [ebp - 0x244]
push ebx
call fcn.00403a50
call fcn.00403530
lea ecx, [ebp - 0x244]
push ecx
call fcn.004068c0
mov dword [0x4145bf], eax
lea eax, [ebp - 0xac2]
push eax
call fcn.00401d90
call sub.kernel32.dll_GetLastError
test eax, eax
je 0x405795
push 0
call sub.kernel32.dll_SetLastError
call fcn.0040daa0
call sub.kernel32.dll_GetLastError
test eax, eax
je 0x4057aa
push 0
call sub.kernel32.dll_SetLastError
call fcn.00402760
test eax, eax
je 0x4057bd
push 0x414536
call fcn.00403bc0
lea eax, [ebp - 0x854]
push eax
call fcn.00405f00
test al, al
jne 0x405810
mov esi, 0x41454d
lea edi, [ebp - 0x1774]
call fcn.00401b30
lea esi, [ebp - 0x854]
call fcn.00401af0
mov eax, edi
push eax
call fcn.00403bc0
lea edi, [ebp - 0x156b]
lea esi, [ebp - 0x854]
call fcn.00401940
mov dword [ebp - 0x146b], 0xffffffff
jmp 0x405056
mov dword [0x414820], 0x63
lea edi, [ebp - 0x244]
mov esi, 0x414564
call fcn.00401940
lea edi, [ebp - 0x954]
mov esi, 0x41456e
call fcn.00401940
lea esi, [ebp - 0x166f]
mov edi, 0x414573
call fcn.00403e50
test al, al
je 0x40585a
lea eax, [ebp - 0x854]
push eax
call fcn.0040d8d0
lea eax, [ebp - 0x854]
push eax
lea ebx, [ebp - 0x954]
push ebx
push 1
push 0xff
lea ecx, [ebp - 0x244]
push ecx
call fcn.00406f00
test al, al
je 0x4058af
lea esi, [ebp - 0x244]
mov edi, 0x414576
call fcn.00403e50
test al, al
je 0x4058ad
lea eax, [ebp - 0x1774]
push eax
push 0x7d
call fcn.00406dd0
lea ebx, [ebp - 0x1774]
push ebx
call fcn.00406da0
jmp 0x4058af
lea eax, [ebp - 0x854]
push eax
movzx ebx, word [0x414606]
push ebx
call fcn.004060e0
lea ecx, [ebp - 0xac2]
push ecx
mov esi, 0x41408e
lea edi, [ebp - 0x1774]
call fcn.00401b30
mov esi, 0x414577
call fcn.00401af0
mov eax, edi
push eax
call fcn.00401e60
lea ebx, [ebp - 0xac2]
push ebx
call fcn.00401210
lea eax, [ebp - 0x1974]
push eax
push 0x416342
call fcn.00406060
lea esi, [ebp - 0x1974]
lea edi, [ebp - 0x1874]
call fcn.00401b30
mov esi, 0x41457c
call fcn.00401af0
mov esi, edi
lea edi, [ebp - 0x1774]
call fcn.00401b30
imul eax, dword [0x416442], 0x100
lea esi, [eax + 0x416446]
call fcn.00401af0
lea edi, [ebp - 0xf4e]
lea esi, [ebp - 0x1774]
call fcn.00401940
mov eax, esi
push eax
push 0x416342
call fcn.00406060
mov edi, 0x416342
lea esi, [ebp - 0x1774]
call fcn.00401940
lea eax, [ebp - 0xac2]
push eax
lea ebx, [ebp - 0xf4e]
push ebx
push 0
call fcn.00402780
push 1
push 0x41457e
push 0
call fcn.00405fc0
call fcn.00405fa0
lea eax, [ebp - 0xac2]
push eax
push dword [0x416442]
push 0
call fcn.00406020
push 1
push 0x41457f
push 0
call fcn.00405fc0
call fcn.00405fa0
lea eax, [ebp - 0xac2]
push eax
push 0x416342
push 0
call fcn.00402780
push 1
push 0x414580
push 0
call fcn.00405fc0
call fcn.00405fa0
lea eax, [ebp - 0xac2]
push eax
call fcn.00401d90
lea ebx, [ebp - 0x156b]
push ebx
call fcn.00405f00
test al, al
jne 0x405b79
lea eax, [ebp - 0x854]
push eax
call fcn.00405f00
test al, al
je 0x405b79
cmp dword [0x4145c3], 0
jl 0x405b08
lea eax, [ebp - 0x854]
push eax
push 0x414581
push dword [0x4145c3]
push dword [0x4145bf]
call fcn.00405b90
test al, al
je 0x405b06
lea edi, [ebp - 0x244]
lea esi, [ebp - 0x854]
call fcn.00401940
mov esi, edi
lea edi, [ebp - 0x1774]
call fcn.00401b30
mov esi, 0x414587
call fcn.00401af0
lea edi, [ebp - 0x244]
lea esi, [ebp - 0x1774]
call fcn.00401940
lea edi, [ebp - 0x854]
mov esi, 0x414589
call fcn.00401940
mov esi, edi
lea edi, [ebp - 0x1774]
call fcn.00401b30
mov esi, 0x41458f
call fcn.00401af0
lea edi, [ebp - 0x854]
lea esi, [ebp - 0x1774]
call fcn.00401940
lea esi, [ebp - 0x156b]
lea edi, [ebp - 0x1774]
call fcn.00401b30
mov esi, 0x414591
call fcn.00401af0
lea edi, [ebp - 0x156b]
lea esi, [ebp - 0x1774]
call fcn.00401940
push 0
lea eax, [ebp - 0x243]
push eax
lea ebx, [ebp - 0x853]
push ebx
call sub.kernel32.dll_CopyFileA
test al, al
jne 0x405b06
jmp 0x405b79
lea esi, [ebp - 0x854]
lea edi, [ebp - 0x1774]
call fcn.00401b30
mov esi, 0x414593
call fcn.00401af0
lea edi, [ebp - 0x854]
lea esi, [ebp - 0x1774]
call fcn.00401940
lea esi, [ebp - 0x156b]
lea edi, [ebp - 0x1774]
call fcn.00401b30
mov esi, 0x414595
call fcn.00401af0
lea edi, [ebp - 0x156b]
lea esi, [ebp - 0x1774]
call fcn.00401940
push 0
lea eax, [ebp - 0x156a]
push eax
lea ebx, [ebp - 0x853]
push ebx
call sub.kernel32.dll_CopyFileA
test al, al
jne 0x405b79
push 0
call sub.user32.dll_PostQuitMessage
pop edx
pop ecx
pop ebx
leave
ret