Function at 0x636c8c
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x18b
push 0
push 0
dec ecx
jne 0x636c94
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x294], eax
lea eax, [ebp - 0x290]
mov edx, dword [0x41c15c]
call fcn.0040b070
xor eax, eax
push ebp
push 0x637758
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x6b8c54]
mov word [eax + 0xc2], 0x2e
xor eax, eax
mov dword [0x6d3ba8], eax
mov dl, 1
mov eax, dword [0x4db1c0]
call fcn.004dc228
mov dword [ebp - 0x298], eax
or ebx, 0xffffffff
xor ecx, ecx
push ebp
push 0x637713
push dword fs:[ecx]
mov dword fs:[ecx], esp
xor eax, eax
push ebp
push 0x636d45
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x637774
mov eax, dword [ebp - 0x298]
call fcn.004dc4ac
test al, al
je 0x636d30
mov edx, 0x6377e4
mov eax, dword [ebp - 0x298]
call fcn.004dccac
mov ebx, eax
mov eax, dword [ebp - 0x298]
call fcn.004dc2e0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x636d52
dec ebx
jne 0x636d62
mov eax, dword [ebp - 0x294]
mov byte [eax + 0x40d], 1
mov eax, dword [ebp - 0x294]
mov byte [eax + 0x410], 1
mov eax, dword [ebp - 0x294]
cmp byte [eax + 0x40f], 0
je 0x636da2
lea edx, [ebp - 0xc10]
mov eax, dword [ebp - 0x294]
mov eax, dword [eax + 0x3f0]
call fcn.005ae954
mov eax, dword [ebp - 0xc10]
call fcn.00638ea0
jmp 0x636df9
xor eax, eax
call fcn.00638ea0
mov cl, 1
mov edx, 0x637810
mov eax, dword [ebp - 0x298]
call fcn.004dc378
test al, al
je 0x636df9
mov edx, 0x637844
mov eax, dword [ebp - 0x298]
call fcn.004dce74
test al, al
je 0x636df9
push 0x24
mov eax, dword [ebp - 0x294]
call fcn.0051db10
mov ecx, 0x637858
mov edx, 0x637874
call fcn.005adb60
cmp eax, 7
jne 0x636df9
call fcn.0042b500
mov eax, dword [ebp - 0x294]
mov byte [eax + 0x3e8], 0
mov eax, dword [ebp - 0x294]
cmp byte [eax + 0x40f], 0
jne 0x636f9c
push 0x4b0
lea eax, [ebp - 0xc0c]
push eax
call sub.kernel32.dll_GetWindowsDirectoryW
lea edx, [ebp - 0xc14]
lea eax, [ebp - 0xc0c]
call fcn.00425474
mov edx, dword [ebp - 0xc14]
mov eax, dword [ebp - 0x294]
add eax, 0x3f8
call fcn.0040a198
mov eax, dword [ebp - 0x294]
mov edx, dword [eax + 0x3f8]
mov eax, edx
test eax, eax
je 0x636e68
sub eax, 4
mov eax, dword [eax]
mov ecx, dword [ebp - 0x294]
mov ecx, dword [ecx + 0x3f8]
cmp word [ecx + eax*2 - 2], 0x5c
jne 0x636e9a
mov eax, edx
test eax, eax
je 0x636e87
sub eax, 4
mov eax, dword [eax]
mov edx, eax
dec edx
mov eax, dword [ebp - 0x294]
add eax, 0x3f8
call fcn.0040ab3c
mov eax, dword [ebp - 0x294]
mov edx, dword [eax + 0x3f8]
lea eax, [ebp - 0xc18]
mov ecx, 0x637a18
call fcn.0040ac14
mov eax, dword [ebp - 0xc18]
call fcn.00638a24
mov eax, dword [0x6b8b4c]
mov eax, dword [eax]
call fcn.005a1e90
push 0x4b0
lea eax, [ebp - 0xc0c]
push eax
call sub.kernel32.dll_GetSystemDirectoryW
lea edx, [ebp - 0xc1c]
lea eax, [ebp - 0xc0c]
call fcn.00425474
mov edx, dword [ebp - 0xc1c]
mov eax, dword [ebp - 0x294]
add eax, 0x3fc
call fcn.0040a198
mov eax, dword [ebp - 0x294]
mov edx, dword [eax + 0x3fc]
mov eax, edx
test eax, eax
je 0x636f1c
sub eax, 4
mov eax, dword [eax]
mov ecx, dword [ebp - 0x294]
mov ecx, dword [ecx + 0x3fc]
cmp word [ecx + eax*2 - 2], 0x5c
jne 0x636f4e
mov eax, edx
test eax, eax
je 0x636f3b
sub eax, 4
mov eax, dword [eax]
mov edx, eax
dec edx
mov eax, dword [ebp - 0x294]
add eax, 0x3fc
call fcn.0040ab3c
mov eax, dword [ebp - 0x294]
mov edx, dword [eax + 0x3fc]
lea eax, [ebp - 0xc20]
mov ecx, 0x637a18
call fcn.0040ac14
mov eax, dword [ebp - 0xc20]
call fcn.00638a24
mov eax, dword [ebp - 0x294]
mov edx, dword [eax + 0x3f0]
lea eax, [ebp - 0xc24]
mov ecx, 0x637a3c
call fcn.0040ac14
mov eax, dword [ebp - 0xc24]
call fcn.00424c60
mov eax, dword [ebp - 0x294]
mov edx, dword [eax + 0x3f0]
lea eax, [ebp - 0xc28]
mov ecx, 0x637a64
call fcn.0040ac14
mov eax, dword [ebp - 0xc28]
call fcn.00638a24
mov eax, dword [ebp - 0x294]
mov edx, dword [eax + 0x3ec]
lea eax, [ebp - 0xc2c]
mov ecx, 0x637a88
call fcn.0040ac14
mov eax, dword [ebp - 0xc2c]
mov dl, 1
call fcn.0042480c
test al, al
je 0x63701f
mov eax, dword [ebp - 0x294]
mov edx, dword [eax + 0x3ec]
lea eax, [ebp - 0xc30]
mov ecx, 0x637a88
call fcn.0040ac14
mov edx, dword [ebp - 0xc30]
xor ecx, ecx
mov eax, dword [ebp - 0x294]
call fcn.00636744
xor eax, eax
push ebp
push 0x6370dd
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x294]
mov edx, dword [eax + 0x3ec]
lea eax, [ebp - 0xc34]
mov ecx, 0x637ab0
call fcn.0040ac14
mov eax, dword [ebp - 0xc34]
lea ecx, [ebp - 0x290]
mov edx, 0x21
call fcn.00424bd0
mov ebx, eax
test ebx, ebx
jne 0x6370c2
mov eax, dword [ebp - 0x27c]
mov edx, 0x637ac8
call fcn.0040adac
je 0x6370b1
mov eax, dword [ebp - 0x294]
push dword [eax + 0x3ec]
push 0x637aec
push dword [ebp - 0x27c]
lea eax, [ebp - 0xc38]
mov edx, 3
call fcn.0040ac9c
mov edx, dword [ebp - 0xc38]
xor ecx, ecx
mov eax, dword [ebp - 0x294]
call fcn.00636744
lea eax, [ebp - 0x290]
call fcn.00424c20
mov ebx, eax
test ebx, ebx
je 0x637065
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6370e4
lea eax, [ebp - 0x290]
call fcn.00424c44
pop eax
jmp eax