Function at 0x40bfc0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
push ebx
push esi
push edi
push 0x200
push 0x430ce0
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 0x4a0784
push 0x430ce0
call fcn.0041d138
add esp, 8
cmp dword [ebp + 0xc], 0x2000000
jne 0x40c014
push 0x4a0790
lea eax, [ebp - 0x84]
push eax
call fcn.0041d13c
add esp, 8
jmp 0x40c028
push 0x4a0798
lea eax, [ebp - 0x84]
push eax
call fcn.0041d13c
add esp, 8
mov dword [0x42d8c0], 0
jmp 0x40c03d
inc dword [0x42d8c0]
cmp dword [0x42d8c0], 0x3000
jge 0x40c06a
mov eax, dword [0x42d8c0]
mov byte [eax + 0x431100], 0
mov eax, dword [0x42d8c0]
mov byte [eax + 0x42d8d0], 0
jmp 0x40c037
push 0x434100
push 0x42d8d0
push 0x430ce0
call fcn.0040bc13
add esp, 0xc
cmp eax, 0xffffffff
jne 0x40c094
mov eax, 0xffffffff
jmp 0x40c2cd
push 0x430ee4
mov ax, word [0x434100]
push eax
push 0x42d8d0
lea eax, [ebp - 0x84]
push eax
call fcn.004095d8
add esp, 0x10
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x40c0de
push 0x80002
call fcn.004064f2
add esp, 4
mov eax, 0xffffffff
jmp 0x40c2cd
push 0x434370
xor eax, eax
mov ax, word [0x434100]
xor ecx, ecx
mov cx, word [0x430ee4]
sub eax, ecx
push eax
mov eax, dword [ebp - 0x88]
inc eax
push eax
push 0x4a07a4
call fcn.004095d8
add esp, 0x10
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
je 0x40c12e
mov ax, word [0x434370]
mov word [ebp - 4], ax
jmp 0x40c145
xor eax, eax
mov ax, word [0x434100]
xor ecx, ecx
mov cx, word [0x430ee4]
sub eax, ecx
mov word [ebp - 4], ax
push 0x430ee6
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp - 0x88]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.004095d8
add esp, 0x10
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
je 0x40c2c6
push 0x430cd6
push 0x50
mov eax, dword [ebp + 8]
push eax
call fcn.0041d0c4
add esp, 4
xor ecx, ecx
mov cx, word [0x430ee6]
add eax, ecx
add eax, dword [ebp - 0x88]
inc eax
push eax
push 0x49ff78
call fcn.004095d8
add esp, 0x10
xor ebx, ebx
mov bx, word [0x434100]
mov eax, dword [ebp + 8]
push eax
call fcn.0041d0c4
add esp, 4
xor ecx, ecx
mov cx, word [0x430ee6]
xor edx, edx
mov dx, word [0x430ee4]
add ecx, edx
add eax, ecx
xor ecx, ecx
mov cx, word [0x430cd6]
add eax, ecx
inc eax
sub ebx, eax
push ebx
mov eax, dword [ebp + 8]
push eax
call fcn.0041d0c4
add esp, 4
xor ecx, ecx
mov cx, word [0x430cd6]
add eax, ecx
xor ecx, ecx
mov cx, word [0x430ee6]
add eax, ecx
add eax, dword [ebp - 0x88]
add eax, 3
push eax
push 0x431100
call fcn.0041d6c4
add esp, 0xc
xor ebx, ebx
mov bx, word [0x434100]
mov eax, dword [ebp + 8]
push eax
call fcn.0041d0c4
add esp, 4
xor ecx, ecx
mov cx, word [0x430ee6]
xor edx, edx
mov dx, word [0x430ee4]
add ecx, edx
add eax, ecx
xor ecx, ecx
mov cx, word [0x430cd6]
add eax, ecx
inc eax
sub ebx, eax
push ebx
push 0x431100
xor eax, eax
mov ax, word [0x430ee6]
add eax, dword [ebp - 0x88]
push eax
call fcn.0041d6c4
add esp, 0xc
xor ebx, ebx
mov bx, word [0x434100]
mov eax, dword [ebp + 8]
push eax
call fcn.0041d0c4
add esp, 4
xor ecx, ecx
mov cx, word [0x430cd6]
add eax, ecx
add eax, 3
sub ebx, eax
mov word [0x434100], bx
push 0x434100
push 0x42d8d0
push 0x430ce0
call fcn.0040bd5c
add esp, 0xc
cmp eax, 0xffffffff
jne 0x40c2c6
mov eax, 0xffffffff
jmp 0x40c2cd
xor eax, eax
jmp 0x40c2cd
pop edi
pop esi
pop ebx
leave
ret