Function at 0x485a60
Capabilities:
Get common file path
Get file system object information
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 5
add esp, 0xfffff004
push eax
dec eax
jne 0x485a69
mov eax, dword [ebp - 4]
add esp, 0xfffffb58
push ebx
push esi
push edi
mov edi, 0x4b99b8
mov eax, 0x4ad5b0
call fcn.004980b0
lea edx, [ebp - 0xaac]
push edx
push 0x480af3
push dword [0x4c4e64]
push 0x4aca70
push dword [0x4b2148]
call sub.USER32.DLL_DialogBoxParamA
test eax, eax
jne 0x485ac8
mov ecx, dword [ebp - 0x228]
mov dword fs:[0], ecx
mov eax, ecx
jmp 0x48606b
mov word [ebp - 0x218], 8
lea eax, [ebp - 0x10c]
call fcn.00460710
add dword [ebp - 0x20c], 6
mov word [ebp - 0x218], 0x14
cmp dword [0x4c7804], 0
je 0x485b32
lea ecx, [ebp - 0x1ebc]
lea edx, [ebp - 0x16bc]
mov eax, 0x4c5bc4
call fcn.00457598
lea ecx, [ebp - 0x1ebc]
lea edx, [ebp - 0x16bc]
lea eax, [ebp - 0x10c]
call fcn.004609bc
lea eax, [ebp - 0x10c]
call fcn.00460ae0
jmp 0x485c05
mov word [ebp - 0x218], 0x20
lea eax, [ebp - 0x204]
call fcn.0040fa70
add dword [ebp - 0x20c], 4
mov word [ebp - 0x218], 0x2c
lea edx, [ebp - 0x204]
mov eax, 0x4c4e78
xor ecx, ecx
call fcn.0045dfc4
push 0
push 1
push 0
push 1
push 0
lea ecx, [ebp - 0x10c]
lea eax, [ebp - 0x204]
mov edx, 2
call fcn.00464838
test al, al
jne 0x485be5
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x204]
mov edx, 2
call fcn.0040fb48
dec dword [ebp - 0x20c]
dec dword [ebp - 0x20c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0043d588
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x10c]
mov edx, 2
call fcn.0040fb48
mov ecx, dword [ebp - 0x228]
mov dword fs:[0], ecx
jmp 0x48606b
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x204]
mov edx, 2
call fcn.0040fb48
mov word [ebp - 0x218], 0x14
lea edx, [ebp - 0x22bc]
mov eax, 0x4aca78
call fcn.00463a04
test al, al
jne 0x485c5b
dec dword [ebp - 0x20c]
dec dword [ebp - 0x20c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0043d588
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x10c]
mov edx, 2
call fcn.0040fb48
mov ecx, dword [ebp - 0x228]
mov dword fs:[0], ecx
jmp 0x48606b
lea eax, [ebp - 0x26bc]
push eax
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
mov word [ebp - 0x218], 0x14
xor ebx, ebx
jmp 0x485e02
lea eax, [ebp - 0x22bc]
push eax
call fcn.00499610
pop ecx
lea ecx, [ebp - 0x36ec]
lea eax, [ebp - 0x10c]
mov edx, ebx
call fcn.00460a14
lea eax, [ebp - 0x36ec]
call fcn.0040bd28
push eax
lea edx, [ebp - 0x2abc]
push edx
call fcn.00497c80
add esp, 8
lea eax, [ebp - 0x2abc]
xor ecx, ecx
xor edx, edx
call fcn.0040a264
test eax, eax
je 0x485d13
lea eax, [ebp - 0x2abc]
mov dl, 1
call fcn.0040c6b8
lea eax, [ebp - 0x2abc]
xor ecx, ecx
xor edx, edx
call fcn.0040a264
test eax, eax
je 0x485d13
lea eax, [ebp - 0x2abc]
push eax
mov eax, 0x1f7
call fcn.004125d0
push eax
call fcn.00486954
add esp, 8
mov eax, 0x4b1b14
call fcn.0042d7a8
jmp 0x485e01
lea edx, [ebp - 0x2abc]
push edx
call fcn.00499610
pop ecx
call fcn.00449558
lea ecx, [ebp - 0x431c]
lea eax, [ebp - 0x10c]
mov edx, ebx
call fcn.00460a14
lea eax, [ebp - 0x431c]
lea edx, [edi + 0x3f00]
call fcn.0040abcc
lea ecx, [ebp - 0x4f4c]
lea eax, [ebp - 0x10c]
mov edx, ebx
call fcn.00460a14
lea eax, [ebp - 0x4f4c]
lea edx, [edi + 0x4300]
add eax, 0x400
call fcn.0040ac14
cmp dword [0x4c7804], 0
jne 0x485d95
push 1
push 0
lea ecx, [edi + 0x4300]
lea edx, [edi + 0x3f00]
mov eax, 0x4c5bc4
call fcn.00455fa0
mov ecx, dword [0x4c5dcc]
mov dword [edi + 0x2ab0], ecx
mov eax, dword [edi + 0x4b0c]
call fcn.0040fbc4
mov eax, dword [edi + 0x4b00]
call fcn.0040fbc4
mov edx, 0x4ac857
mov eax, dword [edi + 0x4b00]
call fcn.0040fbf4
call fcn.00486b94
mov esi, eax
mov word [ebp - 0x218], 0x14
mov eax, 0x4c5bc4
mov cl, 1
xor edx, edx
call fcn.0045249c
call fcn.00486b94
cmp esi, eax
je 0x485df8
mov dword [0x4c7818], 1
cmp dword [0x4c7818], 0
jne 0x485e14
inc ebx
cmp ebx, dword [ebp - 8]
jae 0x485e14
cmp dword [0x4c7814], 0
je 0x485c7c
xor ebx, ebx
cmp dword [0x4c7818], 0
jne 0x485ff8
push 0
lea edx, [edi + 0x3f00]
xor ecx, ecx
mov eax, 9
call fcn.00472a98
mov ebx, eax
lea eax, [ebp - 0xaac]
call fcn.004749b0
mov eax, 0x543
call fcn.004125d0
call fcn.004749b0
lea edx, [ebp - 0x22bc]
push edx
call fcn.00499610
pop ecx
lea edx, [ebp - 0x22bc]
lea eax, [ebp - 0x6ac]
call fcn.00481607
push 0x2000
lea ecx, [ebp - 0x50ac]
push 0x160
push ecx
lea eax, [ebp - 0xaac]
push 0
push eax
call sub.SHELL32.DLL_SHGetFileInfoA
mov ecx, eax
shr ecx, 0x10
test cx, cx
jne 0x485eaf
mov edx, eax
and dx, 0xffff
cmp dx, 0x5a4d
je 0x485eb3
cmp dx, 0x4550
je 0x485eb3
xor eax, eax
jmp 0x485eb8
mov eax, 1
test al, al
je 0x485f7c
lea edx, [ebp - 0x22bc]
push edx
lea ecx, [ebp - 0x54ac]
push ecx
call fcn.00497c80
add esp, 8
lea eax, [ebp - 0x54ac]
call fcn.0040c22c
call fcn.004a0080
push eax
push 0x4aca85
lea edx, [ebp - 0x54ac]
push edx
call fcn.00497cb0
pop ecx
lea ecx, [ebp - 0x54ac]
add eax, ecx
push eax
call fcn.0049abd0
add esp, 0xc
push 0x4aca96
lea eax, [ebp - 0x54ac]
push eax
call fcn.00499bb0
add esp, 8
mov esi, eax
test esi, esi
je 0x485f7c
xor eax, eax
mov al, byte [ebp - 0xaac]
cmp eax, 0x22
je 0x485f3c
lea eax, [ebp - 0xaac]
call fcn.0047ce14
lea edx, [ebp - 0x6ac]
push edx
lea ecx, [ebp - 0xaac]
push ecx
push 0x4aca99
push esi
call fcn.00499be4
add esp, 0x10
push esi
call fcn.004996b8
pop ecx
lea eax, [ebp - 0x54ac]
push eax
lea edx, [ebp - 0xaac]
push edx
call fcn.00497c80
add esp, 8
mov byte [ebp - 0x6ac], 0
lea ecx, [ebp - 0x6ac]
lea eax, [ebp - 0x22c]
push ecx
push 0
push eax
lea eax, [ebp - 0xaac]
push 0
lea ecx, [ebp - 0x22bc]
xor edx, edx
call fcn.00469ef0
test al, al
jne 0x485fcd
lea ecx, [ebp - 0xaac]
mov eax, 0x201
push ecx
call fcn.004125d0
push eax
call fcn.00486954
add esp, 8
jmp 0x485fcd
push 0x14
call sub.KERNEL32.DLL_Sleep
call fcn.0047cc10
push 0xc8
push dword [ebp - 0x22c]
call sub.KERNEL32.DLL_WaitForSingleObject
cmp eax, 0x102
jne 0x485fed
cmp dword [0x4c7814], 0
je 0x485fc1
push dword [ebp - 0x22c]
call sub.KERNEL32.DLL_CloseHandle
lea edx, [ebp - 0x26bc]
push edx
call fcn.00499610
pop ecx
lea eax, [ebp - 0x22bc]
call fcn.00463bb0
test al, al
je 0x48601f
lea eax, [ebp - 0x22bc]
call fcn.004633a0
test bl, bl
je 0x48602e
push dword [0x4c4e70]
call sub.USER32.DLL_DestroyWindow
dec dword [ebp - 0x20c]
dec dword [ebp - 0x20c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0043d588
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x10c]
mov edx, 2
call fcn.0040fb48
mov ecx, dword [ebp - 0x228]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret