Function at 0x4af91c
Capabilities:
Get common file path

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffff8
mov ebx, eax
mov esi, 0x4c4e84
mov eax, esi
mov edx, 0x2460
call fcn.004066e4
mov byte [esi + 0x188c], bl
mov byte [esi + 0x189d], 0xa
mov byte [esi + 0x189e], 1
mov byte [esi + 0x18cb], 1
mov byte [esi + 0x189f], 2
mov byte [esi + 0x18a5], 3
mov byte [esi + 0x18ce], 1
mov byte [esi + 0x18b4], 1
mov byte [esi + 0x18bc], 1
mov byte [esi + 0x18be], 1
mov byte [esi + 0x18f5], 1
mov byte [esi + 0x18e2], 1
mov byte [esi + 0x18a8], 2
mov byte [esi + 0x1885], 1
mov edx, dword [0x4beb54]
lea eax, [esi + 0x1b7a]
call fcn.004b81b0
mov byte [esi + 0x18e6], 1
mov byte [esi + 0x189c], 0x3f
mov byte [esi + 0x18a0], 0x10
mov dword [esi + 0xa40], 0xffffffff
mov dword [esi + 0x17b0], 0x200
mov byte [esi + 0x19c2], 1
mov byte [esi + 0x19c5], 1
mov dword [esi + 0x17a8], 0x64
mov byte [esi + 0x18b0], 2
mov byte [esi + 0x18ab], 8
mov byte [esi + 0x1880], 3
mov byte [esi + 0x187d], 3
mov dword [esi + 0x17a4], 1
mov byte [esi + 0x18a2], 1
mov byte [esi + 0x1894], 1
mov dword [esi + 0x1790], 0xa00000
mov byte [esi + 0x18d7], 1
mov byte [esi + 0x18ca], 1
mov byte [esi + 0x18e1], 1
mov byte [esi + 0x198e], 1
mov byte [esi + 0x1936], 1
mov byte [esi + 0x18e9], 1
mov byte [esi + 0x192c], 1
mov byte [esi + 0x18e5], 1
mov byte [esi + 0x18ea], 1
mov byte [esi + 0x18bd], 1
mov word [esi + 0x1878], 0x28a
mov byte [esi + 0x190c], 1
mov byte [esi + 0x190e], 1
mov byte [esi + 0x1986], 1
mov byte [esi + 0x1988], 3
mov byte [esi + 0x1981], 1
mov byte [esi + 0x185f], 1
mov edx, dword [0x4be714]
mov edx, dword [edx]
lea eax, [esi + 0x1dfa]
mov cx, 0x10
call fcn.004b81d8
push 0
call sub.user32.dll_GetDC
mov ebx, eax
push 0x68
push ebx
call sub.gdi32.dll_GetDeviceCaps
cmp eax, 0x100
sete byte [0x4c8178]
cmp byte [0x4c8178], 0
je 0x4afafa
mov dword [esi + 0x1720], 0xffff
mov dword [esi + 0x1788], 0xffff00
mov byte [esi + 0x1897], 2
jmp 0x4afb15
mov dword [esi + 0x1720], 0xdefff4
mov dword [esi + 0x1788], 0xffeded
mov byte [esi + 0x1897], 1
push ebx
push 0
call sub.user32.dll_ReleaseDC
mov dword [esi + 0x1798], 0xe90000
mov byte [esi + 0x192f], 1
mov al, byte [0x4c8178]
mov byte [esi + 0x18c5], al
mov dword [esi + 0x181c], 0x64
mov dword [esi + 0x1820], 0x64
mov dword [esi + 0x1824], 0x96
mov dword [esi + 0x1828], 0x12c
cmp byte [0x4c814e], 0
je 0x4afb80
mov dword [esi + 0x17c4], 0x12
mov dword [esi + 0x17cc], 0xaa
jmp 0x4afb94
mov dword [esi + 0x17c4], 0x1e
mov dword [esi + 0x17cc], 0x9e
cmp byte [0x4c8196], 2
jbe 0x4afba9
mov dword [esi + 0x17c8], 0x22a
jmp 0x4afbb7
mov eax, dword [0x4c822c]
sub eax, 0x54
mov dword [esi + 0x17c8], eax
mov byte [esi + 0x18ee], 1
cmp byte [0x4c8196], 2
jbe 0x4afbd5
mov byte [esi + 0x193c], 1
mov byte [esi + 0x193d], 1
mov eax, dword [0x4c8228]
sar eax, 1
jns 0x4afbe1
adc eax, 0
sub eax, 0x5a
mov dword [esi + 0x17d4], eax
mov eax, dword [0x4c822c]
sar eax, 1
jns 0x4afbf6
adc eax, 0
sub eax, 0x1e
mov dword [esi + 0x17d8], eax
mov edx, dword [esi + 0x17d4]
add edx, 0xb4
xor eax, eax
mov al, byte [0x4c814e]
add edx, eax
mov dword [esi + 0x17dc], edx
mov edx, dword [esi + 0x17d8]
add edx, 0x31
shl eax, 2
add edx, eax
xor eax, eax
mov al, byte [0x4c8199]
add eax, eax
add edx, eax
mov dword [esi + 0x17e0], edx
mov byte [esi + 0x190f], 1
mov byte [esi + 0x1910], 1
mov byte [esi + 0x1912], 1
mov byte [esi + 0x1916], 1
mov byte [esi + 0xa3a], 1
mov byte [esi + 0x1932], 2
mov byte [esi + 0x1933], 1
cmp byte [0x4c8196], 3
jae 0x4afc7a
mov byte [esi + 0x193b], 1
mov byte [esi + 0x1939], 1
cmp byte [0x4c8196], 3
jae 0x4afc91
mov byte [esi + 0x193a], 1
cmp byte [0x4c8196], 2
jbe 0x4afca1
mov byte [esi + 0x193c], 1
mov word [esi + 0x17b8], 0x9e
mov word [esi + 0x17ba], 0xc3
xor eax, eax
mov al, byte [0x4c818b]
add eax, 2
mov dword [esi + 0x17f8], eax
mov eax, dword [0x4c8228]
mov dword [esi + 0x17fc], eax
mov eax, dword [0x4c8228]
sub eax, 0xbe
mov dword [esi + 0x17f4], eax
xor eax, eax
mov al, byte [0x4c8189]
mov edx, dword [0x4c822c]
sub edx, eax
xor eax, eax
mov al, byte [0x4c8194]
sub edx, eax
xor eax, eax
mov al, byte [0x4c818b]
sub edx, eax
sub edx, 0x1e
mov dword [esi + 0x1800], edx
mov byte [esi + 0x18ab], 8
cmp byte [0x4c8196], 6
jae 0x4afd23
mov word [0x4c8214], 0x10
jmp 0x4afd2c
mov word [0x4c8214], 0x20
lea eax, [esi + 0x100]
push eax
push 0xff
call sub.kernel32.dll_GetTempPathA
lea eax, [esi + 0x100]
call fcn.004aedb4
mov edx, eax
lea eax, [esi + 0x200]
call fcn.004b81b0
mov byte [esi + 0x300], 0x2e
mov edx, dword [0x4bee70]
mov edx, dword [edx]
lea eax, [esi + 0x194b]
call fcn.004b81b0
mov byte [esi + 0x1831], 1
mov dword [esi + 0x19d8], 0xf4240
mov al, byte [0x4c8178]
add al, 2
mov byte [esi + 0x187e], al
cmp byte [0x4c8178], 0
jne 0x4afda6
cmp byte [0x4c8163], 0
jne 0x4afda6
mov byte [esi + 0x187f], 4
mov byte [esi + 0x1931], 0
mov dword [esi + 0x1770], 1
mov edx, 0x4b0038
lea eax, [esi + 0xa30]
call fcn.004b81b0
mov byte [esi + 0x188b], 2
mov word [esi + 0x1834], 0xffff
mov word [esi + 0x1836], 0xffff
mov byte [esi + 0x18d5], 1
mov al, byte [0x4c8196]
add al, 4
cmp byte [0x4c814e], 0
je 0x4afe00
cmp byte [0x4c8196], 2
je 0x4afe04
xor edx, edx
jmp 0x4afe06
mov dl, 1
sub al, dl
mov byte [esi + 0x1899], al
mov edi, 0xf
lea eax, [esi + 0x18f8]
mov byte [eax], 1
inc eax
dec edi
jne 0x4afe19
mov byte [esi + 0x188d], 2
mov byte [esi + 0x18d6], 1
mov word [esi + 0x183a], 0x19
mov word [esi + 0x1872], 0x14
mov word [esi + 0x1876], 0x14
mov edi, 9
lea eax, [esi + 0x1724]
mov dword [eax], 0xffffffff
mov dword [eax + 4], 0xffffffff
add eax, 8
dec edi
jne 0x4afe54
mov byte [esi + 0x1908], 1
mov byte [esi + 0x190a], 1
mov byte [esi + 0x190b], 1
mov edi, 3
lea eax, [esi + 0x1940]
mov byte [eax], 1
mov byte [eax + 3], 1
inc eax
dec edi
jne 0x4afe87
mov byte [esi + 0x188f], 2
mov byte [esi + 0x1893], 6
xor edi, edi
mov ebp, 0x4be178
lea ebx, [esi + 0x183c]
mov dword [esp], 0x4be180
mov dword [esp + 4], 0x4be188
xor eax, eax
mov al, byte [ebp]
mov word [ebx], ax
mov eax, dword [esp]
movzx eax, byte [eax]
mov word [ebx + 0xe], ax
cmp byte [0x4c814e], 0
je 0x4afefd
fild word [ebx]
fld xword [0x4b0040]
fmulp st(1)
call fcn.004028e8
mov word [ebx], ax
fild word [ebx + 0xe]
fld xword [0x4b0040]
fmulp st(1)
call fcn.004028e8
mov word [ebx + 0xe], ax
cmp edi, 4
jge 0x4aff2a
mov eax, dword [esp + 4]
mov ax, word [eax]
mov word [ebx + 0x28], ax
cmp byte [0x4c814e], 0
je 0x4aff2a
fild word [ebx + 0x28]
fld xword [0x4b0040]
fmulp st(1)
call fcn.004028e8
mov word [ebx + 0x28], ax
inc edi
add dword [esp + 4], 2
inc dword [esp]
add ebx, 2
inc ebp
cmp edi, 7
jne 0x4afebc
cmp byte [esi + 0x188c], 1
jne 0x4aff5c
add word [esi + 0x1840], 4
inc word [esi + 0x1842]
sub word [esi + 0x1846], 5
mov word [esi + 0x1870], 1
mov edx, dword [0x4be998]
lea eax, [esi + 0x500]
call fcn.004b81b0
mov edx, dword [0x4bee18]
lea eax, [esi + 0x1c7a]
call fcn.004b81b0
mov al, byte [0x4c814e]
mov byte [esi + 0x187a], al
cmp byte [0x4c8196], 2
jbe 0x4affc2
cmp byte [0x4c814e], 0
je 0x4affc2
mov word [esi + 0x186c], 9
mov word [esi + 0x186e], 0x10
mov dword [esi + 0x16a0], 0xfffffff0
jmp 0x4affde
mov word [esi + 0x186c], 8
mov word [esi + 0x186e], 0xd
mov dword [esi + 0x16a0], 0xfffffff3
cmp byte [0x4c8164], 0
je 0x4afff9
mov edx, 0x4b004c
lea eax, [esi + 0x16bc]
call fcn.004b81b0
jmp 0x4b000a
lea eax, [esi + 0x16bc]
mov edx, dword [0x4c4524]
call fcn.004b81b0
mov dword [esi + 0x16b0], 0x190
mov byte [esi + 0x16bb], 0x31
cmp byte [0x4c8164], 0
je 0x4b002f
lea eax, [esi + 0x16a0]
call fcn.004af6d8
pop ecx
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret