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

Disassembly:
push 0x2ac
mov eax, 0x10059c97
call fcn.100418da
xor esi, esi
lea eax, [ebp - 0x270]
mov edi, ecx
mov ebx, edx
mov dword [ebp - 0x27c], esi
call fcn.1003d726
mov dword [ebp - 4], esi
cmp dword [ebp - 0x25c], esi
jne 0x1003d868
xor edi, edi
inc edi
push esi
push 1
lea esi, [ebp - 0x270]
call fcn.1000233f
mov eax, edi
call fcn.1004195d
ret
xor eax, eax
push 0x206
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push esi
push eax
call fcn.10042870
add esp, 0xc
mov dword [ebp - 0x280], esi
call fcn.1003265d
mov dword [ebp - 0x27c], eax
push 0x104
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov esi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
push str.drivers
lea eax, [ebp - 0x21c]
push eax
call esi
lea edx, [ebp - 0x21c]
call fcn.1003d7b4
push ebx
lea eax, [ebp - 0x21c]
push eax
call esi
push 0
lea eax, [ebp - 0x21c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x1003d8f5
mov dword [ebp - 0x278], 8
jmp 0x1003db67
push 3
lea eax, [ebp - 0x21c]
push eax
call fcn.100347e8
test eax, eax
jne 0x1003d916
mov dword [ebp - 0x278], 0xa
jmp 0x1003db47
lea eax, [ebp - 0x238]
push eax
mov dword [ebp - 0x280], 1
call fcn.1003d76d
pop ecx
mov byte [ebp - 4], 1
cmp dword [ebp - 0x258], 8
mov esi, dword [ebp - 0x26c]
jae 0x1003d946
lea esi, [ebp - 0x26c]
cmp dword [ebp - 0x220], 8
mov ebx, dword [ebp - 0x234]
jae 0x1003d95b
lea ebx, [ebp - 0x234]
push str.Group
mov edi, reloc.WS2_32.dll_bind
call fcn.10034247
test eax, eax
je 0x1003db2a
cmp dword [ebp - 0x220], 8
mov ebx, dword [ebp - 0x234]
jae 0x1003d987
lea ebx, [ebp - 0x234]
push str.Description
mov esi, str.gxdte_driver
call fcn.10034247
test eax, eax
je 0x1003db2a
push str.gxdte
lea esi, [ebp - 0x2b8]
call fcn.10002030
push str._Instance
push eax
lea eax, [ebp - 0x254]
push eax
mov byte [ebp - 4], 2
call fcn.10006d04
add esp, 0xc
push 0
push 1
mov byte [ebp - 4], 4
call fcn.1000233f
push str.Instances_
lea eax, [ebp - 0x238]
push eax
call fcn.10005857
cmp dword [ebp - 0x23c], 8
mov esi, dword [ebp - 0x250]
jae 0x1003d9fa
lea esi, [ebp - 0x250]
cmp dword [ebp - 0x220], 8
mov ebx, dword [ebp - 0x234]
jae 0x1003da0f
lea ebx, [ebp - 0x234]
push str.DefaultInstance
call fcn.10034247
test eax, eax
jne 0x1003da40
xor ebx, ebx
push ebx
push 1
lea esi, [ebp - 0x254]
mov dword [ebp - 0x278], 0xb
call fcn.1000233f
mov byte [ebp - 4], bl
push ebx
jmp 0x1003db3a
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x254]
lea ecx, [ebp - 0x238]
call fcn.10005e7d
push 0x22343
push 0x100678d4
lea ecx, [ebp - 0x29c]
call fcn.1003416b
cmp dword [eax + 0x18], 8
pop ecx
pop ecx
jb 0x1003da77
mov eax, dword [eax + 4]
jmp 0x1003da7a
add eax, 4
cmp dword [ebp - 0x220], 8
mov ebx, dword [ebp - 0x234]
jae 0x1003da8f
lea ebx, [ebp - 0x234]
push str.Altitude
mov esi, eax
call fcn.10034247
test eax, eax
je 0x1003dace
cmp dword [ebp - 0x220], 8
mov eax, dword [ebp - 0x234]
jae 0x1003dab4
lea eax, [ebp - 0x234]
xor ebx, ebx
push ebx
push str.Flags
push eax
call fcn.10034223
test eax, eax
je 0x1003dad0
mov byte [ebp - 0x271], bl
jmp 0x1003dad7
xor ebx, ebx
mov byte [ebp - 0x271], 1
xor edi, edi
push ebx
inc edi
push edi
lea esi, [ebp - 0x29c]
call fcn.1000233f
push ebx
lea esi, [ebp - 0x254]
push edi
cmp byte [ebp - 0x271], bl
je 0x1003db0d
mov dword [ebp - 0x278], 0xb
call fcn.1000233f
push ebx
mov byte [ebp - 4], bl
push edi
jmp 0x1003db3c
mov dword [ebp - 0x278], ebx
call fcn.1000233f
push ebx
push edi
lea esi, [ebp - 0x238]
mov byte [ebp - 4], bl
call fcn.1000233f
jmp 0x1003db67
mov dword [ebp - 0x278], 0xb
mov byte [ebp - 4], 0
push 0
push 1
lea esi, [ebp - 0x238]
call fcn.1000233f
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0x280], 0
je 0x1003db67
push str.gxdte
call fcn.100349af
push dword [ebp - 0x27c]
call fcn.1003269d
mov edi, dword [ebp - 0x278]
xor esi, esi
jmp 0x1003d852