Function at 0x48550f
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a76ee
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x594
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
lea ecx, [ebp - 0x150]
call fcn.0048b600
mov dword [ebp - 4], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x130], 0
lea ecx, [ebp - 0x404]
call fcn.00481a00
lea ecx, [ebp - 0x410]
call fcn.00481a00
mov dword [ebp - 0x40c], 0
push 0x104
lea eax, [ebp - 0x12c]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov byte [ebp - 4], 1
push 0
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x150]
call fcn.0048b70e
push 0
push 0x53b574
lea edx, [ebp - 0x428]
push edx
lea ecx, [ebp - 0x150]
call fcn.0048b7e5
mov dword [ebp - 0x4c0], eax
mov eax, dword [ebp - 0x4c0]
mov dword [ebp - 0x4c4], eax
mov byte [ebp - 4], 2
push 0x53b57c
mov ecx, dword [ebp - 0x4c4]
call fcn.0048b9c2
mov dword [ebp - 0x4c8], eax
mov ecx, dword [ebp - 0x4c8]
mov dword [ebp - 0x28], ecx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x428]
call fcn.0048b77f
lea edx, [ebp - 0x42c]
push edx
mov ecx, dword [ebp - 0x28]
call fcn.00416da0
mov dword [ebp - 0x4cc], eax
mov eax, dword [ebp - 0x4cc]
mov ecx, dword [eax]
mov dword [ebp - 0x404], ecx
jmp 0x485634
push 0
lea edx, [ebp - 0x430]
push edx
lea ecx, [ebp - 0x404]
call fcn.00416820
lea eax, [ebp - 0x434]
push eax
mov ecx, dword [ebp - 0x28]
call fcn.004819b0
mov dword [ebp - 0x4d0], eax
mov ecx, dword [ebp - 0x4d0]
push ecx
lea ecx, [ebp - 0x404]
call fcn.00441530
mov byte [ebp - 0x4d4], al
mov edx, dword [ebp - 0x4d4]
and edx, 0xff
test edx, edx
je 0x485f3d
lea ecx, [ebp - 0x404]
call fcn.00417430
mov dword [ebp - 0x4d8], eax
push 0
push 0x53b584
lea eax, [ebp - 0x43c]
push eax
mov ecx, dword [ebp - 0x4d8]
call fcn.0048b7e5
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x4e0], ecx
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x4e0]
call fcn.0048b8e7
mov dword [ebp - 0x4e4], eax
mov edx, dword [ebp - 0x4e4]
mov dword [ebp - 0x134], edx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x43c]
call fcn.0048b77f
mov eax, dword [ebp - 0x134]
push eax
call fcn.004848cf
add esp, 4
mov ecx, dword [ebp - 0x134]
push ecx
call dword [sym.imp.ntdll.dll_atoi]
add esp, 4
mov dword [ebp - 0x13c], eax
lea ecx, [ebp - 0x404]
call fcn.00417430
mov dword [ebp - 0x4e8], eax
push 0
push str.sysfile
lea edx, [ebp - 0x444]
push edx
mov ecx, dword [ebp - 0x4e8]
call fcn.0048b7e5
mov dword [ebp - 0x4ec], eax
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 0x4f0], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x4f0]
call fcn.0048b8e7
mov dword [ebp - 0x4f4], eax
mov ecx, dword [ebp - 0x4f4]
mov dword [ebp - 0x144], ecx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x444]
call fcn.0048b77f
mov edx, dword [ebp - 0x144]
push edx
call fcn.004848cf
add esp, 4
mov eax, dword [ebp - 0x144]
push eax
call dword [sym.imp.ntdll.dll_atoi]
add esp, 4
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x404]
call fcn.00417430
mov dword [ebp - 0x4f8], eax
push 0
push str.download
lea ecx, [ebp - 0x44c]
push ecx
mov ecx, dword [ebp - 0x4f8]
call fcn.0048b7e5
mov dword [ebp - 0x4fc], eax
mov edx, dword [ebp - 0x4fc]
mov dword [ebp - 0x500], edx
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x500]
call fcn.0048b8e7
mov dword [ebp - 0x504], eax
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0x148], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x44c]
call fcn.0048b77f
mov ecx, dword [ebp - 0x148]
push ecx
call fcn.004848cf
add esp, 4
mov edx, dword [ebp - 0x148]
push edx
call dword [sym.imp.ntdll.dll_atoi]
add esp, 4
mov dword [ebp - 0x414], eax
lea ecx, [ebp - 0x404]
call fcn.00417430
mov dword [ebp - 0x508], eax
push 0
push 0x53b5a0
lea eax, [ebp - 0x454]
push eax
mov ecx, dword [ebp - 0x508]
call fcn.0048b7e5
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x510], ecx
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x510]
call fcn.0048b8e7
mov dword [ebp - 0x514], eax
mov edx, dword [ebp - 0x514]
mov dword [ebp - 0x1c], edx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x454]
call fcn.0048b77f
lea ecx, [ebp - 0x404]
call fcn.00417430
mov dword [ebp - 0x518], eax
push 0
push 0x53b5a8
lea eax, [ebp - 0x45c]
push eax
mov ecx, dword [ebp - 0x518]
call fcn.0048b7e5
mov dword [ebp - 0x51c], eax
mov ecx, dword [ebp - 0x51c]
mov dword [ebp - 0x520], ecx
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x520]
call fcn.0048b8e7
mov dword [ebp - 0x524], eax
mov edx, dword [ebp - 0x524]
mov dword [ebp - 0x140], edx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x45c]
call fcn.0048b77f
lea ecx, [ebp - 0x404]
call fcn.00417430
mov dword [ebp - 0x528], eax
push 0
push 0x53b5b0
lea eax, [ebp - 0x464]
push eax
mov ecx, dword [ebp - 0x528]
call fcn.0048b7e5
mov dword [ebp - 0x52c], eax
mov ecx, dword [ebp - 0x52c]
mov dword [ebp - 0x530], ecx
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x530]
call fcn.0048b8e7
mov dword [ebp - 0x534], eax
mov edx, dword [ebp - 0x534]
mov dword [ebp - 0x400], edx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x464]
call fcn.0048b77f
lea ecx, [ebp - 0x404]
call fcn.00417430
mov dword [ebp - 0x538], eax
push 0
push 0x53b5b4
lea eax, [ebp - 0x46c]
push eax
mov ecx, dword [ebp - 0x538]
call fcn.0048b7e5
mov dword [ebp - 0x53c], eax
mov ecx, dword [ebp - 0x53c]
mov dword [ebp - 0x540], ecx
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x540]
call fcn.0048b8e7
mov dword [ebp - 0x544], eax
mov edx, dword [ebp - 0x544]
mov dword [ebp - 0x18], edx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x46c]
call fcn.0048b77f
lea ecx, [ebp - 0x404]
call fcn.00417430
mov dword [ebp - 0x548], eax
push 0
push str.package
lea eax, [ebp - 0x474]
push eax
mov ecx, dword [ebp - 0x548]
call fcn.0048b7e5
mov dword [ebp - 0x54c], eax
mov ecx, dword [ebp - 0x54c]
mov dword [ebp - 0x550], ecx
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x550]
call fcn.0048b8e7
mov dword [ebp - 0x554], eax
mov edx, dword [ebp - 0x554]
mov dword [ebp - 0x3fc], edx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x474]
call fcn.0048b77f
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004848cf
add esp, 4
mov ecx, dword [ebp - 0x140]
push ecx
call fcn.004848cf
add esp, 4
mov edx, dword [ebp - 0x400]
push edx
call fcn.004848cf
add esp, 4
mov eax, dword [ebp - 0x18]
push eax
call fcn.004848cf
add esp, 4
mov ecx, dword [ebp - 0x140]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
movsx eax, byte [edx]
test eax, eax
je 0x485aa0
mov ecx, dword [ebp - 0x14]
movsx edx, byte [ecx]
cmp edx, 0x2f
jne 0x485a95
mov eax, dword [ebp - 0x14]
mov byte [eax], 0x5c
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
jmp 0x485a7a
mov edx, dword [ebp - 0x140]
movsx eax, byte [edx]
test eax, eax
je 0x485ada
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x140]
push edx
lea eax, [ebp - 0x12c]
push eax
push 0x53b5c0
push 0x104
lea ecx, [ebp - 0x3f8]
push ecx
call fcn.0040a2c0
add esp, 0x18
jmp 0x485afe
mov edx, dword [ebp - 0x1c]
push edx
lea eax, [ebp - 0x12c]
push eax
push 0x53b5cc
push 0x104
lea ecx, [ebp - 0x3f8]
push ecx
call fcn.0040a2c0
add esp, 0x14
lea edx, [ebp - 0x3f8]
push edx
mov ecx, dword [ebp + 8]
call fcn.00416fb0
mov dword [ebp - 0x558], eax
mov eax, dword [ebp - 0x558]
mov dword [ebp - 0x418], eax
cmp dword [ebp - 0x418], 0
jne 0x485b2d
jmp 0x485620
mov ecx, dword [ebp - 0x418]
mov dword [ecx + 0x170], 0
cmp dword [ebp - 0x24], 1
jne 0x485b70
cmp dword [ebp - 0x13c], 0
je 0x485b5e
mov edx, dword [ebp - 0x418]
mov dword [edx + 0x168], 2
jmp 0x485b6e
mov eax, dword [ebp - 0x418]
mov dword [eax + 0x168], 0
jmp 0x485bb9
cmp dword [ebp - 0x24], 2
jne 0x485b88
mov ecx, dword [ebp - 0x418]
mov dword [ecx + 0x168], 2
jmp 0x485bb9
mov edx, dword [ebp - 0x418]
cmp dword [edx + 0x168], 0
jne 0x485ba9
mov eax, dword [ebp - 0x418]
mov dword [eax + 0x168], 2
jmp 0x485bb9
mov ecx, dword [ebp - 0x418]
mov dword [ecx + 0x168], 1
mov edx, dword [ebp - 0x418]
cmp dword [edx + 0x168], 0
jne 0x485f38
cmp dword [ebp - 0x414], 0
jne 0x485e63
mov eax, dword [ebp - 0x418]
mov dword [eax + 0x180], 1
mov ecx, dword [ebp - 0x418]
mov dword [ecx + 0x168], 0
mov edx, dword [ebp - 0x3fc]
push edx
push 0x10
mov eax, dword [ebp - 0x418]
add eax, 0x188
push eax
call fcn.00409190
push 0xc
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0x55c], eax
mov ecx, dword [ebp - 0x55c]
mov dword [ebp - 0x47c], ecx
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x47c], 0
je 0x485c62
lea edx, [ebp - 0x480]
push edx
mov ecx, dword [ebp - 0x47c]
call fcn.00454350
mov dword [ebp - 0x560], eax
mov eax, dword [ebp - 0x560]
mov dword [ebp - 0x564], eax
jmp 0x485c6c
mov dword [ebp - 0x564], 0
mov ecx, dword [ebp - 0x564]
mov dword [ebp - 0x478], ecx
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x418]
mov eax, dword [ebp - 0x478]
mov dword [edx + 0x184], eax
lea ecx, [ebp - 0x404]
call fcn.00417430
mov dword [ebp - 0x568], eax
push 0
push str.itemlist
lea ecx, [ebp - 0x488]
push ecx
mov ecx, dword [ebp - 0x568]
call fcn.0048b7e5
mov dword [ebp - 0x56c], eax
mov edx, dword [ebp - 0x56c]
mov dword [ebp - 0x570], edx
mov byte [ebp - 4], 0xc
push str.filelist
mov ecx, dword [ebp - 0x570]
call fcn.0048b9c2
mov dword [ebp - 0x574], eax
mov eax, dword [ebp - 0x574]
mov dword [ebp - 0x130], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x488]
call fcn.0048b77f
lea ecx, [ebp - 0x48c]
push ecx
mov ecx, dword [ebp - 0x130]
call fcn.00416da0
mov dword [ebp - 0x578], eax
mov edx, dword [ebp - 0x578]
mov eax, dword [edx]
mov dword [ebp - 0x410], eax
jmp 0x485d3b
push 0
lea ecx, [ebp - 0x490]
push ecx
lea ecx, [ebp - 0x410]
call fcn.00416820
lea edx, [ebp - 0x494]
push edx
mov ecx, dword [ebp - 0x130]
call fcn.004819b0
mov dword [ebp - 0x57c], eax
mov eax, dword [ebp - 0x57c]
push eax
lea ecx, [ebp - 0x410]
call fcn.00441530
mov byte [ebp - 0x580], al
mov ecx, dword [ebp - 0x580]
and ecx, 0xff
test ecx, ecx
je 0x485e5e
lea ecx, [ebp - 0x410]
call fcn.00417430
mov dword [ebp - 0x584], eax
push 0
push str.filename
lea edx, [ebp - 0x49c]
push edx
mov ecx, dword [ebp - 0x584]
call fcn.0048b7e5
mov dword [ebp - 0x588], eax
mov eax, dword [ebp - 0x588]
mov dword [ebp - 0x58c], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x58c]
call fcn.0048b8e7
mov dword [ebp - 0x590], eax
mov ecx, dword [ebp - 0x590]
mov dword [ebp - 0x408], ecx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x49c]
call fcn.0048b77f
mov edx, dword [ebp - 0x408]
push edx
call sub.ntdll.dll_strlen
add esp, 4
add eax, 1
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0x594], eax
mov ecx, dword [ebp - 0x594]
mov dword [ebp - 0x4a0], ecx
mov edx, dword [ebp - 0x4a0]
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp - 0x408]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x41c]
push edx
call fcn.004154e0
lea eax, [ebp - 0x41c]
push eax
mov ecx, dword [ebp - 0x418]
mov ecx, dword [ecx + 0x184]
call fcn.004896e0
jmp 0x485d27
jmp 0x485f38
mov edx, dword [ebp - 0x418]
mov dword [edx + 0x180], 0
mov eax, dword [ebp - 0x418]
mov dword [eax + 0x168], 0
push 0x28
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0x598], eax
mov ecx, dword [ebp - 0x598]
mov dword [ebp - 0x4a4], ecx
mov edx, dword [ebp - 0x418]
mov eax, dword [ebp - 0x4a4]
mov dword [edx + 0x170], eax
mov ecx, dword [ebp - 0x18]
push ecx
call sub.ntdll.dll_strlen
add esp, 4
add eax, 1
mov dword [ebp - 0x138], eax
mov edx, dword [ebp - 0x138]
push edx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0x59c], eax
mov eax, dword [ebp - 0x59c]
mov dword [ebp - 0x4a8], eax
mov ecx, dword [ebp - 0x418]
mov edx, dword [ecx + 0x170]
mov eax, dword [ebp - 0x4a8]
mov dword [edx], eax
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0x138]
push edx
mov eax, dword [ebp - 0x418]
mov ecx, dword [eax + 0x170]
mov edx, dword [ecx]
push edx
call fcn.00409190
mov eax, dword [ebp - 0x400]
push eax
push 0x21
mov ecx, dword [ebp - 0x418]
mov edx, dword [ecx + 0x170]
add edx, 4
push edx
call fcn.00409190
jmp 0x485620
jmp 0x485f6a
mov dword [ebp - 4], 0
cmp dword [ebp - 0x28], 0
je 0x485fbb
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x4b0], eax
mov ecx, dword [ebp - 0x4b0]
mov dword [ebp - 0x4ac], ecx
cmp dword [ebp - 0x4ac], 0
je 0x485faa
push 1
mov ecx, dword [ebp - 0x4ac]
call fcn.00489540
mov dword [ebp - 0x5a0], eax
jmp 0x485fb4
mov dword [ebp - 0x5a0], 0
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x130], 0
je 0x48600e
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x4b8], edx
mov eax, dword [ebp - 0x4b8]
mov dword [ebp - 0x4b4], eax
cmp dword [ebp - 0x4b4], 0
je 0x485ffa
push 1
mov ecx, dword [ebp - 0x4b4]
call fcn.00489540
mov dword [ebp - 0x5a4], eax
jmp 0x486004
mov dword [ebp - 0x5a4], 0
mov dword [ebp - 0x130], 0
mov ecx, dword [ebp - 0x40c]
mov dword [ebp - 0x4bc], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x150]
call fcn.0048b77f
mov eax, dword [ebp - 0x4bc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret