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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
push esi
mov esi, ecx
cmp dword [esi + 0x50], 0
jne 0x1000b8ad
xor al, al
jmp 0x1000bb57
cmp dword [esi + 0x18], 0x10
push edi
lea edi, [esi + 4]
jb 0x1000b8bb
mov eax, dword [edi]
jmp 0x1000b8bd
mov eax, edi
push ebx
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
push eax
call ebx
test eax, eax
je 0x1000b8f2
cmp dword [esi + 0x54], 0x10
jb 0x1000b8d6
mov eax, dword [esi + 0x40]
jmp 0x1000b8d9
lea eax, [esi + 0x40]
cmp dword [esi + 0x18], 0x10
jb 0x1000b8e1
mov edi, dword [edi]
push 0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileA]
xor al, al
jmp 0x1000bb55
push 0x10
pop edi
cmp dword [esi + 0x70], edi
jb 0x1000b8ff
mov eax, dword [esi + 0x5c]
jmp 0x1000b902
lea eax, [esi + 0x5c]
push eax
call ebx
test eax, eax
jne 0x1000b920
cmp dword [esi + 0x8c], edi
jb 0x1000b916
mov eax, dword [esi + 0x78]
jmp 0x1000b919
lea eax, [esi + 0x78]
push eax
call ebx
test eax, eax
je 0x1000b8eb
cmp dword [esi + 0x70], edi
jb 0x1000b92a
mov eax, dword [esi + 0x5c]
jmp 0x1000b92d
lea eax, [esi + 0x5c]
push eax
call ebx
test eax, eax
jne 0x1000b96a
cmp dword [esi + 0x8c], edi
jb 0x1000b941
mov eax, dword [esi + 0x78]
jmp 0x1000b944
lea eax, [esi + 0x78]
push eax
call ebx
test eax, eax
je 0x1000b96a
cmp dword [esi + 0x54], edi
jb 0x1000b955
mov eax, dword [esi + 0x40]
jmp 0x1000b958
lea eax, [esi + 0x40]
cmp dword [esi + 0x8c], edi
jb 0x1000b965
mov esi, dword [esi + 0x78]
jmp 0x1000b9af
add esi, 0x78
jmp 0x1000b9af
cmp dword [esi + 0x70], edi
jb 0x1000b974
mov eax, dword [esi + 0x5c]
jmp 0x1000b977
lea eax, [esi + 0x5c]
push eax
call ebx
test eax, eax
je 0x1000b9b6
cmp dword [esi + 0x8c], edi
jb 0x1000b98b
mov eax, dword [esi + 0x78]
jmp 0x1000b98e
lea eax, [esi + 0x78]
push eax
call ebx
test eax, eax
jne 0x1000b9b6
cmp dword [esi + 0x54], edi
jb 0x1000b99f
mov eax, dword [esi + 0x40]
jmp 0x1000b9a2
lea eax, [esi + 0x40]
cmp dword [esi + 0x70], edi
jb 0x1000b9ac
mov esi, dword [esi + 0x5c]
jmp 0x1000b9af
add esi, 0x5c
push 0
jmp 0x1000bb4b
cmp dword [esi + 0x70], edi
jb 0x1000b9c0
mov eax, dword [esi + 0x5c]
jmp 0x1000b9c3
lea eax, [esi + 0x5c]
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileA]
push 0
push 0x80
push 3
push 0
push 1
mov ebx, 0x80000000
push ebx
push eax
call edi
cmp dword [esi + 0x8c], 0x10
mov dword [ebp - 8], eax
jb 0x1000b9f0
mov eax, dword [esi + 0x78]
jmp 0x1000b9f3
lea eax, [esi + 0x78]
push 0
push 0x80
push 3
push 0
push 1
push ebx
push eax
call edi
xor ebx, ebx
mov dword [ebp - 4], eax
xor eax, eax
cmp dword [ebp - 8], 0xffffffff
lea edi, [ebp - 0x44]
mov dword [ebp - 0x48], ebx
stosd dword es:[edi], eax
lea edi, [ebp - 0x3c]
mov dword [ebp - 0x40], ebx
stosd dword es:[edi], eax
lea edi, [ebp - 0x2c]
mov dword [ebp - 0x30], ebx
stosd dword es:[edi], eax
lea edi, [ebp - 0x54]
mov dword [ebp - 0x58], ebx
stosd dword es:[edi], eax
lea edi, [ebp - 0x4c]
mov dword [ebp - 0x50], ebx
stosd dword es:[edi], eax
lea edi, [ebp - 0x34]
mov dword [ebp - 0x38], ebx
stosd dword es:[edi], eax
lea edi, [ebp - 0x24]
mov dword [ebp - 0x28], ebx
stosd dword es:[edi], eax
mov edi, dword [sym.imp.KERNEL32.dll_GetFileTime]
je 0x1000ba59
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x48]
push eax
push dword [ebp - 8]
call edi
cmp dword [ebp - 4], 0xffffffff
je 0x1000ba70
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 4]
call edi
push dword [ebp - 8]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call edi
push dword [ebp - 4]
call edi
xor eax, eax
mov word [ebp - 0x68], bx
lea edi, [ebp - 0x66]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
xor eax, eax
mov dword [ebp - 0x20], ebx
lea edi, [ebp - 0x1c]
stosd dword es:[edi], eax
mov dword [ebp - 0x18], ebx
lea edi, [ebp - 0x14]
stosd dword es:[edi], eax
mov dword [ebp - 0x10], ebx
lea edi, [ebp - 0xc]
stosd dword es:[edi], eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
push 8
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x10]
push eax
call sub.msvcrt.dll_memcpy
push 8
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x20]
push eax
call sub.msvcrt.dll_memcpy
push 8
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x18]
push eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
add esp, 0x24
mov edi, eax
sub edi, dword [ebp - 0x18]
mov edx, ecx
sbb edx, dword [ebp - 0x14]
sub eax, dword [ebp - 0x20]
sbb ecx, dword [ebp - 0x1c]
cmp edx, ecx
jb 0x1000bb2b
ja 0x1000bb0d
cmp edi, eax
jbe 0x1000bb2b
cmp dword [esi + 0x54], 0x10
jb 0x1000bb18
mov eax, dword [esi + 0x40]
jmp 0x1000bb1b
lea eax, [esi + 0x40]
cmp dword [esi + 0x70], 0x10
jb 0x1000bb26
mov esi, dword [esi + 0x5c]
jmp 0x1000bb4a
add esi, 0x5c
jmp 0x1000bb4a
cmp dword [esi + 0x54], 0x10
jb 0x1000bb36
mov eax, dword [esi + 0x40]
jmp 0x1000bb39
lea eax, [esi + 0x40]
cmp dword [esi + 0x8c], 0x10
jb 0x1000bb47
mov esi, dword [esi + 0x78]
jmp 0x1000bb4a
add esi, 0x78
push ebx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov al, 1
pop ebx
pop edi
pop esi
leave
ret