Function at 0x10007b7b
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
push 0x200
push 0x10147f80
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push 0x1009a3dc
push 0x10144e90
call fcn.1001bc30
add esp, 8
push 0x10147f80
push 0x10144e90
call fcn.1001bc40
add esp, 8
push 0x1009a3e4
push 0x10144e90
call fcn.1001bc40
add esp, 8
push 0x1009a3e8
push 0x10144e90
call fcn.1001bc40
add esp, 8
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp + 0xc]
mov ax, word [eax]
push eax
mov eax, dword [ebp + 8]
push eax
push 0x10144e90
call fcn.100073c8
add esp, 0x10
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x10007cc6
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp + 0xc]
mov ax, word [eax]
push eax
mov eax, dword [ebp + 8]
push eax
push 0x1009a3f8
call fcn.100073c8
add esp, 0x10
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x10007c45
push 0x80002
call fcn.100042e2
add esp, 4
mov eax, 0xffffffff
jmp 0x10007e71
push 0x10144e90
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov bx, word [eax]
mov eax, dword [ebp - 8]
and eax, 0xffff
sub ebx, eax
push 0x1009a404
call fcn.1001bd20
add esp, 4
sub ebx, eax
sub ebx, 2
push ebx
push 0x1009a410
call fcn.1001bd20
add esp, 4
mov ecx, dword [ebp - 0x14]
add ecx, eax
add ecx, 2
push ecx
call fcn.100081fb
add esp, 0xc
mov word [ebp - 4], ax
mov eax, dword [ebp - 4]
and eax, 0xffff
cmp eax, 0xffff
jne 0x10007cae
mov eax, 0xffffffff
jmp 0x10007e71
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
mov eax, dword [ebp - 4]
and eax, 0xffff
add ecx, eax
mov eax, dword [ebp + 0xc]
mov word [eax], cx
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp + 0xc]
mov ax, word [eax]
push eax
mov eax, dword [ebp + 8]
push eax
push 0x1009a41c
call fcn.100073c8
add esp, 0x10
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x10007de6
push 0x1009a158
push 0
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
add ecx, dword [ebp + 8]
sub ecx, 3
push ecx
call fcn.100081fb
add esp, 0xc
mov word [ebp - 4], ax
mov eax, dword [ebp - 4]
and eax, 0xffff
cmp eax, 0xffff
jne 0x10007d2e
mov eax, 0xffffffff
jmp 0x10007e71
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
add ecx, 2
mov eax, dword [ebp + 0xc]
mov word [eax], cx
push 0x1009a158
push 0
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
add ecx, dword [ebp + 8]
sub ecx, 3
push ecx
call fcn.100081fb
add esp, 0xc
mov word [ebp - 4], ax
mov eax, dword [ebp - 4]
and eax, 0xffff
cmp eax, 0xffff
jne 0x10007d7e
mov eax, 0xffffffff
jmp 0x10007e71
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
add ecx, 2
mov eax, dword [ebp + 0xc]
mov word [eax], cx
push 0x1009a428
push 0
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
add ecx, dword [ebp + 8]
sub ecx, 3
push ecx
call fcn.100081fb
add esp, 0xc
mov word [ebp - 4], ax
mov eax, dword [ebp - 4]
and eax, 0xffff
cmp eax, 0xffff
jne 0x10007dce
mov eax, 0xffffffff
jmp 0x10007e71
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
mov eax, dword [ebp - 4]
and eax, 0xffff
add ecx, eax
mov eax, dword [ebp + 0xc]
mov word [eax], cx
push 0x1009a434
push 0x1014b7c0
call fcn.1001bf60
add esp, 8
test eax, eax
jl 0x10007e6a
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp + 0xc]
mov ax, word [eax]
push eax
mov eax, dword [ebp + 8]
push eax
push 0x1009a43c
call fcn.100073c8
add esp, 0x10
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x10007e6a
inc dword [ebp - 0x10]
push 0x1009a444
call fcn.1001bd20
add esp, 4
push eax
push 0x1009a44c
mov eax, dword [ebp - 0x10]
push eax
call fcn.1001c580
add esp, 0xc
test eax, eax
jne 0x10007e29
push 0x1009a454
call fcn.1001bd20
add esp, 4
inc eax
add dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov byte [eax], 0x32
xor eax, eax
jmp 0x10007e71
pop edi
pop esi
pop ebx
leave
ret