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

Disassembly:
push ecx
push edi
push dword [0x1001bc44]
mov edi, ecx
push 0x1001bc44
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
cmp eax, 1
je 0x1000ca7e
push 0
lea ecx, [edi + 0xd4]
call fcn.1000c346
cmp dword [edi + 0x50], 0
je 0x1000ca7e
push esi
lea esi, [edi + 0x3c]
cmp dword [esi + 0x18], 0x10
jb 0x1000c877
mov eax, dword [esi + 4]
jmp 0x1000c87a
lea eax, [esi + 4]
push ebx
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
push ebp
push eax
call ebx
test eax, eax
jne 0x1000c890
mov ecx, edi
call fcn.1000b897
cmp dword [esi + 0x18], 0x10
mov byte [esp + 0x13], 0
jb 0x1000c8a0
mov eax, dword [esi + 4]
jmp 0x1000c8a3
lea eax, [esi + 4]
push 0x10017c24
push eax
call sub.msvcrt.dll_fopen
mov ebp, eax
test ebp, ebp
pop ecx
pop ecx
jne 0x1000c980
push 0x10
pop ebp
cmp dword [esi + 0x18], ebp
jb 0x1000c8c7
mov eax, dword [esi + 4]
jmp 0x1000c8ca
lea eax, [esi + 4]
push eax
call ebx
test eax, eax
je 0x1000c8e4
push 0xffffffffffffffff
push 0
push edi
mov ecx, esi
call fcn.100018ef
mov byte [esp + 0x13], 1
jmp 0x1000c95c
cmp dword [edi + 0x8c], ebp
jb 0x1000c8f1
mov eax, dword [edi + 0x78]
jmp 0x1000c8f4
lea eax, [edi + 0x78]
push eax
mov ecx, edi
call fcn.1000b6aa
test al, al
je 0x1000c91f
cmp dword [esi + 0x18], ebp
jb 0x1000c90a
mov ecx, dword [esi + 4]
jmp 0x1000c90d
lea ecx, [esi + 4]
cmp dword [edi + 0x8c], ebp
jb 0x1000c91a
mov eax, dword [edi + 0x78]
jmp 0x1000c952
lea eax, [edi + 0x78]
jmp 0x1000c952
cmp dword [edi + 0x70], ebp
jb 0x1000c929
mov eax, dword [edi + 0x5c]
jmp 0x1000c92c
lea eax, [edi + 0x5c]
push eax
mov ecx, edi
call fcn.1000b6aa
test al, al
je 0x1000c95c
cmp dword [esi + 0x18], ebp
jb 0x1000c942
mov ecx, dword [esi + 4]
jmp 0x1000c945
lea ecx, [esi + 4]
cmp dword [edi + 0x70], ebp
jb 0x1000c94f
mov eax, dword [edi + 0x5c]
jmp 0x1000c952
lea eax, [edi + 0x5c]
push 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
cmp dword [esi + 0x18], ebp
jb 0x1000c966
mov eax, dword [esi + 4]
jmp 0x1000c969
lea eax, [esi + 4]
push 0x10017c24
push eax
call sub.msvcrt.dll_fopen
mov ebp, eax
test ebp, ebp
pop ecx
pop ecx
je 0x1000ca4c
push ebp
mov ecx, edi
call fcn.1000c3a4
push ebp
mov bl, al
call sub.msvcrt.dll_fclose
test bl, bl
pop ecx
jne 0x1000ca41
cmp dword [edi + 0x8c], 0x10
jb 0x1000c9a7
mov eax, dword [edi + 0x78]
jmp 0x1000c9aa
lea eax, [edi + 0x78]
mov ebp, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
push eax
call ebp
test eax, eax
je 0x1000ca25
cmp dword [esi + 0x18], 0x10
jb 0x1000c9c2
mov eax, dword [esi + 4]
jmp 0x1000c9c5
lea eax, [esi + 4]
push eax
call ebp
test eax, eax
jne 0x1000ca25
cmp dword [esi + 0x18], 0x10
jb 0x1000c9d7
mov ecx, dword [esi + 4]
jmp 0x1000c9da
lea ecx, [esi + 4]
cmp dword [edi + 0x8c], 0x10
jb 0x1000c9e8
mov eax, dword [edi + 0x78]
jmp 0x1000c9eb
lea eax, [edi + 0x78]
push 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
cmp dword [esi + 0x18], 0x10
jb 0x1000ca00
mov eax, dword [esi + 4]
jmp 0x1000ca03
lea eax, [esi + 4]
push 0x10017c24
push eax
call sub.msvcrt.dll_fopen
pop ecx
pop ecx
mov ebp, eax
push ebp
mov ecx, edi
call fcn.1000c3a4
push ebp
mov bl, al
call sub.msvcrt.dll_fclose
pop ecx
jmp 0x1000ca3f
cmp dword [esi + 0x18], 0x10
jb 0x1000ca30
mov eax, dword [esi + 4]
jmp 0x1000ca33
lea eax, [esi + 4]
push eax
call ebp
test eax, eax
je 0x1000ca3f
mov byte [esp + 0x13], 1
test bl, bl
sete al
mov byte [edi + 0xc8], al
jmp 0x1000ca53
mov byte [edi + 0xc8], 1
cmp byte [esp + 0x13], 0
pop ebp
pop ebx
je 0x1000ca71
push 0xffffffffffffffff
push 0
push edi
mov ecx, esi
call fcn.100018ef
mov byte [edi + 0xc9], 1
jmp 0x1000ca7d
mov al, byte [edi + 0xc8]
mov byte [edi + 0xc9], al
pop esi
pop edi
pop ecx
ret