Function at 0x4505b0
Capabilities:
Get common file path
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6ea638
mov eax, dword fs:[0]
push eax
sub esp, 0xa78
mov eax, dword [0x7cf070]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x250], esi
lea ecx, [esi + 0x848]
call fcn.0040ab50
call fcn.004b08d6
mov ecx, eax
test ecx, ecx
jne 0x450606
push 0x80004005
call fcn.00402890
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x238], eax
mov dword [ebp - 4], 0
mov eax, dword [0x7e80d8]
add eax, 0xfffffff0
push eax
call fcn.004050c0
add eax, 0x10
add esp, 4
mov dword [ebp - 0x234], eax
mov byte [ebp - 4], 1
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.004a7b7e
push 0
push 0
push 0x403
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
or ebx, 0xffffffff
test eax, eax
je 0x450759
lea eax, [ebp - 0x218]
push eax
push 0
push 0
push 0x10
push 0
call edi
test eax, eax
js 0x450759
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x450690
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x238]
call fcn.00404fa0
mov ecx, str.NVgggggu_:CPVWktz_16_HWacfht__244AAAO
call fcn.0045f920
push eax
lea eax, [ebp - 0x22c]
push 0x7e80d8
push eax
call fcn.00404720
add esp, 0xc
push eax
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 2
call fcn.00405050
mov byte [ebp - 4], 1
mov eax, ebx
mov edx, dword [ebp - 0x22c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450702
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, str.CGISSSSSX_lz__3HHNP_bhnuw__9AJKP_aptz_0
call fcn.0045f920
push eax
lea ecx, [ebp - 0x230]
call fcn.00404e10
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x234]
mov ecx, esi
push eax
lea eax, [ebp - 0x238]
push eax
call fcn.00450fc0
mov byte [ebp - 4], 1
mov eax, ebx
mov edx, dword [ebp - 0x230]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450759
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.004a7b7e
push 0
push 1
push 0x403
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x45086d
lea eax, [ebp - 0x218]
push eax
push 0
push 0
push 5
push 0
call edi
test eax, eax
js 0x45086d
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4507a4
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x238]
call fcn.00404fa0
mov ecx, str.LVYbbbbbcnv__2_HPR_dhsw__:GU_jsss_2
call fcn.0045f920
push eax
lea eax, [ebp - 0x22c]
push 0x7e80d8
push eax
call fcn.00404720
add esp, 0xc
push eax
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 4
call fcn.00405050
mov byte [ebp - 4], 1
mov eax, ebx
mov edx, dword [ebp - 0x22c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450816
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, str.PPVWWWWWam___3AM_agvx_3_LPPUbbnnr__
call fcn.0045f920
push eax
lea ecx, [ebp - 0x230]
call fcn.00404e10
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x234]
mov ecx, esi
push eax
lea eax, [ebp - 0x238]
push eax
call fcn.00450fc0
mov byte [ebp - 4], 1
mov eax, ebx
mov edx, dword [ebp - 0x230]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45086d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.004a7b7e
push 0
push 2
push 0x403
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x450989
lea eax, [ebp - 0x218]
push eax
push 0
push 0
push 6
push 0
call edi
test eax, eax
js 0x450989
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4508c0
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x238]
call fcn.00404fa0
mov ecx, str.NVWjm___4_BNWY_mp_____JO_bmq___5AJLZfghoy_034BKSUWagju_2_FIXYhq
call fcn.0045f920
push eax
lea eax, [ebp - 0x22c]
push 0x7e80d8
push eax
call fcn.00404720
add esp, 0xc
push eax
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 6
call fcn.00405050
mov byte [ebp - 4], 1
mov eax, ebx
mov edx, dword [ebp - 0x22c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450932
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, str.EORWWWWW__aggkqu_48:ADMOUajty_88EER_h
call fcn.0045f920
push eax
lea ecx, [ebp - 0x230]
call fcn.00404e10
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x234]
mov ecx, esi
push eax
lea eax, [ebp - 0x238]
push eax
call fcn.00450fc0
mov byte [ebp - 4], 1
mov eax, ebx
mov edx, dword [ebp - 0x230]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450989
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0x8f0
mov ecx, str.P_agggggu__0:_LWWZfrrx__6AAKSV_dlz_88EMelox__.001_KYabbp48_GUbfm
mov dword [ebp - 0x24c], esi
call fcn.0045f920
push eax
mov ecx, esi
call fcn.004ad9d3
mov eax, dword [0x7e80c0]
test eax, eax
js 0x450fb8
cmp eax, dword [0x7e8844]
jge 0x450fb8
imul ecx, eax, 0xa8
lea eax, [ebp - 0x22c]
push eax
add ecx, dword [0x7e8840]
call fcn.004438c0
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.0041ca50
mov byte [ebp - 4], 1
mov eax, ebx
mov edx, dword [ebp - 0x22c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450a04
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x7e80ac]
push 0
call fcn.00416dd0
mov ecx, str.JUUXXXXX_agvy_____7FGVkuv___EFS_mnsuvx__27:__CPT_efsz__6_HJPZ_ckmuy
call fcn.0045f920
push eax
mov ecx, esi
call fcn.004ad9d3
mov ecx, str.DDGNNNNN__adehp_.1:BPZcqsuw_4BCPP_ddjorv_0_FHOYhrx__2258DKKORSTbjyz0
call fcn.0045f920
push eax
lea eax, [ebp - 0x254]
push 0x7e80b8
push eax
call fcn.00404720
add esp, 0xc
push 0x1000
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x268]
push dword [ebp - 0x254]
call fcn.004b2ce0
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0xa
call fcn.004b2fdd
mov eax, dword [0x7e8168]
test eax, eax
js 0x450fb8
cmp eax, dword [0x7e8830]
jge 0x450fb8
imul esi, eax, 0xa8
add esi, dword [0x7e882c]
mov dword [ebp - 0x23c], esi
call fcn.004b08d6
mov ecx, eax
test ecx, ecx
jne 0x450aab
push 0x80004005
call fcn.00402890
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x230], eax
mov byte [ebp - 4], 0xb
mov ecx, str.CPSYYYYY_bky_2_BQTVclor_7ETait__.69__
push dword [esi + 4]
call fcn.0045f920
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.00402960
mov eax, dword [0x7e8118]
add eax, 0xfffffff0
push eax
call fcn.004050c0
lea esi, [eax + 0x10]
mov dword [ebp - 0x240], esi
mov ecx, str.ORT______aiw_44_CR_chvvz__1:_MPUUZht__
mov byte [ebp - 4], 0xc
call fcn.0045f920
push eax
lea eax, [ebp - 0x22c]
push 0x7e80d0
push eax
call fcn.00404720
push 0x7e8130
push eax
lea eax, [ebp - 0x244]
mov byte [ebp - 4], 0xd
push eax
call fcn.004047f0
add esp, 0x28
mov byte [ebp - 4], 0xf
mov eax, ebx
mov edx, dword [ebp - 0x22c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450b48
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0xa84]
call fcn.0040c040
mov ecx, str.HTUWWWWWcds_58_FT_hhhw5_GObgn1_D
mov byte [ebp - 4], 0x10
call fcn.0045f920
push eax
lea ecx, [ebp - 0x22c]
call fcn.00404e10
lea eax, [ebp - 0x22c]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x278]
call fcn.00405050
mov byte [ebp - 4], 0x10
mov eax, ebx
mov edx, dword [ebp - 0x22c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450bab
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, str.P_diiqz4ACIO__jms_78BPeoxz_
call fcn.0045f920
push eax
lea ecx, [ebp - 0x22c]
call fcn.00404e10
push ecx
lea eax, [ebp - 0x240]
mov byte [ebp - 4], 0x12
push eax
lea edx, [ebp - 0x22c]
lea ecx, [ebp - 0x248]
call fcn.0044cd40
add esp, 8
mov edi, dword [eax]
mov ecx, str.LU______nrr11JTcrz___8CEKTX_betz_5_A
call fcn.0045f920
push dword [ebp - 0x27c]
push edi
push eax
push dword [ebp - 0x278]
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov byte [ebp - 4], 0x12
mov eax, ebx
mov edx, dword [ebp - 0x248]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450c22
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x10
mov eax, ebx
mov edx, dword [ebp - 0x22c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450c43
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
lea eax, [ebp - 0x240]
mov edx, 0x7e8138
push eax
lea ecx, [ebp - 0x248]
call fcn.0044cd40
add esp, 8
mov edi, dword [eax]
mov ecx, str.MNNhoqz.1____FS_hmz__3_DNOVV_jot
call fcn.0045f920
push dword [ebp - 0x27c]
push edi
push eax
push dword [ebp - 0x278]
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov byte [ebp - 4], 0x10
mov eax, ebx
mov edx, dword [ebp - 0x248]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450c9f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x23c]
lea eax, [ebp - 0x240]
push ecx
push eax
add edx, 0x1c
lea ecx, [ebp - 0x23c]
call fcn.0044cd40
add esp, 8
mov edi, dword [eax]
mov ecx, str.HIOSSSSS_fiuwx_4_NPlt___37DSWblpr__0
call fcn.0045f920
push dword [ebp - 0x27c]
push edi
push eax
push dword [ebp - 0x278]
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov byte [ebp - 4], 0x10
mov eax, ebx
mov edx, dword [ebp - 0x23c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450cff
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, str.HRVccccclq_266AMVan_79_KMV_jn_..5_C
call fcn.0045f920
push eax
lea ecx, [ebp - 0x22c]
call fcn.00404e10
push ecx
lea eax, [ebp - 0x240]
mov byte [ebp - 4], 0x16
push eax
lea edx, [ebp - 0x22c]
lea ecx, [ebp - 0x23c]
call fcn.0044cd40
add esp, 8
mov edi, dword [eax]
mov ecx, str.NV_bbbbbenu_2_HMNUU_cr__556DHPTTZju___
call fcn.0045f920
push dword [ebp - 0x27c]
push edi
push eax
push dword [ebp - 0x278]
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov byte [ebp - 4], 0x16
mov eax, ebx
mov edx, dword [ebp - 0x23c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450d76
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x10
mov eax, ebx
mov edx, dword [ebp - 0x22c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450d97
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
lea eax, [ebp - 0x240]
push eax
lea edx, [ebp - 0x230]
lea ecx, [ebp - 0x23c]
call fcn.0044cd40
add esp, 8
mov edi, dword [eax]
mov ecx, str.NVX_____fjlr___0EEKTUXgnpw__9CR_gqu__
call fcn.0045f920
push dword [ebp - 0x27c]
push edi
push eax
push dword [ebp - 0x278]
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov byte [ebp - 4], 0x10
mov eax, ebx
mov edx, dword [ebp - 0x23c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450df4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 2
push dword [ebp - 0x244]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov ecx, str.MNN_____hm_7_ELMYY_hlx_57FLY_et_26_GV_kow14_CQRZcl2_MNVeqrz
call fcn.0045f920
mov ecx, dword [ebp - 0x24c]
push eax
call fcn.004ad9d3
mov edi, dword [ebp - 0x250]
add edi, 0x848
cmp dword [edi + 0x9c], 0
je 0x450e42
push 1
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [edi + 0x9c], 0
mov eax, dword [edi + 0x80]
lea ecx, [ebp - 0x228]
movups xmm0, xmmword [0x7317bc]
push 0
push ecx
mov dword [edi + 0xa0], 0
mov dword [edi + 0x98], 0
movups xmmword [ebp - 0x228], xmm0
mov dword [ebp - 0x24c], eax
push dword [eax + 4]
call dword [sym.imp.gdiplus.dll_GdipImageSelectActiveFrame]
mov ecx, eax
test ecx, ecx
je 0x450e91
mov eax, dword [ebp - 0x24c]
mov dword [eax + 8], ecx
push 0
push 0
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [ebp - 0x250]
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.004a7b7e
push 0
push 0
push 0x415
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0xa84]
call fcn.0040c190
mov byte [ebp - 4], 0xc
mov eax, ebx
mov edx, dword [ebp - 0x244]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450ef1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x450f0c
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa
mov eax, ebx
mov edx, dword [ebp - 0x230]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450f2d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x268]
call fcn.004b2d53
mov byte [ebp - 4], 1
mov eax, ebx
mov edx, dword [ebp - 0x254]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450f59
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov eax, ebx
mov edx, dword [ebp - 0x234]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450f7a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x238]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x450f9c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005e9199
mov esp, ebp
pop ebp
ret
call fcn.004b03fc
int3