Function at 0x1005fc7
Capabilities:
Copy file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x1011040]
xor eax, ebp
mov dword [ebp - 4], eax
test byte [ebp + 8], 2
push edi
mov edi, ecx
mov dword [ebp - 0x11c], edi
jne 0x1006157
xor edx, edx
cmp edi, edx
jne 0x1005ffc
xor eax, eax
jmp 0x100615a
mov dword [ebp - 0x120], edx
cmp dword [edi + 0x24], edx
jbe 0x1006157
push ebx
push esi
mov dword [ebp - 0x118], edx
mov ebx, 0x105
jmp 0x100601c
xor edx, edx
mov esi, dword [edi + 0x28]
add esi, dword [ebp - 0x118]
mov dword [ebp - 0x114], edx
mov dword [esi + 0x360], edx
cmp dword [esi + 0x364], edx
jbe 0x1006136
jmp 0x1006041
xor edx, edx
mov ecx, dword [ebp - 0x114]
mov eax, dword [esi + 0x368]
lea eax, [eax + ecx*8]
mov ecx, dword [eax + 4]
dec ecx
mov dword [ebp - 0x110], edx
je 0x100620b
dec ecx
je 0x1006169
dec ecx
jne 0x10060f0
cmp dword [esi + 0x254], edx
jne 0x10060f0
mov eax, dword [eax]
cmp eax, edx
je 0x100617b
push eax
lea eax, [esi + 0x14c]
push eax
push 0x1001808
lea eax, [ebp - 0x10c]
push ebx
push eax
call fcn.01003faf
add esp, 0x14
test eax, eax
jge 0x10060ac
push eax
push 0x10022c8
jmp 0x10061b1
push 0
push dword [esi + 8]
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x10061fc
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
mov dword [esi + 0x360], eax
call edi
push eax
push 0x1002294
push dword [0x101135c]
call fcn.0100a43e
add esp, 0xc
mov edi, dword [ebp - 0x11c]
inc dword [ebp - 0x114]
mov eax, dword [ebp - 0x114]
cmp eax, dword [esi + 0x364]
jb 0x100603f
cmp dword [ebp - 0x110], 0
je 0x1006136
test byte [ebp + 8], 0x10
jne 0x1006136
mov eax, dword [esi + 0x14]
test eax, eax
je 0x1006136
mov esi, dword [esi]
test esi, esi
je 0x1006136
push esi
push eax
push 0x10019a4
push 0x10019ac
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
inc dword [ebp - 0x120]
mov eax, dword [ebp - 0x120]
add dword [ebp - 0x118], 0x36c
cmp eax, dword [edi + 0x24]
jb 0x100601a
pop esi
pop ebx
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop edi
call fcn.010096ed
leave
ret 4
cmp dword [esi + 0x254], edx
jne 0x10060f0
mov eax, dword [eax]
cmp eax, edx
jne 0x100618a
mov dword [esi + 0x360], 0xb
jmp 0x10060f0
push eax
lea eax, [esi + 0x14c]
push eax
push 0x1001808
lea eax, [ebp - 0x10c]
push ebx
push eax
call fcn.01003faf
add esp, 0x14
test eax, eax
jge 0x10061c1
push eax
push 0x1002268
push dword [0x101135c]
call fcn.0100a43e
add esp, 0xc
jmp 0x100617b
push 0
push dword [esi + 4]
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x10061fc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov dword [esi + 0x360], eax
push 0x1002234
push dword [0x101135c]
call fcn.0100a43e
add esp, 0xc
jmp 0x10060f0
mov dword [ebp - 0x110], 1
jmp 0x10060f0
cmp dword [esi + 0x254], edx
jne 0x10060f0
mov eax, dword [esi]
cmp eax, edx
je 0x10060f0
lea ecx, [ebp - 0x124]
push ecx
push eax
call dword [sym.imp.cmpbk32.dll_PhoneBookLoad]
test eax, eax
je 0x100624e
push eax
push dword [esi]
push 0x10021f8
push dword [0x101135c]
call fcn.0100a43e
add esp, 0x10
jmp 0x10062fd
push 0x10012f0
lea eax, [esi + 0x14c]
push eax
push 0x1001808
lea eax, [ebp - 0x10c]
push ebx
push eax
call fcn.01003faf
add esp, 0x14
test eax, eax
jge 0x1006293
push eax
push 0x10022c8
push dword [0x101135c]
call fcn.0100a43e
add esp, 0xc
mov dword [esi + 0x360], 0xb
jmp 0x10062fd
lea eax, [ebp - 0x10c]
push eax
push dword [ebp - 0x124]
call dword [sym.imp.cmpbk32.dll_PhoneBookMergeChanges]
mov edi, eax
test edi, edi
je 0x1006323
push edi
push 0x10021c4
push dword [0x101135c]
call fcn.0100a43e
add esp, 0xc
mov dword [esi + 0x360], edi
push dword [ebp - 0x124]
call dword [sym.imp.cmpbk32.dll_PhoneBookUnload]
test eax, eax
je 0x10062ea
push eax
push 0x1002194
push dword [0x101135c]
call fcn.0100a43e
add esp, 0xc
cmp dword [ebp - 0x110], 0
jne 0x10060ea
mov edi, dword [ebp - 0x11c]
test byte [ebp + 8], 0x10
jne 0x10060f0
push dword [esi]
push 0x1002190
push 0x10019a4
push 0x10019ac
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x10060f0
mov dword [ebp - 0x110], 1
jmp 0x10062c6