Function at 0x101fdfa0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
mov eax, dword [0x11ad127c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0xf4
mov esi, ecx
or edi, 0xffffffff
push 0
push esi
mov dword [ebp - 0x10c], esi
call fcn.10425c00
add esp, 0xc
lea eax, [ebp - 0x108]
push 0x100
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0x101fe540
xor eax, eax
cmp byte [ebp - 0x108], al
je 0x101fe000
inc eax
cmp byte [ebp + eax - 0x108], 0
jne 0x101fdff5
lea edx, [ebp - 0x108]
mov cl, 0x5c
add eax, edx
mov edx, 0x1046cfc0
sub edx, eax
mov byte [eax], cl
lea eax, [eax + 1]
mov cl, byte [edx + eax]
test cl, cl
jne 0x101fe011
mov byte [eax], cl
lea eax, [ebp - 0x108]
push 0x1046af20
push eax
call fcn.10434f0b
add esp, 8
mov dword [ebp - 0x11c], eax
test eax, eax
je 0x101fe540
push eax
lea eax, [ebp - 0x108]
push 0x100
push eax
call fcn.1043d9cd
add esp, 0xc
test eax, eax
je 0x101fe51f
xor ebx, ebx
cmp byte [ebp - 0x108], 0xa
mov dword [ebp - 0x118], edi
je 0x101fe4fd
lea eax, [ebp - 0x111]
push eax
lea eax, [ebp - 0x108]
push 0x1046cfd0
push eax
call fcn.1003a0d0
mov al, byte [ebp - 0x111]
add esp, 0xc
cmp al, 0x7b
jne 0x101fe0a4
cmp edi, 0xffffffff
jne 0x101fe0a4
xor edi, edi
jmp 0x101fe4fd
cmp edi, 0xfffffffe
jne 0x101fe0b9
cmp al, 0x7d
je 0x101fe51f
add ebx, 0x28
jmp 0x101fe14c
mov edi, dword [ebp - 0x118]
mov esi, ebx
mov eax, edi
cmp edi, 0x11
ja case.default.0x101fe0cc
jmp dword [eax*4 + 0x101fe554]
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push 0x1046cfe0
push eax
call fcn.1003a0d0
mov ecx, dword [ebp - 0x10c]
mov ebx, esi
mov ax, word [ebp - 0x110]
add esp, 0xc
mov edi, 1
mov esi, ecx
mov word [ecx], ax
jmp 0x101fe4fd
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push 0x1046cfe0
push eax
call fcn.1003a0d0
mov ecx, dword [ebp - 0x10c]
mov ebx, esi
mov ax, word [ebp - 0x110]
add esp, 0xc
mov edi, 2
mov esi, ecx
mov word [ecx + 2], ax
jmp 0x101fe4fd
mov esi, dword [ebp - 0x10c]
lea eax, [ebp - 0x108]
push 0x7b
push eax
call fcn.104257e0
add esp, 8
test eax, eax
je 0x101fe164
mov byte [eax], 0x20
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push 0x1046cff0
push eax
call fcn.1003a0d0
mov eax, dword [ebp - 0x110]
add esp, 0xc
mov dword [ebx + esi + 4], eax
mov edi, 3
jmp 0x101fe4fd
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push 0x1046cff0
push eax
call fcn.1003a0d0
mov ecx, dword [ebp - 0x10c]
mov ebx, esi
mov ax, word [ebp - 0x110]
add esp, 0xc
mov edi, 4
mov word [esi + ecx + 8], ax
mov esi, ecx
jmp 0x101fe4fd
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push 0x1046cff0
push eax
call fcn.1003a0d0
mov ecx, dword [ebp - 0x10c]
mov ebx, esi
mov ax, word [ebp - 0x110]
add esp, 0xc
mov edi, 5
mov word [esi + ecx + 0xa], ax
mov esi, ecx
jmp 0x101fe4fd
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push 0x1046cff0
push eax
call fcn.1003a0d0
mov ecx, dword [ebp - 0x10c]
mov ebx, esi
mov ax, word [ebp - 0x110]
add esp, 0xc
mov edi, 6
mov word [esi + ecx + 0xc], ax
mov esi, ecx
jmp 0x101fe4fd
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push 0x1046cff0
push eax
call fcn.1003a0d0
mov ecx, dword [ebp - 0x10c]
mov ebx, esi
mov ax, word [ebp - 0x110]
add esp, 0xc
mov edi, 7
mov word [esi + ecx + 0xe], ax
mov esi, ecx
jmp 0x101fe4fd
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push 0x1046cff0
push eax
call fcn.1003a0d0
mov ecx, dword [ebp - 0x10c]
mov ebx, esi
mov ax, word [ebp - 0x110]
add esp, 0xc
mov edi, 8
mov word [esi + ecx + 0x10], ax
mov esi, ecx
jmp 0x101fe4fd
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push 0x1046cff0
push eax
call fcn.1003a0d0
mov ecx, dword [ebp - 0x10c]
mov ebx, esi
mov al, byte [ebp - 0x110]
add esp, 0xc
mov edi, 9
mov byte [esi + ecx + 0x12], al
mov esi, ecx
jmp 0x101fe4fd
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push 0x1046cff0
push eax
call fcn.1003a0d0
mov ecx, dword [ebp - 0x10c]
mov ebx, esi
mov ax, word [ebp - 0x110]
add esp, 0xc
mov edi, 0xa
mov word [esi + ecx + 0x14], ax
mov esi, ecx
jmp 0x101fe4fd
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push 0x1046cff0
push eax
call fcn.1003a0d0
mov ecx, dword [ebp - 0x10c]
mov ebx, esi
mov ax, word [ebp - 0x110]
add esp, 0xc
mov edi, 0xb
mov word [esi + ecx + 0x16], ax
mov esi, ecx
jmp 0x101fe4fd
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push 0x1046cff0
push eax
call fcn.1003a0d0
mov ecx, dword [ebp - 0x10c]
mov ebx, esi
mov ax, word [ebp - 0x110]
add esp, 0xc
mov edi, 0xc
mov word [esi + ecx + 0x18], ax
mov esi, ecx
jmp 0x101fe4fd
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push 0x1046cff0
push eax
call fcn.1003a0d0
mov ecx, dword [ebp - 0x10c]
mov ebx, esi
mov ax, word [ebp - 0x110]
add esp, 0xc
mov edi, 0xd
mov word [esi + ecx + 0x1a], ax
mov esi, ecx
jmp 0x101fe4fd
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push 0x1046cff0
push eax
call fcn.1003a0d0
mov ecx, dword [ebp - 0x10c]
mov ebx, esi
mov ax, word [ebp - 0x110]
add esp, 0xc
mov edi, 0xe
mov word [esi + ecx + 0x1c], ax
mov esi, ecx
jmp 0x101fe4fd
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push 0x1046cff0
push eax
call fcn.1003a0d0
mov ecx, dword [ebp - 0x10c]
mov ebx, esi
mov al, byte [ebp - 0x110]
add esp, 0xc
mov edi, 0xf
mov byte [esi + ecx + 0x1e], al
mov esi, ecx
jmp 0x101fe4fd
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push 0x1046cff0
push eax
call fcn.1003a0d0
mov ecx, dword [ebp - 0x10c]
mov ebx, esi
mov ax, word [ebp - 0x110]
add esp, 0xc
mov edi, 0x10
mov word [esi + ecx + 0x20], ax
mov esi, ecx
jmp 0x101fe4fd
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push 0x1046cff0
push eax
call fcn.1003a0d0
mov ecx, dword [ebp - 0x10c]
mov ebx, esi
mov eax, dword [ebp - 0x110]
add esp, 0xc
mov edi, 0x11
mov dword [esi + ecx + 0x24], eax
mov esi, ecx
jmp 0x101fe4fd
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push 0x1046cff0
push eax
call fcn.1003a0d0
mov ecx, dword [ebp - 0x10c]
mov ebx, esi
mov al, byte [ebp - 0x110]
add esp, 0xc
mov edi, 0xfffffffe
mov byte [esi + ecx + 0x28], al
mov esi, ecx
jmp 0x101fe4fd
mov esi, dword [ebp - 0x10c]
push dword [ebp - 0x11c]
lea eax, [ebp - 0x108]
push 0x100
push eax
call fcn.1043d9cd
add esp, 0xc
test eax, eax
jne 0x101fe060
push dword [ebp - 0x11c]
call fcn.10434d63
add esp, 4
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1045066c
mov esp, ebp
pop ebp
ret