Function at 0x4371a4
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa0
push ebx
xor eax, eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x4373fe
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x5031c8], 0
jne 0x4373c1
mov dl, 1
mov eax, dword [0x4519e0]
call fcn.00473be8
mov dword [0x5031c8], eax
lea eax, [ebp - 8]
mov edx, 0x104
call fcn.00474fa4
push 0x104
mov eax, dword [ebp - 8]
call fcn.00474e18
push eax
call sub.KERNEL32.DLL_GetWindowsDirectoryA
mov edx, eax
lea eax, [ebp - 8]
call fcn.00474fa4
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 8]
call sym.DnPatch.exe__Idglobal_IncludeTrailingSlash_qqrx17System_AnsiString
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 8]
call fcn.00474a00
mov eax, dword [0x502aec]
cmp dword [eax], 2
jne 0x437245
lea eax, [ebp - 8]
mov edx, 0x437418
call fcn.00474c28
mov dl, 1
mov eax, dword [0x452014]
call fcn.00473be8
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x4373ba
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x2c]
mov ecx, 0x437438
mov edx, dword [ebp - 8]
call fcn.00474c6c
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
call dword [ecx + 0x68]
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x4373a4
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xc]
mov eax, 0x43744c
call dword [sym.DnPatch.exe__Idglobal_IndyPos]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jle 0x437398
mov edx, dword [ebp - 0xc]
mov eax, 0x437458
call dword [sym.DnPatch.exe__Idglobal_IndyPos]
mov ebx, eax
mov al, 1
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x4c]
mov ah, 0x20
call fcn.00473704
cmp ebx, 0xff
ja 0x4372f2
bt dword [ebp - 0x4c], ebx
jb 0x437398
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0
jne 0x437348
lea eax, [ebp - 0x58]
mov ecx, 0x437438
mov edx, dword [ebp - 8]
call fcn.00474c6c
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xb
lea eax, [ebp - 0x54]
push eax
push 0
lea edx, [ebp - 0x5c]
mov eax, dword [sym.DnPatch.exe__Idresourcestrings__RSCorruptServicesFile]
call fcn.00476d24
mov ecx, dword [ebp - 0x5c]
mov dl, 1
mov eax, dword [sym.DnPatch.exe__Idglobal_EIdCorruptServicesFile_]
call fcn.00466344
call fcn.004743e4
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov al, byte [eax + edx - 1]
sub al, 0xd
jb 0x43735b
dec eax
sub al, 0x13
jae 0x4372fe
lea eax, [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x14]
dec ecx
mov edx, dword [ebp - 0x14]
inc edx
mov eax, dword [ebp - 0xc]
call fcn.00474e78
mov eax, dword [ebp - 0x60]
call fcn.0046249c
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
je 0x437392
mov edx, dword [ebp - 0x14]
mov eax, dword [0x5031c8]
call fcn.0045417c
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x24]
jne 0x43729e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4373c1
mov eax, dword [ebp - 0x20]
call fcn.00473c18
ret
mov eax, dword [0x5031c8]
mov dword [ebp - 4], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x437405
lea eax, [ebp - 0x60]
mov edx, 3
call fcn.0047498c
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.0047498c
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.0047498c
ret