Function at 0x406744
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffef8
push ebx
push esi
push edi
mov ebx, eax
mov esi, 0x4781d0
mov eax, 0x479de0
call fcn.0046b8cc
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0xf8], ecx
mov word [ebp - 0xe0], 0x14
lea edx, [esi + 0x39c]
lea eax, [ebp - 4]
call fcn.004758e8
inc dword [ebp - 0xd4]
xor ecx, ecx
mov word [ebp - 0xe0], 8
mov word [ebp - 0xe0], 0x20
mov dword [ebp - 8], ecx
lea ecx, [ebp - 8]
inc dword [ebp - 0xd4]
mov edx, 0x480dec
lea eax, [esi + 0x39d]
call fcn.00475e98
lea edx, [ebp - 8]
mov eax, ebx
call fcn.00406090
dec dword [ebp - 0xd4]
lea eax, [ebp - 8]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xe0], 0x2c
mov ecx, dword [ebx + 0x34]
mov dl, 1
mov eax, dword [0x41df2c]
call fcn.004062e0
mov dword [ebp - 0xf4], eax
mov word [ebp - 0xe0], 0x44
lea edx, [esi + 0x3c2]
lea eax, [ebp - 0x2c]
call fcn.004758e8
inc dword [ebp - 0xd4]
lea edx, [ebp - 0x30]
mov ecx, dword [eax]
xor eax, eax
push ecx
mov dword [ebp - 0x30], eax
push edx
lea edx, [esi + 0x3b3]
inc dword [ebp - 0xd4]
lea eax, [ebp - 0x28]
call fcn.004758e8
inc dword [ebp - 0xd4]
lea edx, [esi + 0x3a7]
mov ecx, dword [eax]
lea eax, [ebp - 0x24]
push ecx
call fcn.004758e8
inc dword [ebp - 0xd4]
mov edx, dword [eax]
mov eax, dword [ebp - 0xf4]
pop ecx
mov edi, dword [eax]
call dword [edi]
lea eax, [ebp - 0x30]
xor edx, edx
mov dword [ebp - 0xc], edx
lea edx, [ebp - 0xc]
inc dword [ebp - 0xd4]
call fcn.00475dc0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xe0], 0x38
mov word [ebp - 0xe0], 0x50
xor eax, eax
mov dword [ebp - 0x34], eax
lea edx, [ebp - 0x34]
inc dword [ebp - 0xd4]
mov eax, dword [ebp - 0xc]
call fcn.00425018
lea ecx, [ebp - 0x34]
push ecx
lea edx, [esi + 0x3c3]
lea eax, [ebp - 0x38]
call fcn.004758e8
inc dword [ebp - 0xd4]
xor eax, eax
mov dword [ebp - 0x10], eax
lea edx, [ebp - 0x38]
inc dword [ebp - 0xd4]
lea ecx, [ebp - 0x10]
pop eax
call fcn.004759f8
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x34]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xe0], 0x38
mov word [ebp - 0xe0], 0x5c
lea edx, [ebp - 0x10]
lea eax, [ebp - 0x3c]
call fcn.00475920
inc dword [ebp - 0xd4]
mov eax, dword [eax]
call fcn.00420c28
xor edx, edx
mov dl, al
lea eax, [ebp - 0x3c]
cmp edx, 1
mov edx, 2
sbb ecx, ecx
neg ecx
push ecx
dec dword [ebp - 0xd4]
call fcn.004759a0
pop ecx
test cl, cl
je 0x406a1a
lea eax, [ebp - 0xf0]
xor edx, edx
push eax
push 0
push 0
push 0
push 1
push 0x401728
push 0
lea eax, [esi + 0x3d1]
mov word [ebp - 0xe0], 0x68
mov dword [ebp - 0x40], edx
lea edx, [ebp - 0x10]
inc dword [ebp - 0xd4]
lea ecx, [ebp - 0x40]
call fcn.00475e98
lea ecx, [ebp - 0x40]
push ecx
lea edx, [esi + 0x3e3]
lea eax, [ebp - 0x44]
call fcn.004758e8
inc dword [ebp - 0xd4]
xor eax, eax
mov dword [ebp - 0x48], eax
lea edx, [ebp - 0x44]
inc dword [ebp - 0xd4]
lea ecx, [ebp - 0x48]
pop eax
call fcn.004759f8
lea ecx, [ebp - 0x48]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x41f558]
call fcn.00424498
push eax
push 0x4016c4
call fcn.004727a5
add esp, 0x24
mov word [ebp - 0xe0], 0x74
lea edx, [ebp - 0x10]
lea eax, [ebp - 0x4c]
call fcn.00475920
inc dword [ebp - 0xd4]
mov ecx, dword [eax]
mov dl, 1
mov eax, dword [0x41df2c]
call fcn.004062e0
mov dword [ebp - 0xf8], eax
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x4c]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xe0], 0x80
lea edx, [esi + 0x3fd]
lea eax, [ebp - 0x58]
call fcn.004758e8
inc dword [ebp - 0xd4]
lea edx, [ebp - 0x5c]
mov ecx, dword [eax]
xor eax, eax
push ecx
mov dword [ebp - 0x5c], eax
push edx
lea edx, [esi + 0x3f4]
inc dword [ebp - 0xd4]
lea eax, [ebp - 0x54]
call fcn.004758e8
inc dword [ebp - 0xd4]
lea edx, [esi + 0x3f0]
mov ecx, dword [eax]
lea eax, [ebp - 0x50]
push ecx
call fcn.004758e8
inc dword [ebp - 0xd4]
mov edx, dword [eax]
mov eax, dword [ebp - 0xf8]
pop ecx
mov edi, dword [eax]
call dword [edi]
lea eax, [ebp - 0x5c]
xor edx, edx
mov dword [ebp - 0x14], edx
lea edx, [ebp - 0x14]
inc dword [ebp - 0xd4]
call fcn.00475dc0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x5c]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x58]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x54]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x50]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xe0], 0x38
mov word [ebp - 0xe0], 0x8c
lea edx, [esi + 0x40b]
lea eax, [ebp - 0x68]
call fcn.004758e8
inc dword [ebp - 0xd4]
lea edx, [ebp - 0x6c]
mov ecx, dword [eax]
xor eax, eax
push ecx
mov dword [ebp - 0x6c], eax
push edx
lea edx, [esi + 0x402]
inc dword [ebp - 0xd4]
lea eax, [ebp - 0x64]
call fcn.004758e8
inc dword [ebp - 0xd4]
lea edx, [esi + 0x3fe]
mov ecx, dword [eax]
lea eax, [ebp - 0x60]
push ecx
call fcn.004758e8
inc dword [ebp - 0xd4]
mov edx, dword [eax]
mov eax, dword [ebp - 0xf8]
pop ecx
mov edi, dword [eax]
call dword [edi]
lea eax, [ebp - 0x6c]
xor edx, edx
mov dword [ebp - 0x18], edx
lea edx, [ebp - 0x18]
inc dword [ebp - 0xd4]
call fcn.00475dc0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x6c]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x68]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x64]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x60]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xe0], 0x38
mov word [ebp - 0xe0], 0x98
lea edx, [esi + 0x419]
lea eax, [ebp - 0x78]
call fcn.004758e8
inc dword [ebp - 0xd4]
lea edx, [ebp - 0x7c]
mov ecx, dword [eax]
xor eax, eax
push ecx
mov dword [ebp - 0x7c], eax
push edx
lea edx, [esi + 0x410]
inc dword [ebp - 0xd4]
lea eax, [ebp - 0x74]
call fcn.004758e8
inc dword [ebp - 0xd4]
lea edx, [esi + 0x40c]
mov ecx, dword [eax]
lea eax, [ebp - 0x70]
push ecx
call fcn.004758e8
inc dword [ebp - 0xd4]
mov edx, dword [eax]
mov eax, dword [ebp - 0xf8]
pop ecx
mov edi, dword [eax]
call dword [edi]
lea eax, [ebp - 0x7c]
xor edx, edx
mov dword [ebp - 0x1c], edx
lea edx, [ebp - 0x1c]
inc dword [ebp - 0xd4]
call fcn.00475dc0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x7c]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x78]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x74]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x70]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xe0], 0x38
mov word [ebp - 0xe0], 0xa4
xor eax, eax
mov dword [ebp - 0x80], eax
lea edx, [ebp - 0x80]
inc dword [ebp - 0xd4]
mov eax, dword [ebx + 0x34]
call fcn.00421028
lea ecx, [ebp - 0x80]
mov eax, dword [ecx]
push eax
lea edx, [esi + 0x45f]
lea eax, [ebp - 0x84]
call fcn.004758e8
inc dword [ebp - 0xd4]
lea edx, [ebp - 0x84]
push edx
call fcn.00422628
fstp qword [ebp - 0x100]
lea eax, [ebp - 0x100]
xor edx, edx
mov dword [ebp - 0x88], edx
lea ecx, [ebp - 0x88]
inc dword [ebp - 0xd4]
pop edx
call fcn.00476028
lea eax, [ebp - 0x88]
mov ecx, dword [eax]
push ecx
mov eax, dword [ebp - 0x14]
push eax
mov edx, dword [ebp - 0x1c]
push edx
mov ecx, dword [ebp - 0x18]
push ecx
lea ecx, [esi + 0x41a]
mov eax, dword [ebx + 0x34]
push eax
lea eax, [ebp - 4]
mov edx, dword [ebx + 0x3c]
push edx
push ecx
push eax
call fcn.00475c20
add esp, 0x24
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x80]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x88]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x84]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xe0], 0xb0
lea edx, [esi + 0x47c]
lea eax, [ebp - 0x94]
call fcn.004758e8
inc dword [ebp - 0xd4]
lea edx, [ebp - 0x98]
mov ecx, dword [eax]
xor eax, eax
push ecx
mov dword [ebp - 0x98], eax
push edx
lea edx, [esi + 0x474]
inc dword [ebp - 0xd4]
lea eax, [ebp - 0x90]
call fcn.004758e8
inc dword [ebp - 0xd4]
lea edx, [esi + 0x468]
mov ecx, dword [eax]
lea eax, [ebp - 0x8c]
push ecx
call fcn.004758e8
inc dword [ebp - 0xd4]
mov edx, dword [eax]
mov eax, dword [ebp - 0xf4]
pop ecx
mov edi, dword [eax]
call dword [edi]
lea eax, [ebp - 0x98]
xor edx, edx
mov dword [ebp - 0x20], edx
lea edx, [ebp - 0x20]
inc dword [ebp - 0xd4]
call fcn.00475dc0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x98]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x94]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x90]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x8c]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xe0], 0x38
mov eax, dword [ebp - 0x20]
call fcn.00420c28
test al, al
je 0x406f99
mov word [ebp - 0xe0], 0xbc
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
lea edx, [ebp - 0x9c]
inc dword [ebp - 0xd4]
mov eax, dword [ebp - 0x20]
call fcn.00421028
lea ecx, [ebp - 0x9c]
mov eax, dword [ecx]
push eax
lea edx, [esi + 0x4c0]
lea eax, [ebp - 0xa0]
call fcn.004758e8
inc dword [ebp - 0xd4]
lea edx, [ebp - 0xa0]
push edx
call fcn.00422628
fstp qword [ebp - 0x108]
lea eax, [ebp - 0x108]
xor edx, edx
mov dword [ebp - 0xa4], edx
lea ecx, [ebp - 0xa4]
inc dword [ebp - 0xd4]
pop edx
call fcn.00476028
lea eax, [ebp - 0xa4]
mov ecx, dword [eax]
push ecx
mov eax, dword [ebp - 0x14]
push eax
mov edx, dword [ebp - 0x1c]
push edx
mov ecx, dword [ebp - 0x18]
push ecx
lea ecx, [esi + 0x47d]
mov eax, dword [ebp - 0x20]
push eax
lea eax, [ebp - 4]
mov edx, dword [ebx + 0x3c]
push edx
push ecx
push eax
call fcn.00475c54
add esp, 0x24
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x9c]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0xa4]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0xa0]
mov edx, 2
call fcn.004759a0
jmp 0x406fe2
cmp dword [ebp - 0x20], 0
je 0x406fe2
mov word [ebp - 0xe0], 0xc8
lea edx, [esi + 0x4c9]
lea eax, [ebp - 0xa8]
call fcn.004758e8
inc dword [ebp - 0xd4]
lea edx, [ebp - 0xa8]
mov eax, ebx
call fcn.00406090
dec dword [ebp - 0xd4]
lea eax, [ebp - 0xa8]
mov edx, 2
call fcn.004759a0
mov eax, dword [ebx + 0x40]
call fcn.00420c28
test al, al
je 0x40716a
mov word [ebp - 0xe0], 0xe0
xor edx, edx
mov dword [ebp - 0xb0], edx
lea edx, [ebp - 0xb0]
inc dword [ebp - 0xd4]
mov eax, dword [ebx + 0x40]
call fcn.00421028
lea edx, [ebp - 0xb0]
xor eax, eax
mov dword [ebp - 0xac], eax
lea ecx, [ebp - 0xac]
inc dword [ebp - 0xd4]
lea eax, [esi + 0x4e4]
call fcn.00475e98
dec dword [ebp - 0xd4]
lea eax, [ebp - 0xb0]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xe0], 0xd4
mov word [ebp - 0xe0], 0xec
xor ecx, ecx
mov dword [ebp - 0xb4], ecx
lea edx, [ebp - 0xb4]
inc dword [ebp - 0xd4]
mov eax, dword [ebx + 0x40]
call fcn.00420f60
lea eax, [ebp - 0xb4]
mov eax, dword [eax]
xor edx, edx
mov dword [ebp - 0xb8], edx
lea edx, [ebp - 0xb8]
inc dword [ebp - 0xd4]
call fcn.00425018
lea eax, [ebp - 0xb8]
xor ecx, ecx
mov dword [ebp - 0xbc], ecx
lea ecx, [ebp - 0xbc]
inc dword [ebp - 0xd4]
lea edx, [ebp - 0xac]
call fcn.004759f8
lea edx, [ebp - 0xbc]
lea eax, [ebp - 0xac]
call fcn.004759d0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0xbc]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0xb8]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0xb4]
mov edx, 2
call fcn.004759a0
push 0
cmp dword [ebp - 0xac], 0
je 0x40712c
mov ecx, dword [ebp - 0xac]
jmp 0x407132
lea ecx, [esi + 0x4ea]
push ecx
lea eax, [ebx + 0x40]
cmp dword [eax], 0
je 0x40713f
mov edx, dword [eax]
jmp 0x407145
lea edx, [esi + 0x4e9]
push edx
call sub.KERNEL32.DLL_CopyFileA
dec dword [ebp - 0xd4]
lea eax, [ebp - 0xac]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xe0], 0x38
mov eax, dword [ebx + 0x40]
call fcn.00420afc
mov word [ebp - 0xe0], 0x38
cmp dword [ebp - 4], 0
mov ebx, eax
je 0x40718b
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx - 4]
jmp 0x40718d
xor ecx, ecx
cmp dword [ebp - 4], 0
je 0x407198
mov edx, dword [ebp - 4]
jmp 0x40719e
lea edx, [esi + 0x4eb]
mov eax, ebx
call fcn.00420b54
mov eax, ebx
call fcn.00420bb8
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.004759a0
dec dword [ebp - 0xd4]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004759a0
mov word [ebp - 0xe0], 0x2c
mov word [ebp - 0xe0], 8
mov ebx, dword [ebp - 0xf8]
mov dword [ebp - 0xc4], ebx
test ebx, ebx
je 0x40726a
mov eax, dword [ebx]
mov dword [ebp - 0xc0], eax
mov word [ebp - 0xe0], 0x104
mov edx, 3
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0xe0], 0xf8
mov ebx, dword [ebp - 0xf4]
mov dword [ebp - 0xcc], ebx
test ebx, ebx
je 0x4072a4
mov eax, dword [ebx]
mov dword [ebp - 0xc8], eax
mov word [ebp - 0xe0], 0x11c
mov edx, 3
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0xe0], 0x110
cmp word [ebp - 0xde], 0
je 0x4072af
ret
dec dword [ebp - 0xd4]
lea eax, [ebp - 4]
mov edx, 2
call fcn.004759a0
mov ecx, dword [ebp - 0xf0]
mov dword fs:[0], ecx
mov esp, ebp
mov edi, dword [ebp - 0x114]
mov esi, dword [ebp - 0x110]
mov ebx, dword [ebp - 0x10c]
pop ebp
ret