Function at 0x409727
Capabilities:
Check if file exists
Copy file

Disassembly:
push 0x264
mov eax, 0x4a3221
call fcn.00481da3
xor esi, esi
push 0x206
lea eax, [ebp - 0x21a]
mov ebx, ecx
push esi
push eax
mov dword [ebp - 0x250], ebx
mov dword [ebp - 0x220], esi
mov word [ebp - 0x21c], si
call fcn.0047e7d0
add esp, 0xc
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x22c]
call fcn.0040161b
mov dword [ebp - 4], esi
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x230]
call fcn.0040161b
mov byte [ebp - 4], 1
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x248]
call fcn.0040161b
mov byte [ebp - 4], 2
or dword [ebp - 0x24c], 0xffffffff
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x224]
call fcn.0040161b
mov byte [ebp - 4], 3
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x228]
call fcn.0040161b
mov edi, 0x4ed5e8
push edi
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 4
call fcn.00401640
push 0x4ad1b4
push eax
lea eax, [ebp - 0x258]
push eax
mov byte [ebp - 4], 5
call fcn.00402dca
add esp, 0xc
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x23c]
add ecx, 0xfffffff0
call fcn.00401325
push edi
lea ecx, [ebp - 0x244]
call fcn.00401640
push str.indexksg.txt
push eax
lea eax, [ebp - 0x25c]
push eax
mov byte [ebp - 4], 8
call fcn.00402dca
add esp, 0xc
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x244]
add ecx, 0xfffffff0
call fcn.00401325
push edi
lea ecx, [ebp - 0x23c]
call fcn.00401640
push str.indexengine.txt
push eax
lea eax, [ebp - 0x260]
push eax
mov byte [ebp - 4], 0xb
call fcn.00402dca
add esp, 0xc
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x23c]
add ecx, 0xfffffff0
call fcn.00401325
push edi
lea ecx, [ebp - 0x268]
call fcn.00401640
push str.indexdata.txt
push eax
lea eax, [ebp - 0x254]
push eax
mov byte [ebp - 4], 0xe
call fcn.00402dca
add esp, 0xc
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x268]
add ecx, 0xfffffff0
call fcn.00401325
call fcn.00428e38
push 0xffffffffffffffff
push esi
mov ecx, ebx
call fcn.00460e67
push ecx
lea eax, [ebp - 0x258]
mov dword [ebp - 0x238], esp
mov ecx, esp
push eax
call fcn.0040144c
mov esi, 0x4efdd8
mov ecx, esi
call fcn.00405cff
push 0
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x224]
push eax
mov ecx, ebx
call fcn.00408e4e
test eax, eax
je 0x409e5f
lea ecx, [ebp - 0x224]
call fcn.00401557
lea ecx, [ebp - 0x228]
call fcn.00401557
push ecx
lea eax, [ebp - 0x25c]
mov dword [ebp - 0x238], esp
mov ecx, esp
push eax
call fcn.0040144c
mov ecx, esi
call fcn.00405cff
push 2
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x224]
push eax
mov ecx, ebx
call fcn.00408e4e
test eax, eax
je 0x409e5f
lea ecx, [ebp - 0x224]
call fcn.00401557
lea ecx, [ebp - 0x228]
call fcn.00401557
push ecx
lea eax, [ebp - 0x260]
mov dword [ebp - 0x238], esp
mov ecx, esp
push eax
call fcn.0040144c
mov ecx, esi
call fcn.00405cff
push 1
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x224]
push eax
mov ecx, ebx
call fcn.00408e4e
test eax, eax
je 0x409e5f
lea ecx, [ebp - 0x224]
call fcn.00401557
lea ecx, [ebp - 0x228]
call fcn.00401557
push ecx
lea eax, [ebp - 0x254]
mov dword [ebp - 0x238], esp
mov ecx, esp
push eax
call fcn.0040144c
mov ecx, esi
call fcn.00405cff
push 3
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x224]
push eax
mov ecx, ebx
call fcn.00408e4e
test eax, eax
je 0x409e5f
lea ecx, [ebp - 0x224]
call fcn.00401557
lea ecx, [ebp - 0x228]
call fcn.00401557
push ecx
lea eax, [ebp - 0x254]
mov dword [ebp - 0x238], esp
mov ecx, esp
push eax
call fcn.0040144c
mov ecx, esi
call fcn.00405cff
push 4
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x224]
push eax
mov ecx, ebx
call fcn.00408e4e
test eax, eax
je 0x409e5f
push 0x104
lea eax, [ebp - 0x21c]
push 0x4ef1dc
push eax
call fcn.0047d58d
mov esi, dword [0x4efde0]
add esp, 0xc
test esi, esi
je 0x409e55
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x409ad3
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x220]
call fcn.00401640
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x11
call fcn.0042e810
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x220]
add ecx, 0xfffffff0
call fcn.00401325
lea eax, [esi + 0x760]
push eax
lea ecx, [ebp - 0x230]
call fcn.004015ba
push dword [ebp - 0x230]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x409b3c
lea eax, [esi + 0x528]
push eax
lea ecx, [ebp - 0x248]
call fcn.004014c5
lea eax, [esi + 0xcc]
push eax
push dword [ebp - 0x248]
lea eax, [ebp - 0x230]
push 0x4ad294
push eax
call fcn.004063eb
add esp, 0x10
push dword [ebp - 0x230]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x409c40
push dword [ebp - 0x230]
lea eax, [esi + 0x738]
push eax
call fcn.0047eb2f
pop ecx
push edx
push eax
call fcn.004020a7
add esp, 0xc
test eax, eax
je 0x409c40
lea eax, [esi + 0x320]
push eax
lea ecx, [ebp - 0x248]
call fcn.004014c5
push dword [ebp - 0x248]
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x22c]
push 0x4ad294
push eax
call fcn.004063eb
add esp, 0x10
push 0x5c
push 0x2f
lea ebx, [ebp - 0x22c]
call fcn.00402ce3
push dword [ebp - 0x22c]
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
call ebx
test eax, eax
jne 0x409be7
push dword [ebp - 0x22c]
lea ecx, [ebp - 0x220]
call fcn.00401640
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x12
call fcn.0042e810
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x220]
add ecx, 0xfffffff0
call fcn.00401325
lea eax, [esi + 0xcc]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00401250
push dword [ebp - 0x22c]
call ebx
test eax, eax
je 0x409c26
push dword [ebp - 0x22c]
lea eax, [esi + 0x738]
push eax
call fcn.0047eb2f
pop ecx
push edx
push eax
call fcn.004020a7
add esp, 0xc
test eax, eax
jne 0x409c3a
push 0
push dword [ebp - 0x22c]
push dword [ebp - 0x230]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov ebx, dword [ebp - 0x250]
cmp dword [0x4eef64], 0
mov esi, dword [esi]
je 0x409c4f
push 0xa
jmp 0x409c51
push 3
call dword [sym.imp.KERNEL32.dll_Sleep]
test esi, esi
jne 0x409ad3
mov eax, dword [ebx + 8]
and dword [ebp - 0x240], esi
test eax, eax
mov dword [ebp - 0x238], eax
jle 0x409e55
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x220]
call fcn.0040161b
mov byte [ebp - 4], 0x13
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x234]
call fcn.0040161b
mov byte [ebp - 4], 0x14
call fcn.0045db7e
push eax
lea ecx, [ebp - 0x244]
call fcn.0040161b
push dword [ebp - 0x240]
mov ecx, ebx
mov byte [ebp - 4], 0x15
call fcn.0040a4bc
push dword [eax]
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x234]
push 0x4ad294
push eax
call fcn.004063eb
add esp, 0x10
push edi
lea ecx, [ebp - 0x270]
call fcn.00401640
mov esi, eax
push dword [ebp - 0x240]
mov ecx, ebx
mov byte [ebp - 4], 0x16
call fcn.0040a4bc
push eax
lea eax, [ebp - 0x264]
push esi
push eax
call fcn.0040a465
add esp, 0xc
push eax
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x17
call fcn.004015ba
mov ecx, dword [ebp - 0x264]
add ecx, 0xfffffff0
call fcn.00401325
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x270]
add ecx, 0xfffffff0
call fcn.00401325
mov esi, dword [ebp - 0x220]
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x409d7d
mov ecx, dword [ebp - 0x244]
add ecx, 0xfffffff0
call fcn.00401325
mov ecx, dword [ebp - 0x234]
add ecx, 0xfffffff0
call fcn.00401325
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 0x10
call fcn.00401325
jmp 0x409e3d
push 0x5c
push 0x2f
lea ebx, [ebp - 0x234]
call fcn.00402ce3
push 0x5c
mov esi, ebx
call fcn.0040a447
push eax
lea eax, [ebp - 0x26c]
push eax
mov ecx, ebx
call fcn.0040453c
push eax
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 0x18
call fcn.004015ba
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x26c]
add ecx, 0xfffffff0
call fcn.00401325
mov ebx, dword [ebp - 0x244]
push ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x409e00
push ebx
lea ecx, [ebp - 0x23c]
call fcn.00401640
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x19
call fcn.0042e810
mov ecx, dword [ebp - 0x23c]
add ecx, 0xfffffff0
call fcn.00401325
mov esi, dword [ebp - 0x220]
push 0
push dword [ebp - 0x234]
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ecx, [ebx - 0x10]
call fcn.00401325
mov ecx, dword [ebp - 0x234]
add ecx, 0xfffffff0
call fcn.00401325
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 0x10
call fcn.00401325
mov ebx, dword [ebp - 0x250]
inc dword [ebp - 0x240]
mov eax, dword [ebp - 0x240]
cmp eax, dword [ebp - 0x238]
jl 0x409c76
mov dword [ebp - 0x220], 1
call fcn.00428e69
mov esi, dword [0x4efde0]
test esi, esi
je 0x409e81
mov edi, dword [esi]
call fcn.00405322
test edi, edi
mov esi, edi
mov dword [0x4efde0], esi
jne 0x409e6e
push 0xffffffffffffffff
push 0
mov ecx, ebx
call fcn.00460e67
mov ecx, dword [ebp - 0x254]
add ecx, 0xfffffff0
call fcn.00401325
mov ecx, dword [ebp - 0x260]
add ecx, 0xfffffff0
call fcn.00401325
mov ecx, dword [ebp - 0x25c]
add ecx, 0xfffffff0
call fcn.00401325
mov ecx, dword [ebp - 0x258]
add ecx, 0xfffffff0
call fcn.00401325
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
call fcn.00401325
mov ecx, dword [ebp - 0x224]
add ecx, 0xfffffff0
call fcn.00401325
mov ecx, dword [ebp - 0x248]
add ecx, 0xfffffff0
call fcn.00401325
mov ecx, dword [ebp - 0x230]
add ecx, 0xfffffff0
call fcn.00401325
mov ecx, dword [ebp - 0x22c]
add ecx, 0xfffffff0
call fcn.00401325
mov eax, dword [ebp - 0x220]
call fcn.00481e26
ret