Function at 0x40c8b0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
push ebx
push esi
push edi
push 0x200
push 0x5c6860
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 0x4b4b84
push 0x5c6860
call fcn.004202e0
add esp, 8
cmp dword [ebp + 0xc], 0x2000000
jne 0x40c904
push 0x4b4b90
lea eax, [ebp - 0x84]
push eax
call fcn.004202d0
add esp, 8
jmp 0x40c918
push 0x4b4b98
lea eax, [ebp - 0x84]
push eax
call fcn.004202d0
add esp, 8
mov dword [0x5c3430], 0
jmp 0x40c92d
inc dword [0x5c3430]
cmp dword [0x5c3430], 0x3000
jge 0x40c95a
mov eax, dword [0x5c3430]
mov byte [eax + 0x5c6ca0], 0
mov eax, dword [0x5c3430]
mov byte [eax + 0x5c3440], 0
jmp 0x40c927
push 0x5c9ca0
push 0x5c3440
push 0x5c6860
call fcn.0040c503
add esp, 0xc
cmp eax, 0xffffffff
jne 0x40c984
mov eax, 0xffffffff
jmp 0x40cbbd
push 0x5c6a64
mov ax, word [0x5c9ca0]
push eax
push 0x5c3440
lea eax, [ebp - 0x84]
push eax
call fcn.00409ec8
add esp, 0x10
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x40c9ce
push 0x80002
call fcn.00406ccc
add esp, 4
mov eax, 0xffffffff
jmp 0x40cbbd
push 0x5c9f10
xor eax, eax
mov ax, word [0x5c9ca0]
xor ecx, ecx
mov cx, word [0x5c6a64]
sub eax, ecx
push eax
mov eax, dword [ebp - 0x88]
inc eax
push eax
push 0x4b4ba4
call fcn.00409ec8
add esp, 0x10
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
je 0x40ca1e
mov ax, word [0x5c9f10]
mov word [ebp - 4], ax
jmp 0x40ca35
xor eax, eax
mov ax, word [0x5c9ca0]
xor ecx, ecx
mov cx, word [0x5c6a64]
sub eax, ecx
mov word [ebp - 4], ax
push 0x5c6a66
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp - 0x88]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00409ec8
add esp, 0x10
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
je 0x40cbb6
push 0x5c6846
push 0x50
mov eax, dword [ebp + 8]
push eax
call fcn.00420150
add esp, 4
xor ecx, ecx
mov cx, word [0x5c6a66]
add eax, ecx
add eax, dword [ebp - 0x88]
inc eax
push eax
push 0x4b4378
call fcn.00409ec8
add esp, 0x10
xor ebx, ebx
mov bx, word [0x5c9ca0]
mov eax, dword [ebp + 8]
push eax
call fcn.00420150
add esp, 4
xor ecx, ecx
mov cx, word [0x5c6a66]
xor edx, edx
mov dx, word [0x5c6a64]
add ecx, edx
add eax, ecx
xor ecx, ecx
mov cx, word [0x5c6846]
add eax, ecx
inc eax
sub ebx, eax
push ebx
mov eax, dword [ebp + 8]
push eax
call fcn.00420150
add esp, 4
xor ecx, ecx
mov cx, word [0x5c6846]
add eax, ecx
xor ecx, ecx
mov cx, word [0x5c6a66]
add eax, ecx
add eax, dword [ebp - 0x88]
add eax, 3
push eax
push 0x5c6ca0
call fcn.00420bc0
add esp, 0xc
xor ebx, ebx
mov bx, word [0x5c9ca0]
mov eax, dword [ebp + 8]
push eax
call fcn.00420150
add esp, 4
xor ecx, ecx
mov cx, word [0x5c6a66]
xor edx, edx
mov dx, word [0x5c6a64]
add ecx, edx
add eax, ecx
xor ecx, ecx
mov cx, word [0x5c6846]
add eax, ecx
inc eax
sub ebx, eax
push ebx
push 0x5c6ca0
xor eax, eax
mov ax, word [0x5c6a66]
add eax, dword [ebp - 0x88]
push eax
call fcn.00420bc0
add esp, 0xc
xor ebx, ebx
mov bx, word [0x5c9ca0]
mov eax, dword [ebp + 8]
push eax
call fcn.00420150
add esp, 4
xor ecx, ecx
mov cx, word [0x5c6846]
add eax, ecx
add eax, 3
sub ebx, eax
mov word [0x5c9ca0], bx
push 0x5c9ca0
push 0x5c3440
push 0x5c6860
call fcn.0040c64c
add esp, 0xc
cmp eax, 0xffffffff
jne 0x40cbb6
mov eax, 0xffffffff
jmp 0x40cbbd
xor eax, eax
jmp 0x40cbbd
pop edi
pop esi
pop ebx
leave
ret