Function at 0x1002895d
Capabilities:
Copy file
Delete file
Get common file path

Disassembly:
push 0x2a8
mov eax, 0x10052bd9
call fcn.1003a5fc
mov eax, dword [ebp + 8]
xor ebx, ebx
lea esi, [ebp - 0x26c]
mov edi, ecx
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x274], ebx
call fcn.10028862
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x258], ebx
jne 0x100289ae
xor esi, esi
inc esi
push ebx
push 1
lea ecx, [ebp - 0x26c]
call fcn.10005a9d
mov eax, esi
call fcn.1003a67f
ret
xor eax, eax
push 0x206
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push ebx
push eax
call fcn.1003af40
add esp, 0xc
mov dword [ebp - 0x278], ebx
call fcn.100029ad
mov dword [ebp - 0x274], eax
push 0x104
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov esi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
push str.drivers
lea eax, [ebp - 0x218]
push eax
call esi
lea edx, [ebp - 0x218]
call fcn.100288ee
push dword [ebp - 0x27c]
lea eax, [ebp - 0x218]
push eax
call esi
push ebx
lea eax, [ebp - 0x218]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x10028a38
push 8
pop esi
jmp 0x10028c79
push 3
lea eax, [ebp - 0x218]
push eax
call fcn.100047e4
test eax, eax
jne 0x10028a52
push 0xa
pop esi
jmp 0x10028c5f
xor edi, edi
lea eax, [ebp - 0x234]
inc edi
push eax
mov dword [ebp - 0x278], edi
call fcn.100288a6
pop ecx
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
mov ecx, dword [ebp - 0x268]
jae 0x10028a81
lea ecx, [ebp - 0x268]
cmp dword [ebp - 0x21c], 8
mov eax, dword [ebp - 0x230]
jae 0x10028a96
lea eax, [ebp - 0x230]
push ebx
push ecx
push str.Group
push eax
mov esi, reloc.OLEAUT32.dll_SysReAllocString
push esi
call fcn.10004358
test eax, eax
je 0x10028c4c
cmp dword [ebp - 0x21c], 8
mov eax, dword [ebp - 0x230]
jae 0x10028ac6
lea eax, [ebp - 0x230]
push ebx
push str.gxdte_driver
push str.Description
push eax
push esi
call fcn.10004358
test eax, eax
je 0x10028c4c
push str.gxdte
lea ecx, [ebp - 0x298]
call fcn.10004b35
push str._Instance
push eax
lea eax, [ebp - 0x250]
push eax
mov byte [ebp - 4], 2
call fcn.1000959f
add esp, 0xc
push ebx
push edi
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 4
call fcn.10005a9d
push str.Instances_
lea ecx, [ebp - 0x234]
call fcn.10005900
cmp dword [ebp - 0x238], 8
mov ecx, dword [ebp - 0x24c]
jae 0x10028b3f
lea ecx, [ebp - 0x24c]
cmp dword [ebp - 0x21c], 8
mov eax, dword [ebp - 0x230]
jae 0x10028b54
lea eax, [ebp - 0x230]
push ebx
push ecx
push str.DefaultInstance
push eax
push esi
call fcn.10004358
test eax, eax
jne 0x10028b7b
lea ecx, [ebp - 0x250]
push 0xb
pop esi
push ebx
push edi
call fcn.10005a9d
jmp 0x10028c4f
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x234]
call fcn.1000672e
push 0x22343
lea eax, [ebp - 0x2b4]
push 0x1005d9e0
push eax
call fcn.100041e7
add esp, 0xc
cmp dword [eax + 0x18], 8
jb 0x10028bb4
mov eax, dword [eax + 4]
jmp 0x10028bb7
add eax, 4
cmp dword [ebp - 0x21c], 8
mov ecx, dword [ebp - 0x230]
jae 0x10028bcc
lea ecx, [ebp - 0x230]
push ebx
push eax
push str.Altitude
push ecx
push esi
call fcn.10004358
test eax, eax
je 0x10028c0b
cmp dword [ebp - 0x21c], 8
mov eax, dword [ebp - 0x230]
jae 0x10028bf3
lea eax, [ebp - 0x230]
push ebx
push ebx
push str.Flags
push eax
push esi
call fcn.100042a7
mov byte [ebp - 0x26d], bl
test eax, eax
jne 0x10028c12
mov byte [ebp - 0x26d], 1
push ebx
push edi
lea ecx, [ebp - 0x2b4]
call fcn.10005a9d
lea ecx, [ebp - 0x250]
cmp byte [ebp - 0x26d], bl
jne 0x10028b6c
push ebx
push edi
xor esi, esi
call fcn.10005a9d
push ebx
push edi
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], bl
call fcn.10005a9d
jmp 0x10028c79
push 0xb
pop esi
push ebx
push edi
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], bl
call fcn.10005a9d
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0x278], ebx
je 0x10028c79
call fcn.1000492c
push dword [ebp - 0x274]
call fcn.100029ed
jmp 0x10028998