Function at 0x48b34f
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ad77e
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.00491390
mov dword [ebp - 4], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x130], 0
lea ecx, [ebp - 0x404]
call fcn.00486380
lea ecx, [ebp - 0x410]
call fcn.00486380
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.0049149e
push 0
push 0x54407c
lea edx, [ebp - 0x428]
push edx
lea ecx, [ebp - 0x150]
call fcn.00491575
mov dword [ebp - 0x4c0], eax
mov eax, dword [ebp - 0x4c0]
mov dword [ebp - 0x4c4], eax
mov byte [ebp - 4], 2
push 0x544084
mov ecx, dword [ebp - 0x4c4]
call fcn.00491752
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.0049150f
lea edx, [ebp - 0x42c]
push edx
mov ecx, dword [ebp - 0x28]
call fcn.00416c30
mov dword [ebp - 0x4cc], eax
mov eax, dword [ebp - 0x4cc]
mov ecx, dword [eax]
mov dword [ebp - 0x404], ecx
jmp 0x48b474
push 0
lea edx, [ebp - 0x430]
push edx
lea ecx, [ebp - 0x404]
call fcn.0043b370
lea eax, [ebp - 0x434]
push eax
mov ecx, dword [ebp - 0x28]
call fcn.00416d80
mov dword [ebp - 0x4d0], eax
mov ecx, dword [ebp - 0x4d0]
push ecx
lea ecx, [ebp - 0x404]
call fcn.0043b3a0
mov byte [ebp - 0x4d4], al
mov edx, dword [ebp - 0x4d4]
and edx, 0xff
test edx, edx
je 0x48bd7d
lea ecx, [ebp - 0x404]
call fcn.00417440
mov dword [ebp - 0x4d8], eax
push 0
push 0x54408c
lea eax, [ebp - 0x43c]
push eax
mov ecx, dword [ebp - 0x4d8]
call fcn.00491575
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.00491677
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.0049150f
mov eax, dword [ebp - 0x134]
push eax
call fcn.0048a70f
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.00417440
mov dword [ebp - 0x4e8], eax
push 0
push str.sysfile
lea edx, [ebp - 0x444]
push edx
mov ecx, dword [ebp - 0x4e8]
call fcn.00491575
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.00491677
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.0049150f
mov edx, dword [ebp - 0x144]
push edx
call fcn.0048a70f
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.00417440
mov dword [ebp - 0x4f8], eax
push 0
push str.download
lea ecx, [ebp - 0x44c]
push ecx
mov ecx, dword [ebp - 0x4f8]
call fcn.00491575
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.00491677
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.0049150f
mov ecx, dword [ebp - 0x148]
push ecx
call fcn.0048a70f
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.00417440
mov dword [ebp - 0x508], eax
push 0
push 0x5440a8
lea eax, [ebp - 0x454]
push eax
mov ecx, dword [ebp - 0x508]
call fcn.00491575
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.00491677
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.0049150f
lea ecx, [ebp - 0x404]
call fcn.00417440
mov dword [ebp - 0x518], eax
push 0
push 0x5440b0
lea eax, [ebp - 0x45c]
push eax
mov ecx, dword [ebp - 0x518]
call fcn.00491575
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.00491677
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.0049150f
lea ecx, [ebp - 0x404]
call fcn.00417440
mov dword [ebp - 0x528], eax
push 0
push 0x5440b8
lea eax, [ebp - 0x464]
push eax
mov ecx, dword [ebp - 0x528]
call fcn.00491575
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.00491677
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.0049150f
lea ecx, [ebp - 0x404]
call fcn.00417440
mov dword [ebp - 0x538], eax
push 0
push 0x5440bc
lea eax, [ebp - 0x46c]
push eax
mov ecx, dword [ebp - 0x538]
call fcn.00491575
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.00491677
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.0049150f
lea ecx, [ebp - 0x404]
call fcn.00417440
mov dword [ebp - 0x548], eax
push 0
push str.package
lea eax, [ebp - 0x474]
push eax
mov ecx, dword [ebp - 0x548]
call fcn.00491575
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.00491677
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.0049150f
mov eax, dword [ebp - 0x1c]
push eax
call fcn.0048a70f
add esp, 4
mov ecx, dword [ebp - 0x140]
push ecx
call fcn.0048a70f
add esp, 4
mov edx, dword [ebp - 0x400]
push edx
call fcn.0048a70f
add esp, 4
mov eax, dword [ebp - 0x18]
push eax
call fcn.0048a70f
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 0x48b8e0
mov ecx, dword [ebp - 0x14]
movsx edx, byte [ecx]
cmp edx, 0x2f
jne 0x48b8d5
mov eax, dword [ebp - 0x14]
mov byte [eax], 0x5c
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
jmp 0x48b8ba
mov edx, dword [ebp - 0x140]
movsx eax, byte [edx]
test eax, eax
je 0x48b91a
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x140]
push edx
lea eax, [ebp - 0x12c]
push eax
push 0x5440c8
push 0x104
lea ecx, [ebp - 0x3f8]
push ecx
call fcn.0040a230
add esp, 0x18
jmp 0x48b93e
mov edx, dword [ebp - 0x1c]
push edx
lea eax, [ebp - 0x12c]
push eax
push 0x5440d4
push 0x104
lea ecx, [ebp - 0x3f8]
push ecx
call fcn.0040a230
add esp, 0x14
lea edx, [ebp - 0x3f8]
push edx
mov ecx, dword [ebp + 8]
call fcn.00416fa0
mov dword [ebp - 0x558], eax
mov eax, dword [ebp - 0x558]
mov dword [ebp - 0x418], eax
cmp dword [ebp - 0x418], 0
jne 0x48b96d
jmp 0x48b460
mov ecx, dword [ebp - 0x418]
mov dword [ecx + 0x170], 0
cmp dword [ebp - 0x24], 1
jne 0x48b9b0
cmp dword [ebp - 0x13c], 0
je 0x48b99e
mov edx, dword [ebp - 0x418]
mov dword [edx + 0x168], 2
jmp 0x48b9ae
mov eax, dword [ebp - 0x418]
mov dword [eax + 0x168], 0
jmp 0x48b9f9
cmp dword [ebp - 0x24], 2
jne 0x48b9c8
mov ecx, dword [ebp - 0x418]
mov dword [ecx + 0x168], 2
jmp 0x48b9f9
mov edx, dword [ebp - 0x418]
cmp dword [edx + 0x168], 0
jne 0x48b9e9
mov eax, dword [ebp - 0x418]
mov dword [eax + 0x168], 2
jmp 0x48b9f9
mov ecx, dword [ebp - 0x418]
mov dword [ecx + 0x168], 1
mov edx, dword [ebp - 0x418]
cmp dword [edx + 0x168], 0
jne 0x48bd78
cmp dword [ebp - 0x414], 0
jne 0x48bca3
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.00409100
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 0x48baa2
lea edx, [ebp - 0x480]
push edx
mov ecx, dword [ebp - 0x47c]
call fcn.00416b60
mov dword [ebp - 0x560], eax
mov eax, dword [ebp - 0x560]
mov dword [ebp - 0x564], eax
jmp 0x48baac
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.00417440
mov dword [ebp - 0x568], eax
push 0
push str.itemlist
lea ecx, [ebp - 0x488]
push ecx
mov ecx, dword [ebp - 0x568]
call fcn.00491575
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.00491752
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.0049150f
lea ecx, [ebp - 0x48c]
push ecx
mov ecx, dword [ebp - 0x130]
call fcn.00416c30
mov dword [ebp - 0x578], eax
mov edx, dword [ebp - 0x578]
mov eax, dword [edx]
mov dword [ebp - 0x410], eax
jmp 0x48bb7b
push 0
lea ecx, [ebp - 0x490]
push ecx
lea ecx, [ebp - 0x410]
call fcn.0043b370
lea edx, [ebp - 0x494]
push edx
mov ecx, dword [ebp - 0x130]
call fcn.00416d80
mov dword [ebp - 0x57c], eax
mov eax, dword [ebp - 0x57c]
push eax
lea ecx, [ebp - 0x410]
call fcn.0043b3a0
mov byte [ebp - 0x580], al
mov ecx, dword [ebp - 0x580]
and ecx, 0xff
test ecx, ecx
je 0x48bc9e
lea ecx, [ebp - 0x410]
call fcn.00417440
mov dword [ebp - 0x584], eax
push 0
push str.filename
lea edx, [ebp - 0x49c]
push edx
mov ecx, dword [ebp - 0x584]
call fcn.00491575
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.00491677
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.0049150f
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.00415480
lea eax, [ebp - 0x41c]
push eax
mov ecx, dword [ebp - 0x418]
mov ecx, dword [ecx + 0x184]
call fcn.0048f500
jmp 0x48bb67
jmp 0x48bd78
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.00409100
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.00409100
jmp 0x48b460
jmp 0x48bdaa
mov dword [ebp - 4], 0
cmp dword [ebp - 0x28], 0
je 0x48bdfb
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 0x48bdea
push 1
mov ecx, dword [ebp - 0x4ac]
call fcn.0048f360
mov dword [ebp - 0x5a0], eax
jmp 0x48bdf4
mov dword [ebp - 0x5a0], 0
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x130], 0
je 0x48be4e
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 0x48be3a
push 1
mov ecx, dword [ebp - 0x4b4]
call fcn.0048f360
mov dword [ebp - 0x5a4], eax
jmp 0x48be44
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.0049150f
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