Function at 0x487cd0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x88295b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3b0
mov dword [ebp - 0x2ec], ecx
mov dword [ebp - 0x14], 0x1f4
push 0x1f4
lea eax, [ebp - 0x20c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x487f8a
push 0x5c
lea ecx, [ebp - 0x20c]
push ecx
call fcn.0083f840
add esp, 8
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
je 0x487f8a
mov edx, dword [ebp - 0x210]
mov byte [edx + 1], 0
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x22c]
call fcn.0046fb80
mov dword [ebp - 4], 0
mov ecx, dword [0xb7f814]
mov dword [ebp - 0x274], ecx
mov edx, dword [ebp - 0x274]
mov dword [ebp - 0x2f0], edx
mov eax, dword [ebp - 0x2f0]
add eax, 1
mov dword [ebp - 0x2f4], eax
mov ecx, dword [ebp - 0x2f0]
mov dl, byte [ecx]
mov byte [ebp - 0x2f5], dl
add dword [ebp - 0x2f0], 1
cmp byte [ebp - 0x2f5], 0
jne 0x487d85
mov eax, dword [ebp - 0x2f0]
sub eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x2fc], eax
mov ecx, dword [ebp - 0x2fc]
push ecx
mov edx, dword [ebp - 0x274]
push edx
lea ecx, [ebp - 0x22c]
call fcn.00449bf0
cmp dword [ebp - 0x214], 0x10
jb 0x487de5
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x300], eax
jmp 0x487df1
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x300], ecx
mov edx, dword [ebp - 0x300]
push edx
call fcn.004bc790
add esp, 4
cmp dword [ebp - 0x214], 0x10
jb 0x487e17
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x278], eax
jmp 0x487e23
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x278], ecx
mov edx, dword [ebp - 0x278]
mov dword [ebp - 0x304], edx
mov eax, dword [ebp - 0x304]
add eax, 1
mov dword [ebp - 0x308], eax
mov ecx, dword [ebp - 0x304]
mov dl, byte [ecx]
mov byte [ebp - 0x309], dl
add dword [ebp - 0x304], 1
cmp byte [ebp - 0x309], 0
jne 0x487e3e
mov eax, dword [ebp - 0x304]
sub eax, dword [ebp - 0x308]
mov dword [ebp - 0x310], eax
mov ecx, dword [ebp - 0x310]
push ecx
mov edx, dword [ebp - 0x278]
push edx
mov ecx, dword [ebp - 0x2ec]
add ecx, 0x20
call fcn.0041cda0
mov dword [ebp - 0x314], 0x8a860c
mov eax, dword [ebp - 0x314]
add eax, 1
mov dword [ebp - 0x318], eax
mov ecx, dword [ebp - 0x314]
mov dl, byte [ecx]
mov byte [ebp - 0x319], dl
add dword [ebp - 0x314], 1
cmp byte [ebp - 0x319], 0
jne 0x487ea3
mov eax, dword [ebp - 0x314]
sub eax, dword [ebp - 0x318]
mov dword [ebp - 0x320], eax
mov ecx, dword [ebp - 0x320]
push ecx
push 0x8a860c
lea ecx, [ebp - 0x22c]
call fcn.00449bf0
mov edx, dword [0xb7f818]
mov dword [ebp - 0x27c], edx
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x324], eax
mov ecx, dword [ebp - 0x324]
add ecx, 1
mov dword [ebp - 0x328], ecx
mov edx, dword [ebp - 0x324]
mov al, byte [edx]
mov byte [ebp - 0x329], al
add dword [ebp - 0x324], 1
cmp byte [ebp - 0x329], 0
jne 0x487f11
mov ecx, dword [ebp - 0x324]
sub ecx, dword [ebp - 0x328]
mov dword [ebp - 0x330], ecx
mov edx, dword [ebp - 0x330]
push edx
mov eax, dword [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00449bf0
mov ecx, dword [0x892260]
push ecx
push 0
lea edx, [ebp - 0x22c]
push edx
mov ecx, 0xba4148
call fcn.0041cbc0
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x22c]
call fcn.0041ccf0
lea eax, [ebp - 0x20c]
push eax
push 0
push 0
push 0x801c
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x488417
lea ecx, [ebp - 0x20c]
push ecx
lea ecx, [ebp - 0x248]
call fcn.0046fb80
mov dword [ebp - 4], 1
mov dword [ebp - 0x334], 0x8a8660
mov edx, dword [ebp - 0x334]
add edx, 1
mov dword [ebp - 0x338], edx
mov eax, dword [ebp - 0x334]
mov cl, byte [eax]
mov byte [ebp - 0x339], cl
add dword [ebp - 0x334], 1
cmp byte [ebp - 0x339], 0
jne 0x487fe1
mov edx, dword [ebp - 0x334]
sub edx, dword [ebp - 0x338]
mov dword [ebp - 0x340], edx
mov eax, dword [ebp - 0x340]
push eax
push 0x8a8660
lea ecx, [ebp - 0x248]
call fcn.00449bf0
mov ecx, dword [0xb7f810]
mov dword [ebp - 0x28c], ecx
mov edx, dword [ebp - 0x28c]
mov dword [ebp - 0x344], edx
mov eax, dword [ebp - 0x344]
add eax, 1
mov dword [ebp - 0x348], eax
mov ecx, dword [ebp - 0x344]
mov dl, byte [ecx]
mov byte [ebp - 0x349], dl
add dword [ebp - 0x344], 1
cmp byte [ebp - 0x349], 0
jne 0x48804f
mov eax, dword [ebp - 0x344]
sub eax, dword [ebp - 0x348]
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x350]
push ecx
mov edx, dword [ebp - 0x28c]
push edx
lea ecx, [ebp - 0x248]
call fcn.00449bf0
cmp dword [ebp - 0x230], 0x10
jb 0x4880af
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x354], eax
jmp 0x4880bb
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x354], ecx
mov edx, dword [ebp - 0x354]
push edx
call fcn.004bc790
add esp, 4
push 0
push 0
lea ecx, [ebp - 0x264]
call fcn.0041ccf0
mov eax, dword [0x892260]
push eax
push 0
lea ecx, [ebp - 0x248]
push ecx
lea ecx, [ebp - 0x264]
call fcn.0041cbc0
mov byte [ebp - 4], 2
mov dword [ebp - 0x358], 0x8a8664
mov edx, dword [ebp - 0x358]
add edx, 1
mov dword [ebp - 0x35c], edx
mov eax, dword [ebp - 0x358]
mov cl, byte [eax]
mov byte [ebp - 0x35d], cl
add dword [ebp - 0x358], 1
cmp byte [ebp - 0x35d], 0
jne 0x488110
mov edx, dword [ebp - 0x358]
sub edx, dword [ebp - 0x35c]
mov dword [ebp - 0x364], edx
mov eax, dword [ebp - 0x364]
push eax
push 0x8a8664
lea ecx, [ebp - 0x264]
call fcn.00449bf0
mov dword [ebp - 0x368], str.CurrentSession.ls3
mov ecx, dword [ebp - 0x368]
add ecx, 1
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x368]
mov al, byte [edx]
mov byte [ebp - 0x36d], al
add dword [ebp - 0x368], 1
cmp byte [ebp - 0x36d], 0
jne 0x488170
mov ecx, dword [ebp - 0x368]
sub ecx, dword [ebp - 0x36c]
mov dword [ebp - 0x374], ecx
mov edx, dword [ebp - 0x374]
push edx
push str.CurrentSession.ls3
lea ecx, [ebp - 0x264]
call fcn.00449bf0
mov eax, dword [0x892260]
push eax
push 0
lea ecx, [ebp - 0x264]
push ecx
mov ecx, 0xba4124
call fcn.0041cbc0
mov dword [ebp - 0x378], 0x8a867c
mov edx, dword [ebp - 0x378]
add edx, 1
mov dword [ebp - 0x37c], edx
mov eax, dword [ebp - 0x378]
mov cl, byte [eax]
mov byte [ebp - 0x37d], cl
add dword [ebp - 0x378], 1
cmp byte [ebp - 0x37d], 0
jne 0x4881e9
mov edx, dword [ebp - 0x378]
sub edx, dword [ebp - 0x37c]
mov dword [ebp - 0x384], edx
mov eax, dword [ebp - 0x384]
push eax
push 0x8a867c
lea ecx, [ebp - 0x248]
call fcn.00449bf0
mov ecx, dword [0xb7f814]
mov dword [ebp - 0x290], ecx
mov edx, dword [ebp - 0x290]
mov dword [ebp - 0x388], edx
mov eax, dword [ebp - 0x388]
add eax, 1
mov dword [ebp - 0x38c], eax
mov ecx, dword [ebp - 0x388]
mov dl, byte [ecx]
mov byte [ebp - 0x38d], dl
add dword [ebp - 0x388], 1
cmp byte [ebp - 0x38d], 0
jne 0x488257
mov eax, dword [ebp - 0x388]
sub eax, dword [ebp - 0x38c]
mov dword [ebp - 0x394], eax
mov ecx, dword [ebp - 0x394]
push ecx
mov edx, dword [ebp - 0x290]
push edx
lea ecx, [ebp - 0x248]
call fcn.00449bf0
cmp dword [ebp - 0x230], 0x10
jb 0x4882b7
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x398], eax
jmp 0x4882c3
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x398], ecx
mov edx, dword [ebp - 0x398]
push edx
call fcn.004bc790
add esp, 4
mov dword [ebp - 0x39c], 0x8a8680
mov eax, dword [ebp - 0x39c]
add eax, 1
mov dword [ebp - 0x3a0], eax
mov ecx, dword [ebp - 0x39c]
mov dl, byte [ecx]
mov byte [ebp - 0x3a1], dl
add dword [ebp - 0x39c], 1
cmp byte [ebp - 0x3a1], 0
jne 0x4882eb
mov eax, dword [ebp - 0x39c]
sub eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x3a8], eax
mov ecx, dword [ebp - 0x3a8]
push ecx
push 0x8a8680
lea ecx, [ebp - 0x248]
call fcn.00449bf0
mov edx, dword [0xb7f818]
mov dword [ebp - 0x2a4], edx
mov eax, dword [ebp - 0x2a4]
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0x3ac]
add ecx, 1
mov dword [ebp - 0x3b0], ecx
mov edx, dword [ebp - 0x3ac]
mov al, byte [edx]
mov byte [ebp - 0x3b1], al
add dword [ebp - 0x3ac], 1
cmp byte [ebp - 0x3b1], 0
jne 0x488359
mov ecx, dword [ebp - 0x3ac]
sub ecx, dword [ebp - 0x3b0]
mov dword [ebp - 0x3b8], ecx
mov edx, dword [ebp - 0x3b8]
push edx
mov eax, dword [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0x248]
call fcn.00449bf0
cmp dword [ebp - 0x230], 0x10
jb 0x4883b9
mov ecx, dword [ebp - 0x244]
mov dword [ebp - 0x3bc], ecx
jmp 0x4883c5
lea edx, [ebp - 0x244]
mov dword [ebp - 0x3bc], edx
mov eax, dword [ebp - 0x3bc]
push eax
call fcn.004bc790
add esp, 4
mov ecx, dword [0x892260]
push ecx
push 0
lea edx, [ebp - 0x248]
push edx
mov ecx, 0xba4164
call fcn.0041cbc0
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x264]
call fcn.0041ccf0
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x248]
call fcn.0041ccf0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret