Function at 0x565523
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x60b371
mov eax, dword fs:[0]
push eax
sub esp, 0x93c
mov eax, dword [0x697bc0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x300], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x308], eax
mov ecx, dword [ebp - 0x308]
sub ecx, 1
mov dword [ebp - 0x308], ecx
cmp dword [ebp - 0x308], 0xa
ja case.default.0x564b7c
mov edx, dword [ebp - 0x308]
jmp dword [edx*4 + 0x5658b4]
push str.FlashHelperTips
mov eax, dword [ebp - 0x300]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_RemovePropW]
push 1
mov ecx, dword [ebp - 0x300]
add ecx, 4
call fcn.0055ab70
mov ecx, dword [ebp - 0x300]
call fcn.00551410
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp case.default.0x564b7c
push 3
mov ecx, dword [ebp - 0x300]
add ecx, 4
call fcn.0055ab70
call fcn.004eadb0
movzx edx, al
test edx, edx
jne 0x564bf6
mov ecx, dword [ebp - 0x300]
call fcn.00551410
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
xor eax, eax
jmp 0x565896
push 1
mov ecx, dword [ebp - 0x300]
call fcn.0056ecf0
jmp case.default.0x564b7c
call fcn.00521cb0
mov ecx, eax
call fcn.005249d0
mov dword [ebp - 0x310], eax
cmp dword [ebp - 0x310], 0
jg 0x564c3d
mov ecx, dword [ebp - 0x300]
call fcn.00551410
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
xor eax, eax
jmp 0x565896
cmp dword [0x68f208], 0x1e
jge 0x564c83
imul eax, dword [0x68f208], 0x7530
mov dword [ebp - 0x380], eax
mov ecx, dword [ebp - 0x310]
mov dword [ebp - 0x384], ecx
mov edx, dword [0x68f208]
add edx, 1
mov dword [0x68f208], edx
mov eax, dword [ebp - 0x380]
cmp eax, dword [ebp - 0x384]
jl 0x564d04
push 2
mov ecx, dword [ebp - 0x300]
add ecx, 4
call fcn.0055ab70
mov dword [0x68f208], 1
call fcn.004eadb0
movzx ecx, al
test ecx, ecx
jne 0x564cc3
mov ecx, dword [ebp - 0x300]
call fcn.00551410
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
xor eax, eax
jmp 0x565896
mov edx, dword [ebp - 0x300]
cmp dword [edx + 0x260], 0
jne 0x564cf7
call fcn.00521cb0
mov ecx, eax
call fcn.00526460
movzx eax, al
test eax, eax
je 0x564cf7
mov ecx, dword [ebp - 0x300]
mov edx, dword [ecx + 4]
push edx
call fcn.004eb410
add esp, 4
push 1
mov ecx, dword [ebp - 0x300]
call fcn.0056ecf0
jmp case.default.0x564b7c
mov eax, dword [ebp - 0x300]
mov ecx, dword [eax + 4]
push ecx
push 1
mov ecx, dword [ebp - 0x300]
call fcn.00570a80
jmp case.default.0x564b7c
call fcn.00521cb0
mov ecx, eax
call fcn.00524a20
mov dword [ebp - 0x30c], eax
mov edx, dword [ebp - 0x300]
movzx eax, byte [edx + 0x2bd]
test eax, eax
je 0x564d5a
call fcn.00521cb0
mov ecx, eax
call fcn.00524a70
mov dword [ebp - 0x30c], eax
cmp dword [ebp - 0x30c], 0
jg 0x564d7d
mov ecx, dword [ebp - 0x300]
call fcn.00551410
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
xor eax, eax
jmp 0x565896
cmp dword [0x68f20c], 0x1e
jge 0x564dbd
imul ecx, dword [0x68f20c], 0x7530
mov dword [ebp - 0x364], ecx
mov edx, dword [ebp - 0x30c]
mov dword [ebp - 0x37c], edx
mov eax, dword [0x68f20c]
add eax, 1
mov dword [0x68f20c], eax
mov ecx, dword [ebp - 0x364]
cmp ecx, dword [ebp - 0x37c]
jl 0x564e12
push 5
mov ecx, dword [ebp - 0x300]
add ecx, 4
call fcn.0055ab70
mov dword [0x68f20c], 1
push 0
mov ecx, dword [ebp - 0x300]
call fcn.0056ecf0
mov edx, dword [ebp - 0x300]
mov eax, dword [edx + 4]
push eax
push 0
mov ecx, dword [ebp - 0x300]
call fcn.00570a80
push 0
push 0x190
push 4
mov ecx, dword [ebp - 0x300]
add ecx, 4
call fcn.0056f9e0
jmp case.default.0x564b7c
push 6
mov ecx, dword [ebp - 0x300]
add ecx, 4
call fcn.0055ab70
call fcn.004eadb0
movzx ecx, al
test ecx, ecx
jne 0x564e4d
mov ecx, dword [ebp - 0x300]
call fcn.00551410
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
xor eax, eax
jmp 0x565896
push 1
mov ecx, dword [ebp - 0x300]
call fcn.0056ecf0
jmp case.default.0x564b7c
lea edx, [ebp - 0x230]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x2ec]
push eax
mov ecx, dword [ebp - 0x300]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x22c]
push eax
mov ecx, dword [ebp - 0x230]
push ecx
lea edx, [ebp - 0x2ec]
push edx
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x564ea9
xor eax, eax
jmp 0x565896
mov ecx, dword [ebp - 0x300]
add ecx, 0x21c
call fcn.004ef850
push eax
lea ecx, [ebp - 0x3d8]
call fcn.004ef370
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x300]
mov ecx, dword [eax + 4]
push ecx
lea edx, [ebp - 0x294]
push edx
lea eax, [ebp - 0x3d8]
push eax
call fcn.0053a280
push eax
call fcn.0053a2c0
add esp, 0x10
movzx ecx, al
test ecx, ecx
jne 0x564f06
mov dword [ebp - 0x314], 1
jmp 0x564f10
mov dword [ebp - 0x314], 0
mov dl, byte [ebp - 0x314]
mov byte [ebp - 0x301], dl
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3d8]
call fcn.004ef480
movzx eax, byte [ebp - 0x301]
test eax, eax
je 0x564f95
mov ecx, dword [ebp - 0x300]
add ecx, 0x21c
call fcn.004ef850
push eax
lea ecx, [ebp - 0x3c0]
call fcn.004ef370
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x300]
mov edx, dword [ecx + 4]
push edx
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x3c0]
push ecx
call fcn.0053a210
push eax
call fcn.0053a2c0
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c0]
call fcn.004ef480
mov edx, dword [ebp - 0x22c]
push edx
mov eax, dword [ebp - 0x230]
push eax
lea ecx, [ebp - 0x294]
push ecx
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
jne 0x564fdf
push 7
mov ecx, dword [ebp - 0x300]
add ecx, 4
call fcn.0055ab70
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
mov ecx, dword [ebp - 0x300]
add ecx, 4
call fcn.0056fd00
jmp case.default.0x564b7c
push 8
mov ecx, dword [ebp - 0x300]
add ecx, 4
call fcn.0055ab70
push 0x66dce8
lea ecx, [ebp - 0x26c]
call fcn.004eea50
mov dword [ebp - 4], 2
mov edx, dword [ebp - 0x300]
movzx eax, byte [edx + 0x27c]
test eax, eax
je 0x5650b6
push 0xc
lea ecx, [ebp - 0x23c]
call fcn.00578440
lea ecx, [ebp - 0x23c]
push ecx
call fcn.00521cb0
mov ecx, eax
call fcn.00526a10
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x23c]
call fcn.00578dc0
movzx edx, al
test edx, edx
je 0x56508c
mov dword [ebp - 0x36c], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x23c]
call fcn.0052c5d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x26c]
call fcn.004eeb60
mov eax, dword [ebp - 0x36c]
jmp 0x565896
push 0
lea ecx, [ebp - 0x23c]
call fcn.0054b0f0
push eax
lea ecx, [ebp - 0x26c]
call fcn.004eeb90
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x23c]
call fcn.0052c5d0
jmp 0x5650f2
lea eax, [ebp - 0x948]
push eax
call fcn.00521cb0
mov ecx, eax
call fcn.00524d10
mov dword [ebp - 0x38c], eax
mov ecx, dword [ebp - 0x38c]
add ecx, 0x350
push ecx
lea ecx, [ebp - 0x26c]
call fcn.004eeb20
lea ecx, [ebp - 0x948]
call fcn.0052c5f0
lea ecx, [ebp - 0x26c]
call fcn.004eed70
movzx edx, al
test edx, edx
je 0x56512b
mov dword [ebp - 0x31c], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x26c]
call fcn.004eeb60
mov eax, dword [ebp - 0x31c]
jmp 0x565896
push 0xc
lea ecx, [ebp - 0x248]
call fcn.004e2570
lea ecx, [ebp - 0x248]
call fcn.004f6b10
mov byte [ebp - 4], 4
mov byte [ebp - 0x218], 0
push 0x103
push 0
lea eax, [ebp - 0x217]
push eax
call fcn.005c63d0
add esp, 0xc
lea ecx, [ebp - 0x218]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea edx, [ebp - 0x4f8]
push edx
call fcn.004e72e0
add esp, 4
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x324]
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x32c]
call fcn.004ef850
push eax
lea ecx, [ebp - 0x420]
push ecx
call fcn.004e2fe0
add esp, 8
mov dword [ebp - 0x334], eax
mov edx, dword [ebp - 0x334]
mov dword [ebp - 0x33c], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x33c]
push eax
lea ecx, [ebp - 0x218]
push ecx
lea ecx, [ebp - 0x4b0]
call fcn.004eea50
mov dword [ebp - 0x344], eax
mov edx, dword [ebp - 0x344]
mov dword [ebp - 0x34c], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x34c]
push eax
lea ecx, [ebp - 0x4e0]
push ecx
call fcn.0053faa0
add esp, 0xc
mov dword [ebp - 0x354], eax
mov edx, dword [ebp - 0x354]
push edx
mov ecx, dword [ebp - 0x300]
add ecx, 0x264
call fcn.004eeb20
lea ecx, [ebp - 0x4e0]
call fcn.004eeb60
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x4b0]
call fcn.004eeb60
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x420]
call fcn.004eeb60
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4f8]
call fcn.004ef480
mov eax, dword [ebp - 0x300]
add eax, 0x264
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x394], esp
push eax
call fcn.004ee9d0
mov dword [ebp - 0x3a4], eax
lea ecx, [ebp - 0x26c]
push ecx
lea ecx, [ebp - 0x248]
call fcn.004f70a0
mov dword [ebp - 0x388], eax
mov edx, dword [ebp - 0x388]
mov dword [ebp - 0x390], edx
cmp dword [ebp - 0x390], 0
je 0x5652cc
push 0x66dce8
mov ecx, dword [ebp - 0x300]
add ecx, 0x264
call fcn.004eebb0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x248]
call fcn.004f6b30
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x26c]
call fcn.004eeb60
jmp case.default.0x564b7c
mov eax, dword [ebp - 0x300]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x300]
mov eax, dword [edx + 0x2b8]
lea ecx, [eax + ecx*2 + 6]
push ecx
mov edx, dword [ebp - 0x300]
mov eax, dword [edx + 0x2b4]
mov ecx, dword [ebp - 0x300]
mov edx, dword [ecx + 0x58]
lea eax, [eax + edx + 0x14]
push eax
mov ecx, dword [ebp - 0x300]
mov edx, dword [ecx + 0x2b8]
push edx
mov eax, dword [ebp - 0x300]
mov ecx, dword [eax + 0x2b4]
push ecx
lea ecx, [ebp - 0x2fc]
call fcn.00535990
lea edx, [ebp - 0x228]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 0x224]
mov dword [ebp - 0x21c], ecx
lea edx, [ebp - 0x220]
push edx
mov ecx, dword [ebp - 0x300]
add ecx, 4
call fcn.00533a60
mov eax, dword [ebp - 0x21c]
push eax
mov ecx, dword [ebp - 0x220]
push ecx
mov ecx, dword [ebp - 0x300]
add ecx, 0x234
call fcn.00536ac0
test eax, eax
je 0x5653aa
jmp 0x5653fc
mov edx, dword [ebp - 0x224]
push edx
mov eax, dword [ebp - 0x228]
push eax
lea ecx, [ebp - 0x2fc]
call fcn.00536ac0
test eax, eax
je 0x5653cb
jmp 0x5653fc
mov ecx, dword [ebp + 0x10]
push ecx
push 2
push 0xa1
mov ecx, dword [ebp - 0x300]
add ecx, 4
call fcn.00568d80
push 9
mov ecx, dword [ebp - 0x300]
add ecx, 4
call fcn.0055ab70
xor edx, edx
jne case.0x564b7c.8
jmp case.default.0x564b7c
cmp dword [0x68f210], 0xe10
jle 0x565436
push 0xa
mov ecx, dword [ebp - 0x300]
add ecx, 4
call fcn.0055ab70
push 0
push 0x64
push 1
mov ecx, dword [ebp - 0x300]
add ecx, 4
call fcn.0056f9e0
jmp case.default.0x564b7c
mov eax, dword [ebp - 0x300]
movzx ecx, byte [eax + 0x2bc]
test ecx, ecx
jne 0x5654ae
push str.FlashHelperTips2th
lea ecx, [ebp - 0x408]
call fcn.004ef370
mov dword [ebp - 4], 8
lea edx, [ebp - 0x408]
push edx
call fcn.004edfc0
add esp, 4
mov dword [ebp - 0x35c], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x408]
call fcn.004ef480
cmp dword [ebp - 0x35c], 0
je 0x56549d
mov eax, dword [ebp - 0x300]
mov byte [eax + 0x2bc], 1
jmp 0x5654ac
mov ecx, dword [0x68f210]
add ecx, 1
mov dword [0x68f210], ecx
jmp 0x56551e
push str.FlashHelperTips2th
lea ecx, [ebp - 0x3f0]
call fcn.004ef370
mov dword [ebp - 4], 9
lea edx, [ebp - 0x3f0]
push edx
call fcn.004edfc0
add esp, 4
mov dword [ebp - 0x320], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3f0]
call fcn.004ef480
cmp dword [ebp - 0x320], 0
jne 0x56551e
push 0xa
mov ecx, dword [ebp - 0x300]
add ecx, 4
call fcn.0055ab70
push 0
push 0x64
push 1
mov ecx, dword [ebp - 0x300]
add ecx, 4
call fcn.0056f9e0
jmp case.default.0x564b7c
jmp case.default.0x564b7c
push 0xb
mov ecx, dword [ebp - 0x300]
add ecx, 4
call fcn.0055ab70
push 0x66dce8
lea ecx, [ebp - 0x284]
call fcn.004eea50
mov dword [ebp - 4], 0xa
lea eax, [ebp - 0x468]
push eax
call fcn.00521cb0
mov ecx, eax
call fcn.00524ac0
mov dword [ebp - 0x374], eax
mov ecx, dword [ebp - 0x374]
push ecx
lea ecx, [ebp - 0x284]
call fcn.004eeb20
lea ecx, [ebp - 0x468]
call fcn.004eeb60
lea edx, [ebp - 0x2ac]
push edx
call fcn.00521cb0
mov ecx, eax
call fcn.00524b00
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2ac]
call fcn.004eed50
push eax
lea eax, [ebp - 0x4c8]
push eax
call fcn.004e3070
add esp, 8
mov dword [ebp - 0x328], eax
mov ecx, dword [ebp - 0x328]
push ecx
mov ecx, dword [ebp - 0x300]
add ecx, 0x21c
call fcn.004ef440
lea ecx, [ebp - 0x4c8]
call fcn.004ef480
lea ecx, [ebp - 0x284]
call fcn.004eed70
movzx edx, al
test edx, edx
je 0x565623
mov dword [ebp - 0x358], 0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2ac]
call fcn.004eeb60
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x284]
call fcn.004eeb60
mov eax, dword [ebp - 0x358]
jmp 0x565896
push 0xc
lea ecx, [ebp - 0x254]
call fcn.004e2570
lea ecx, [ebp - 0x254]
call fcn.004f6b10
mov byte [ebp - 4], 0xc
mov byte [ebp - 0x114], 0
push 0x103
push 0
lea eax, [ebp - 0x113]
push eax
call fcn.005c63d0
add esp, 0xc
lea ecx, [ebp - 0x114]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push str._tray.ico
lea edx, [ebp - 0x480]
push edx
call fcn.004e72e0
add esp, 4
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0x330]
mov dword [ebp - 0x360], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x360]
call fcn.004ef850
push eax
lea ecx, [ebp - 0x450]
push ecx
call fcn.004e2fe0
add esp, 8
mov dword [ebp - 0x338], eax
mov edx, dword [ebp - 0x338]
mov dword [ebp - 0x368], edx
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x368]
push eax
lea ecx, [ebp - 0x114]
push ecx
lea ecx, [ebp - 0x438]
call fcn.004eea50
mov dword [ebp - 0x340], eax
mov edx, dword [ebp - 0x340]
mov dword [ebp - 0x370], edx
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x370]
push eax
lea ecx, [ebp - 0x498]
push ecx
call fcn.0053faa0
add esp, 0xc
mov dword [ebp - 0x348], eax
mov edx, dword [ebp - 0x348]
mov dword [ebp - 0x378], edx
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x378]
push eax
lea ecx, [ebp - 0x2c4]
push ecx
call fcn.004f9c60
add esp, 0xc
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x498]
call fcn.004eeb60
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x438]
call fcn.004eeb60
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x450]
call fcn.004eeb60
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x480]
call fcn.004ef480
lea ecx, [ebp - 0x2c4]
call fcn.004eed50
push eax
lea edx, [ebp - 0x2dc]
push edx
call fcn.004e3070
add esp, 8
mov byte [ebp - 4], 0x16
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x398], esp
lea eax, [ebp - 0x2dc]
push eax
call fcn.004ef320
mov dword [ebp - 0x39c], eax
call fcn.004e6150
mov ecx, esp
mov dword [ebp - 0x3a0], esp
lea edx, [ebp - 0x2c4]
push edx
call fcn.004ee9d0
mov dword [ebp - 0x3a8], eax
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x254]
call fcn.004f70a0
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x350]
mov dword [ebp - 0x318], ecx
cmp dword [ebp - 0x318], 0
jne 0x565834
push 0x2010
push 0
push 0
push 1
lea ecx, [ebp - 0x2dc]
call fcn.004ef850
push eax
mov ecx, 0x69f4e0
call fcn.005568f0
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov edx, dword [ebp - 0x300]
mov dword [edx + 0x258], eax
jmp 0x565846
push str.icon
push str.C:_tipslog.txt
call fcn.004e2db0
add esp, 8
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x2dc]
call fcn.004ef480
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x2c4]
call fcn.004eeb60
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x254]
call fcn.004f6b30
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2ac]
call fcn.004eeb60
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x284]
call fcn.004eeb60
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005c6c09
mov esp, ebp
pop ebp
ret 0x10