Function at 0x485a14
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 0x485a1d
mov eax, dword [ebp - 4]
add esp, 0xfffffb58
push ebx
push esi
push edi
mov edi, 0x4b9978
mov eax, 0x4ad570
call fcn.00498090
lea edx, [ebp - 0xaac]
push edx
push 0x480aa3
push dword [0x4c4e24]
push str.VIRSCAN
push dword [0x4b2108]
call sub.USER32.DLL_DialogBoxParamA
test eax, eax
jne 0x485a7c
mov ecx, dword [ebp - 0x228]
mov dword fs:[0], ecx
mov eax, ecx
jmp 0x48601f
mov word [ebp - 0x218], 8
lea eax, [ebp - 0x10c]
call fcn.004606e0
add dword [ebp - 0x20c], 6
mov word [ebp - 0x218], 0x14
cmp dword [0x4c77c4], 0
je 0x485ae6
lea ecx, [ebp - 0x1ebc]
lea edx, [ebp - 0x16bc]
mov eax, 0x4c5b84
call fcn.00457568
lea ecx, [ebp - 0x1ebc]
lea edx, [ebp - 0x16bc]
lea eax, [ebp - 0x10c]
call fcn.0046098c
lea eax, [ebp - 0x10c]
call fcn.00460ab0
jmp 0x485bb9
mov word [ebp - 0x218], 0x20
lea eax, [ebp - 0x204]
call fcn.0040fa54
add dword [ebp - 0x20c], 4
mov word [ebp - 0x218], 0x2c
lea edx, [ebp - 0x204]
mov eax, 0x4c4e38
xor ecx, ecx
call fcn.0045df94
push 0
push 1
push 0
push 1
push 0
lea ecx, [ebp - 0x10c]
lea eax, [ebp - 0x204]
mov edx, 2
call fcn.00464808
test al, al
jne 0x485b99
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x204]
mov edx, 2
call fcn.0040fb2c
dec dword [ebp - 0x20c]
dec dword [ebp - 0x20c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0043d558
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x10c]
mov edx, 2
call fcn.0040fb2c
mov ecx, dword [ebp - 0x228]
mov dword fs:[0], ecx
jmp 0x48601f
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x204]
mov edx, 2
call fcn.0040fb2c
mov word [ebp - 0x218], 0x14
lea edx, [ebp - 0x22bc]
mov eax, str.Rar_VRXXXXXX
call fcn.004639d4
test al, al
jne 0x485c0f
dec dword [ebp - 0x20c]
dec dword [ebp - 0x20c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0043d558
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x10c]
mov edx, 2
call fcn.0040fb2c
mov ecx, dword [ebp - 0x228]
mov dword fs:[0], ecx
jmp 0x48601f
lea eax, [ebp - 0x26bc]
push eax
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
mov word [ebp - 0x218], 0x14
xor ebx, ebx
jmp 0x485db6
lea eax, [ebp - 0x22bc]
push eax
call fcn.004995f4
pop ecx
lea ecx, [ebp - 0x36ec]
lea eax, [ebp - 0x10c]
mov edx, ebx
call fcn.004609e4
lea eax, [ebp - 0x36ec]
call fcn.0040bd0c
push eax
lea edx, [ebp - 0x2abc]
push edx
call fcn.00497c60
add esp, 8
lea eax, [ebp - 0x2abc]
xor ecx, ecx
xor edx, edx
call fcn.0040a248
test eax, eax
je 0x485cc7
lea eax, [ebp - 0x2abc]
mov dl, 1
call fcn.0040c69c
lea eax, [ebp - 0x2abc]
xor ecx, ecx
xor edx, edx
call fcn.0040a248
test eax, eax
je 0x485cc7
lea eax, [ebp - 0x2abc]
push eax
mov eax, 0x1f7
call fcn.004125b4
push eax
call fcn.00486908
add esp, 8
mov eax, 0x4b1ad4
call fcn.0042d778
jmp 0x485db5
lea edx, [ebp - 0x2abc]
push edx
call fcn.004995f4
pop ecx
call fcn.00449528
lea ecx, [ebp - 0x431c]
lea eax, [ebp - 0x10c]
mov edx, ebx
call fcn.004609e4
lea eax, [ebp - 0x431c]
lea edx, [edi + 0x3f00]
call fcn.0040abb0
lea ecx, [ebp - 0x4f4c]
lea eax, [ebp - 0x10c]
mov edx, ebx
call fcn.004609e4
lea eax, [ebp - 0x4f4c]
lea edx, [edi + 0x4300]
add eax, 0x400
call fcn.0040abf8
cmp dword [0x4c77c4], 0
jne 0x485d49
push 1
push 0
lea ecx, [edi + 0x4300]
lea edx, [edi + 0x3f00]
mov eax, 0x4c5b84
call fcn.00455f70
mov ecx, dword [0x4c5d8c]
mov dword [edi + 0x2ab0], ecx
mov eax, dword [edi + 0x4b0c]
call fcn.0040fba8
mov eax, dword [edi + 0x4b00]
call fcn.0040fba8
mov edx, str.cth
mov eax, dword [edi + 0x4b00]
call fcn.0040fbd8
call fcn.00486b48
mov esi, eax
mov word [ebp - 0x218], 0x14
mov eax, 0x4c5b84
mov cl, 1
xor edx, edx
call fcn.0045246c
call fcn.00486b48
cmp esi, eax
je 0x485dac
mov dword [0x4c77d8], 1
cmp dword [0x4c77d8], 0
jne 0x485dc8
inc ebx
cmp ebx, dword [ebp - 8]
jae 0x485dc8
cmp dword [0x4c77d4], 0
je 0x485c30
xor ebx, ebx
cmp dword [0x4c77d8], 0
jne 0x485fac
push 0
lea edx, [edi + 0x3f00]
xor ecx, ecx
mov eax, 9
call fcn.00472a48
mov ebx, eax
lea eax, [ebp - 0xaac]
call fcn.00474960
mov eax, 0x543
call fcn.004125b4
call fcn.00474960
lea edx, [ebp - 0x22bc]
push edx
call fcn.004995f4
pop ecx
lea edx, [ebp - 0x22bc]
lea eax, [ebp - 0x6ac]
call fcn.004815b7
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 0x485e63
mov edx, eax
and dx, 0xffff
cmp dx, 0x5a4d
je 0x485e67
cmp dx, 0x4550
je 0x485e67
xor eax, eax
jmp 0x485e6c
mov eax, 1
test al, al
je 0x485f30
lea edx, [ebp - 0x22bc]
push edx
lea ecx, [ebp - 0x54ac]
push ecx
call fcn.00497c60
add esp, 8
lea eax, [ebp - 0x54ac]
call fcn.0040c210
call fcn.004a0084
push eax
push str.__rar_scan_d.bat
lea edx, [ebp - 0x54ac]
push edx
call fcn.00497c90
pop ecx
lea ecx, [ebp - 0x54ac]
add eax, ecx
push eax
call fcn.0049abc0
add esp, 0xc
push 0x4aca56
lea eax, [ebp - 0x54ac]
push eax
call fcn.00499b98
add esp, 8
mov esi, eax
test esi, esi
je 0x485f30
xor eax, eax
mov al, byte [ebp - 0xaac]
cmp eax, 0x22
je 0x485ef0
lea eax, [ebp - 0xaac]
call fcn.0047cdc4
lea edx, [ebp - 0x6ac]
push edx
lea ecx, [ebp - 0xaac]
push ecx
push str.__s__s_r_n_echo._r_n_pause
push esi
call fcn.00499bcc
add esp, 0x10
push esi
call fcn.0049969c
pop ecx
lea eax, [ebp - 0x54ac]
push eax
lea edx, [ebp - 0xaac]
push edx
call fcn.00497c60
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.00469ec0
test al, al
jne 0x485f81
lea ecx, [ebp - 0xaac]
mov eax, 0x201
push ecx
call fcn.004125b4
push eax
call fcn.00486908
add esp, 8
jmp 0x485f81
push 0x14
call sub.KERNEL32.DLL_Sleep
call fcn.0047cbc0
push 0xc8
push dword [ebp - 0x22c]
call sub.KERNEL32.DLL_WaitForSingleObject
cmp eax, 0x102
jne 0x485fa1
cmp dword [0x4c77d4], 0
je 0x485f75
push dword [ebp - 0x22c]
call sub.KERNEL32.DLL_CloseHandle
lea edx, [ebp - 0x26bc]
push edx
call fcn.004995f4
pop ecx
lea eax, [ebp - 0x22bc]
call fcn.00463b80
test al, al
je 0x485fd3
lea eax, [ebp - 0x22bc]
call fcn.00463370
test bl, bl
je 0x485fe2
push dword [0x4c4e30]
call sub.USER32.DLL_DestroyWindow
dec dword [ebp - 0x20c]
dec dword [ebp - 0x20c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0043d558
sub dword [ebp - 0x20c], 4
lea eax, [ebp - 0x10c]
mov edx, 2
call fcn.0040fb2c
mov ecx, dword [ebp - 0x228]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret