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

Disassembly:
push 0x2a8
mov eax, 0x4ad63b
call fcn.0049174a
mov eax, dword [ebp + 8]
mov dword [ebp - 0x274], eax
xor ebx, ebx
lea eax, [ebp - 0x26c]
mov edi, ecx
mov dword [ebp - 0x278], ebx
call fcn.00454895
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x258], ebx
jne 0x4549e0
xor edi, edi
inc edi
push ebx
push 1
lea esi, [ebp - 0x26c]
call fcn.00402bb8
mov eax, edi
call fcn.004917cd
ret
xor eax, eax
push 0x206
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push ebx
push eax
call fcn.00492360
add esp, 0xc
mov dword [ebp - 0x27c], ebx
call fcn.00425d50
mov dword [ebp - 0x278], 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 ecx, [ebp - 0x218]
call fcn.00454923
push dword [ebp - 0x274]
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 0x454a71
mov dword [ebp - 0x274], 8
jmp 0x454ccf
push 3
lea eax, [ebp - 0x218]
push eax
call fcn.0042809a
test eax, eax
jne 0x454a92
mov dword [ebp - 0x274], 0xa
jmp 0x454cb5
lea eax, [ebp - 0x234]
push eax
mov dword [ebp - 0x27c], 1
call fcn.004548dc
pop ecx
mov byte [ebp - 4], 1
cmp dword [ebp - 0x254], 8
mov esi, dword [ebp - 0x268]
jae 0x454ac2
lea esi, [ebp - 0x268]
cmp dword [ebp - 0x21c], 8
mov eax, dword [ebp - 0x230]
jae 0x454ad7
lea eax, [ebp - 0x230]
push str.Group
push eax
mov edi, reloc.OLEAUT32.dll_SysReAllocString
call fcn.00427a20
test eax, eax
je 0x454c9a
cmp dword [ebp - 0x21c], 8
mov eax, dword [ebp - 0x230]
jae 0x454b04
lea eax, [ebp - 0x230]
push str.Description
push eax
mov esi, str.gxdte_driver
call fcn.00427a20
test eax, eax
je 0x454c9a
push str.gxdte
lea esi, [ebp - 0x2b4]
call fcn.00402703
push str._Instance
push eax
lea eax, [ebp - 0x250]
push eax
mov byte [ebp - 4], 2
call fcn.0040e1e9
add esp, 0xc
push ebx
push 1
mov byte [ebp - 4], 4
call fcn.00402bb8
push str.Instances_
lea eax, [ebp - 0x234]
push eax
call fcn.0040ba92
cmp dword [ebp - 0x238], 8
mov esi, dword [ebp - 0x24c]
jae 0x454b77
lea esi, [ebp - 0x24c]
cmp dword [ebp - 0x21c], 8
mov eax, dword [ebp - 0x230]
jae 0x454b8c
lea eax, [ebp - 0x230]
push str.DefaultInstance
push eax
call fcn.00427a20
test eax, eax
jne 0x454bb8
push ebx
push 1
lea esi, [ebp - 0x250]
mov dword [ebp - 0x274], 0xb
call fcn.00402bb8
jmp 0x454ca4
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x250]
push eax
lea esi, [ebp - 0x234]
call fcn.0040bce9
push 0x22343
push 0x4bc820
lea ecx, [ebp - 0x298]
call fcn.00427909
cmp dword [eax + 0x18], 8
pop ecx
pop ecx
jb 0x454bef
mov eax, dword [eax + 4]
jmp 0x454bf2
add eax, 4
cmp dword [ebp - 0x21c], 8
mov ecx, dword [ebp - 0x230]
jae 0x454c07
lea ecx, [ebp - 0x230]
push str.Altitude
push ecx
mov esi, eax
call fcn.00427a20
test eax, eax
je 0x454c43
cmp dword [ebp - 0x21c], 8
mov eax, dword [ebp - 0x230]
jae 0x454c2d
lea eax, [ebp - 0x230]
push ebx
push str.Flags
push eax
call fcn.004279c1
mov byte [ebp - 0x26d], bl
test eax, eax
jne 0x454c4a
mov byte [ebp - 0x26d], 1
xor edi, edi
push ebx
inc edi
push edi
lea esi, [ebp - 0x298]
call fcn.00402bb8
push ebx
lea esi, [ebp - 0x250]
push edi
cmp byte [ebp - 0x26d], bl
je 0x454c7d
mov dword [ebp - 0x274], 0xb
call fcn.00402bb8
push ebx
push edi
jmp 0x454ca7
mov dword [ebp - 0x274], ebx
call fcn.00402bb8
push ebx
push edi
lea esi, [ebp - 0x234]
mov byte [ebp - 4], bl
call fcn.00402bb8
jmp 0x454ccf
mov dword [ebp - 0x274], 0xb
push ebx
push 1
lea esi, [ebp - 0x234]
mov byte [ebp - 4], bl
call fcn.00402bb8
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0x27c], ebx
je 0x454ccf
call fcn.004281e2
push dword [ebp - 0x278]
call fcn.00425d90
mov edi, dword [ebp - 0x274]
jmp 0x4549ca