Function at 0x69e0e4
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xe
push 0
push 0
dec ecx
jne 0x69e0ec
push ecx
push ebx
push esi
push edi
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x69e950
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 6], 0
lea eax, [ebp - 0xc]
call fcn.0040498c
xor ecx, ecx
mov dl, 1
mov eax, dword [0x68b030]
call fcn.00468970
mov edx, dword [0x6b0080]
mov dword [edx], eax
mov eax, dword [0x6b0080]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0xe8]
dec eax
jne 0x69e155
lea eax, [ebp - 0xc]
mov edx, dword [0x6b0080]
mov edx, dword [edx]
mov edx, dword [edx + 0x318]
call fcn.00404a24
mov eax, dword [0x6b0080]
mov eax, dword [eax]
call fcn.00403a9c
cmp dword [ebp - 0xc], 0
je 0x69e8d9
mov byte [ebp - 0x19], 0
mov byte [ebp - 0x1a], 0
lea eax, [ebp - 0x20]
call fcn.0040498c
xor ecx, ecx
mov dl, 1
mov eax, dword [0x567ab0]
call fcn.0056b294
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x3c], 0
mov dword [ebp - 0x30], 3
mov eax, dword [0x6affc4]
mov dword [ebp - 0x38], eax
xor eax, eax
push ebp
push 0x69e2cd
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
mov eax, dword [ebp - 0xc]
call fcn.005c70fc
mov edx, dword [ebp - 0x40]
lea eax, [ebp - 0x3c]
call fcn.00405254
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
call fcn.0056c6cc
mov eax, dword [ebp - 0x14]
call fcn.00553284
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x38]
test al, al
je 0x69e2c3
mov edx, 0x69e96c
mov eax, dword [ebp - 0x14]
call fcn.005c6e20
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x69e2c3
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x38]
mov edx, dword [edx]
call fcn.00404a24
cmp byte [ebp - 5], 0
je 0x69e2ae
xor ecx, ecx
mov dl, 1
mov eax, dword [0x567ab0]
call fcn.0056b294
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x3c], 0
lea ecx, [ebp - 0x48]
mov eax, dword [0x6afb20]
mov eax, dword [eax]
mov eax, dword [eax + 0x20]
mov edx, 0x69e97c
call fcn.005c70fc
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0x44]
call fcn.00405254
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
call fcn.0056c6cc
xor eax, eax
push ebp
push 0x69e292
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x18]
call fcn.00553284
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
call fcn.005c6994
mov byte [ebp - 0x1a], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x69e29c
mov eax, dword [ebp - 0x18]
call fcn.0055328c
mov eax, dword [ebp - 0x18]
call fcn.00403a9c
jmp 0x69e2c3
mov eax, dword [0x6aff60]
mov eax, dword [eax]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 0x14]
call fcn.005c6994
mov byte [ebp - 0x1a], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x69e2d7
mov eax, dword [ebp - 0x14]
call fcn.0055328c
add dword [ebp - 0x38], 4
dec dword [ebp - 0x30]
jne 0x69e1a2
mov eax, dword [ebp - 0x14]
call fcn.00403a9c
cmp byte [ebp - 0x19], 0
jne 0x69e316
push 0x10
push 0x69e99c
push 0x69e9a0
call sub.user32.dll_GetFocus
push eax
call sub.user32.dll_MessageBoxA_1
jmp 0x69e8d9
xor ebx, ebx
mov byte [ebp - 0x25], 0
xor ecx, ecx
mov dl, 1
mov eax, dword [0x689c70]
call fcn.00468970
mov edx, dword [0x6b013c]
mov dword [edx], eax
lea edx, [ebp - 0x50]
mov eax, dword [ebp - 0xc]
call fcn.0040a60c
mov ecx, dword [ebp - 0x50]
lea eax, [ebp - 0x4c]
mov edx, 0x69e9cc
call fcn.00404ca0
mov edx, dword [ebp - 0x4c]
mov eax, dword [0x6b013c]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
call fcn.0044eee8
mov eax, dword [0x6b013c]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov dl, byte [ebp - 0x1a]
call fcn.0044edd8
mov eax, dword [0x6b013c]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0xe8]
dec eax
jne 0x69e3ac
mov bl, 1
mov eax, dword [0x6b013c]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
cmp byte [eax + 0x57], 0
je 0x69e3ac
mov edx, dword [0x6b013c]
call fcn.004cef2c
mov byte [ebp - 0x25], al
mov eax, dword [0x6b013c]
mov eax, dword [eax]
call fcn.00403a9c
test bl, bl
je 0x69e8d9
mov eax, dword [0x6af850]
cmp dword [eax], 0
je 0x69e3d6
mov eax, dword [0x6af850]
mov eax, dword [eax]
call fcn.00601d90
mov eax, dword [0x6afb20]
mov eax, dword [eax]
mov edx, 0x69e9e0
call fcn.005f4d24
mov eax, dword [0x6afb20]
mov eax, dword [eax]
mov edx, 0x69e9e0
call fcn.005f4fe8
cmp byte [ebp - 5], 0
je 0x69e426
mov eax, dword [0x6afb20]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
call fcn.0040a414
mov eax, dword [0x6afb20]
mov eax, dword [eax]
mov edx, dword [eax + 0x1c]
mov eax, dword [0x6afb20]
mov eax, dword [eax]
mov eax, dword [eax + 0x20]
call fcn.0040a42c
push 1
push 0x69e9f8
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
call fcn.0062a998
cmp dword [ebp - 0x10], 0
jne 0x69e452
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0xc]
call fcn.00404a24
jmp 0x69e45d
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x10]
call fcn.00404a24
cmp byte [ebp - 0x25], 0
je 0x69e4be
mov eax, dword [0x6aff60]
mov eax, dword [eax]
mov eax, dword [eax + 0x60]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x48]
push 0
mov eax, dword [0x6afb20]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
call fcn.00404e4c
push eax
mov eax, dword [ebp - 0x24]
call fcn.00404e4c
push eax
call sub.kernel32.dll_CopyFileA
cmp eax, 1
sbb ebx, ebx
inc ebx
test bl, bl
jne 0x69e7fb
push 0x10
push 0x69e99c
push 0x69ea00
call sub.user32.dll_GetFocus
push eax
call sub.user32.dll_MessageBoxA_1
jmp 0x69e7fb
xor ecx, ecx
mov dl, 1
mov eax, dword [0x669590]
call fcn.00468970
mov edx, dword [0x6af3a0]
mov dword [edx], eax
mov eax, dword [0x6af3a0]
mov eax, dword [eax]
call fcn.0046cbac
mov eax, dword [0x6afcb4]
mov eax, dword [eax]
call fcn.0046ff74
xor ecx, ecx
mov dl, 1
mov eax, dword [0x567ab0]
call fcn.0056b294
mov esi, eax
mov byte [esi + 0x3c], 0
lea ecx, [ebp - 0x58]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
call fcn.005c70fc
mov edx, dword [ebp - 0x58]
lea eax, [ebp - 0x54]
call fcn.00405254
mov edx, dword [ebp - 0x54]
mov eax, esi
call fcn.0056c6cc
mov eax, esi
call fcn.00553284
mov dl, 1
mov eax, dword [0x4180e0]
call fcn.00403a6c
mov dword [ebp - 0x34], eax
mov bl, 1
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [0x6af3a0]
mov eax, dword [eax]
mov ecx, dword [eax + 0x300]
mov eax, dword [0x6aff60]
mov eax, dword [eax]
mov edx, dword [eax + 0x60]
mov eax, esi
call fcn.0068c6a0
mov eax, dword [0x6afb20]
mov eax, dword [eax]
mov cl, 1
mov edx, 0x69ea24
call fcn.0060a0b0
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp - 0x5c]
mov eax, dword [0x6afb20]
mov eax, dword [eax]
call fcn.0060a440
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x69e65a
xor ecx, ecx
mov dl, 1
mov eax, dword [0x68c8bc]
call fcn.00468970
mov edx, dword [0x6b00c8]
mov dword [edx], eax
lea edx, [ebp - 0x60]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp - 0x60]
mov eax, dword [0x6b00c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [0x6b00c8]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0xe8]
dec eax
je 0x69e64e
xor ebx, ebx
mov eax, dword [0x6aff60]
mov eax, dword [eax]
mov edx, dword [eax + 0x60]
mov eax, 0x69ea44
call fcn.005c6b54
mov eax, dword [0x6aff60]
mov eax, dword [eax]
mov edx, dword [eax + 0x60]
mov eax, 0x69e9f8
call fcn.005c6b54
mov eax, dword [0x6aff60]
mov eax, dword [eax]
mov edx, dword [eax + 0x60]
mov eax, 0x69ea54
call fcn.005c6b54
mov eax, dword [0x6aff60]
mov eax, dword [eax]
mov edx, dword [eax + 0x60]
mov eax, 0x69ea68
call fcn.005c6b54
mov eax, dword [0x6aff60]
mov eax, dword [eax]
mov edx, dword [eax + 0x60]
mov eax, 0x69ea78
call fcn.005c6b54
mov eax, dword [0x6b00c8]
mov eax, dword [eax]
call fcn.00403a9c
mov eax, dword [ebp - 0x34]
call fcn.00403a9c
test bl, bl
je 0x69e7e1
mov ecx, 0x69ea90
mov edx, 0x69e96c
mov eax, esi
call fcn.005c7094
test al, al
jne 0x69e6e0
lea eax, [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0xb
lea edx, [ebp - 0x6c]
xor ecx, ecx
mov eax, 0x69eaa4
call fcn.0040af08
mov edx, dword [ebp - 0x64]
mov eax, dword [0x6af3a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
call fcn.0044eee8
mov eax, dword [0x6af3a0]
mov eax, dword [eax]
call fcn.0044f42c
mov eax, dword [0x6af3a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
call fcn.0044f42c
mov eax, dword [0x6afcb4]
mov eax, dword [eax]
call fcn.0046ff74
call fcn.005e9104
mov ecx, 0x69ead0
mov edx, 0x69eae4
mov eax, esi
call fcn.005c7094
test al, al
jne 0x69e756
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0xb
lea edx, [ebp - 0x6c]
xor ecx, ecx
mov eax, 0x69eaa4
call fcn.0040af08
mov edx, dword [ebp - 0x70]
mov eax, dword [0x6af3a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
call fcn.0044eee8
mov eax, dword [0x6af3a0]
mov eax, dword [eax]
call fcn.0044f42c
mov eax, dword [0x6af3a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
call fcn.0044f42c
mov eax, dword [0x6afcb4]
mov eax, dword [eax]
call fcn.0046ff74
call fcn.005e9218
mov eax, dword [0x6afb20]
mov eax, dword [eax]
cmp dword [eax + 0x27c], 0
jle 0x69e7e1
lea eax, [ebp - 0x74]
push eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0xb
lea edx, [ebp - 0x6c]
xor ecx, ecx
mov eax, 0x69eaf4
call fcn.0040af08
mov edx, dword [ebp - 0x74]
mov eax, dword [0x6af3a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
call fcn.0044eee8
mov eax, dword [0x6af3a0]
mov eax, dword [eax]
call fcn.0044f42c
mov eax, dword [0x6af3a0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
call fcn.0044f42c
mov eax, dword [0x6afcb4]
mov eax, dword [eax]
call fcn.0046ff74
mov eax, dword [0x6afb20]
mov eax, dword [eax]
mov edx, dword [eax + 0x278]
mov eax, dword [0x6afb20]
mov eax, dword [eax]
mov eax, dword [eax + 0x274]
call fcn.005e9754
mov eax, esi
call fcn.0055328c
mov eax, esi
call fcn.00403a9c
mov eax, dword [0x6af3a0]
mov eax, dword [eax]
call fcn.00403a9c
mov eax, dword [ebp - 0x10]
call fcn.0040a1c8
test al, al
je 0x69e80f
mov eax, dword [ebp - 0x10]
call fcn.0040a414
test bl, bl
je 0x69e86a
xor eax, eax
push ebp
push 0x69e860
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x6aff60]
mov eax, dword [eax]
mov eax, dword [eax + 0x60]
call fcn.0055328c
mov eax, dword [0x6aff60]
mov eax, dword [eax]
mov eax, dword [eax + 0x60]
call fcn.00553284
mov eax, dword [0x6aff60]
mov eax, dword [eax]
mov eax, dword [eax + 0x60]
mov edx, dword [eax]
call dword [edx + 0x38]
test al, al
je 0x69e856
mov byte [ebp - 6], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x69e86a
cmp byte [ebp - 6], 0
je 0x69e8a8
push 0x40
push 0x69e99c
push 0x69eb10
call sub.user32.dll_GetFocus
push eax
call sub.user32.dll_MessageBoxA_1
call fcn.0062e650
call fcn.005e89a8
push 0x30
push 0x69e99c
push 0x69eb4c
call sub.user32.dll_GetFocus
push eax
call sub.user32.dll_MessageBoxA_1
mov eax, dword [ebp - 4]
call fcn.0046cba4
mov eax, dword [0x6afcb4]
mov eax, dword [eax]
call fcn.0047020c
call fcn.0068ac30
jmp 0x69e8d9
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x69e957
lea eax, [ebp - 0x74]
mov edx, 2
call fcn.004049b0
lea eax, [ebp - 0x64]
mov edx, 4
call fcn.004049b0
lea eax, [ebp - 0x54]
call fcn.004050c0
lea eax, [ebp - 0x50]
mov edx, 3
call fcn.004049b0
lea eax, [ebp - 0x44]
call fcn.004050c0
lea eax, [ebp - 0x40]
call fcn.0040498c
lea eax, [ebp - 0x3c]
call fcn.004050c0
lea eax, [ebp - 0x2c]
call fcn.0040498c
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.004049b0
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.004049b0
ret