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

Disassembly:
mov eax, 0x1277e23
call fcn.01160118
sub esp, 0x240
mov eax, dword [0x12cf8c8]
push ebx
push esi
xor ebx, ebx
push ebx
push ebx
push 0x109c881
mov esi, ecx
push 0x1003980
mov ecx, 0x12d23b4
mov dword [ebp - 0x10], eax
call fcn.0116b4f8
cmp eax, ebx
jl 0x109c7eb
cmp dword [esi + 0x78], ebx
push edi
mov dword [ebp - 0x220], ebx
jle 0x109c7ce
cmp byte [esi + 0x38], bl
jne 0x109c7e8
mov eax, dword [esi + 0x74]
mov ecx, dword [ebp - 0x220]
push dword [eax + ecx*4]
mov ecx, esi
call fcn.0109c89d
mov edi, eax
cmp edi, ebx
jge 0x109c7b9
cmp edi, 0xc947006b
je 0x109c5d8
cmp dword [esi + 0x84], ebx
je 0x109c801
lea ecx, [ebp - 0x238]
call fcn.0108e762
mov dword [ebp - 4], ebx
mov eax, dword [esi + 0x74]
mov ecx, dword [ebp - 0x220]
push dword [eax + ecx*4]
lea ecx, [ebp - 0x238]
call fcn.01044f8b
mov ecx, dword [esi + 0x84]
lea eax, [ebp - 0x238]
push eax
mov dword [ebp - 0x234], edi
call fcn.01093616
cmp eax, ebx
je 0x109c808
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x238]
call fcn.0104508a
jmp 0x109c7b9
test byte [esi + 0x88], 0x20
je 0x109c7b9
mov eax, dword [esi + 0x74]
mov ecx, dword [ebp - 0x220]
push dword [eax + ecx*4]
lea ecx, [ebp - 0x224]
call fcn.01045e8e
xor edi, edi
inc edi
mov dword [ebp - 4], edi
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x228]
call fcn.0105258e
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x21c]
call fcn.01044f5e
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x230]
call fcn.01044f5e
mov byte [ebp - 4], 4
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x228]
call fcn.01044fb2
push dword [ebp - 0x244]
lea ecx, [ebp - 0x230]
call fcn.01044f8b
lea eax, [ebp - 0x218]
push eax
push ebx
push ebx
push 0x800e
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
cmp eax, ebx
jl 0x109c71d
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x21c]
call fcn.01044f8b
lea ecx, [ebp - 0x21c]
call fcn.0104502b
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x21c]
call fcn.01044d17
push edi
push dword [ebp - 0x21c]
push dword [ebp - 0x228]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
cmp eax, ebx
je 0x109c71d
lea eax, [ebp - 0x22c]
mov dword [ebp - 0x248], eax
mov eax, dword [0x12ce0a0]
mov dword [ebp - 0x22c], eax
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax - 8]
push eax
push ecx
lea ecx, [ebp - 0x22c]
call fcn.0103293d
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax - 8]
push eax
push ecx
lea ecx, [ebp - 0x224]
call fcn.0103293d
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x22c]
call fcn.0104508a
cmp dword [esi + 0x84], ebx
je 0x109c81e
lea ecx, [ebp - 0x240]
call fcn.0108e762
mov byte [ebp - 4], 8
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x240]
call fcn.01044bd5
mov ecx, dword [esi + 0x84]
lea eax, [ebp - 0x240]
push eax
mov dword [ebp - 0x23c], 0xc94700df
call fcn.01093616
cmp eax, ebx
je 0x109c825
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x240]
call fcn.0104508a
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x230]
call fcn.0104508a
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x21c]
call fcn.0104508a
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x228]
call fcn.0104508a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x224]
call fcn.0104508a
inc dword [ebp - 0x220]
mov eax, dword [ebp - 0x220]
cmp eax, dword [esi + 0x78]
jl 0x109c545
push ebx
push ebx
push 0x109c88f
push 0x1003980
mov ecx, 0x12d23b4
call fcn.0116b4f8
cmp eax, ebx
jl 0x109c7ea
xor eax, eax
pop edi
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.0115fe1a
leave
ret
mov eax, 0x80004003
jmp 0x109c7ea
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x238]
call fcn.0104508a
mov eax, 0x80004005
jmp 0x109c7ea
mov esi, 0x80004003
jmp 0x109c839
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x240]
call fcn.0104508a
mov esi, 0x80004005
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x230]
call fcn.0104508a
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x21c]
call fcn.0104508a
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x228]
call fcn.0104508a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x224]
call fcn.0104508a
mov eax, esi
jmp 0x109c7ea